github.com/smartcontractkit/chainlink-testing-framework/libs@v0.0.0-20240227141906-ec710b4eb1a3/docker/test_env/mockserver_test.go (about) 1 package test_env 2 3 import ( 4 "bytes" 5 "fmt" 6 "net/http" 7 "testing" 8 "time" 9 10 "github.com/stretchr/testify/require" 11 12 "github.com/smartcontractkit/chainlink-testing-framework/libs/docker" 13 "github.com/smartcontractkit/chainlink-testing-framework/libs/logging" 14 ) 15 16 func TestMockServerSetStringValue(t *testing.T) { 17 l := logging.GetTestLogger(t) 18 network, err := docker.CreateNetwork(l) 19 require.NoError(t, err) 20 21 m := NewMockServer([]string{network.Name}). 22 WithTestInstance(t) 23 err = m.StartContainer() 24 require.NoError(t, err) 25 26 expected := "bar" 27 path := "/foo" 28 err = m.Client.SetStringValuePath(path, expected) 29 require.NoError(t, err) 30 31 url := fmt.Sprintf("%s%s", m.Client.LocalURL(), path) 32 client := &http.Client{ 33 Timeout: 10 * time.Second, 34 } 35 36 resp, err := client.Get(url) 37 require.NoError(t, err) 38 defer resp.Body.Close() 39 require.Equal(t, http.StatusOK, resp.StatusCode) 40 41 buf := new(bytes.Buffer) 42 _, err = buf.ReadFrom(resp.Body) 43 require.NoError(t, err) 44 45 responseString := buf.String() 46 require.Equal(t, expected, responseString) 47 }