github.com/vseinstrumentiru/lego@v1.0.2/internal/lego/build/handler_test.go (about) 1 package build 2 3 import ( 4 "encoding/json" 5 "net/http/httptest" 6 "runtime" 7 "testing" 8 9 "github.com/stretchr/testify/assert" 10 ) 11 12 func TestHandler(t *testing.T) { 13 buildinfo := New("version", "commit", "date") 14 15 server := httptest.NewServer(Handler(buildinfo)) 16 defer server.Close() 17 18 resp, err := server.Client().Get(server.URL) 19 if err != nil { 20 t.Fatal(err) 21 } 22 defer resp.Body.Close() 23 24 var actualFields map[string]interface{} 25 26 decoder := json.NewDecoder(resp.Body) 27 28 err = decoder.Decode(&actualFields) 29 if err != nil { 30 t.Fatal(err) 31 } 32 33 expectedFields := map[string]interface{}{ 34 "version": "version", 35 "commit_hash": "commit", 36 "build_date": "date", 37 "go_version": runtime.Version(), 38 "os": runtime.GOOS, 39 "arch": runtime.GOARCH, 40 "compiler": runtime.Compiler, 41 } 42 43 assert.Equal(t, expectedFields, actualFields) 44 }