mirror of
				https://github.com/caddyserver/caddy.git
				synced 2025-10-31 10:37:24 -04:00 
			
		
		
		
	* run caddy tests in process * call main with run args * exclude tests - windows * include json example * disable caddyfile tests, include json test with non trusted local ca * converted SNI tests to json syntax
		
			
				
	
	
		
			69 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package integration
 | |
| 
 | |
| import (
 | |
| 	"testing"
 | |
| 
 | |
| 	"github.com/caddyserver/caddy/v2/caddytest"
 | |
| )
 | |
| 
 | |
| func TestRespond(t *testing.T) {
 | |
| 
 | |
| 	// arrange
 | |
| 	caddytest.InitServer(t, ` 
 | |
|   {
 | |
|     http_port     9080
 | |
|     https_port    9443
 | |
|   }
 | |
|   
 | |
|   localhost:9080 {
 | |
|     respond /version 200 {
 | |
|       body "hello from localhost"
 | |
|     }	
 | |
|     }
 | |
|   `, "caddyfile")
 | |
| 
 | |
| 	// act and assert
 | |
| 	caddytest.AssertGetResponse(t, "http://localhost:9080/version", 200, "hello from localhost")
 | |
| }
 | |
| 
 | |
| func TestRedirect(t *testing.T) {
 | |
| 
 | |
| 	// arrange
 | |
| 	caddytest.InitServer(t, `
 | |
|   {
 | |
|     http_port     9080
 | |
|     https_port    9443
 | |
|   }
 | |
|   
 | |
|   localhost:9080 {
 | |
|     
 | |
|     redir / http://localhost:9080/hello 301
 | |
|     
 | |
|     respond /hello 200 {
 | |
|       body "hello from localhost"
 | |
|     }	
 | |
|     }
 | |
|   `, "caddyfile")
 | |
| 
 | |
| 	// act and assert
 | |
| 	caddytest.AssertRedirect(t, "http://localhost:9080/", "http://localhost:9080/hello", 301)
 | |
| 
 | |
| 	// follow redirect
 | |
| 	caddytest.AssertGetResponse(t, "http://localhost:9080/", 200, "hello from localhost")
 | |
| }
 | |
| 
 | |
| func TestDuplicateHosts(t *testing.T) {
 | |
| 
 | |
| 	// act and assert
 | |
| 	caddytest.AssertLoadError(t,
 | |
| 		`
 | |
|     localhost:9080 {
 | |
|     }
 | |
|   
 | |
|     localhost:9080 { 
 | |
|     }
 | |
|     `,
 | |
| 		"caddyfile",
 | |
| 		"duplicate site address not allowed")
 | |
| }
 |