mirror of
				https://github.com/caddyserver/caddy.git
				synced 2025-10-31 18:47:20 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			60 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package integration
 | |
| 
 | |
| import (
 | |
| 	"bytes"
 | |
| 	"net/http"
 | |
| 	"testing"
 | |
| 
 | |
| 	"github.com/caddyserver/caddy/v2/caddytest"
 | |
| )
 | |
| 
 | |
| func TestBrowse(t *testing.T) {
 | |
| 	tester := caddytest.NewTester(t)
 | |
| 	tester.InitServer(`
 | |
| 	{
 | |
| 		skip_install_trust
 | |
| 		admin localhost:2999
 | |
| 		http_port     9080
 | |
| 		https_port    9443
 | |
| 		grace_period  1ns
 | |
| 	}
 | |
| 	http://localhost:9080 {
 | |
| 		file_server browse
 | |
| 	}
 | |
|   `, "caddyfile")
 | |
| 
 | |
| 	req, err := http.NewRequest(http.MethodGet, "http://localhost:9080/", nil)
 | |
| 	if err != nil {
 | |
| 		t.Fail()
 | |
| 		return
 | |
| 	}
 | |
| 	tester.AssertResponseCode(req, 200)
 | |
| }
 | |
| 
 | |
| func TestRespondWithJSON(t *testing.T) {
 | |
| 	tester := caddytest.NewTester(t)
 | |
| 	tester.InitServer(`
 | |
| 	{
 | |
| 		skip_install_trust
 | |
| 		admin localhost:2999
 | |
| 		http_port     9080
 | |
| 		https_port    9443
 | |
| 		grace_period  1ns
 | |
| 	}
 | |
| 	localhost {
 | |
| 		respond {http.request.body}
 | |
| 	}
 | |
|   `, "caddyfile")
 | |
| 
 | |
| 	res, _ := tester.AssertPostResponseBody("https://localhost:9443/",
 | |
| 		nil,
 | |
| 		bytes.NewBufferString(`{
 | |
| 		"greeting": "Hello, world!"
 | |
| 	}`), 200, `{
 | |
| 		"greeting": "Hello, world!"
 | |
| 	}`)
 | |
| 	if res.Header.Get("Content-Type") != "application/json" {
 | |
| 		t.Errorf("expected Content-Type to be application/json, but was %s", res.Header.Get("Content-Type"))
 | |
| 	}
 | |
| }
 |