in client/validate.go [136:165]
func (v validator) validateHTTP(url string) error {
type test struct {
Res string `json:"res"`
}
want := test{Res: "PASS"}
req, err := json.Marshal(want)
if err != nil {
return fmt.Errorf("failed to marshal json: %v", err)
}
if _, err := sendHTTP(url, req); err != nil {
return fmt.Errorf("failed to get response from HTTP function: %v", err)
}
output, err := v.funcServer.OutputFile()
if err != nil {
return fmt.Errorf("reading output file from HTTP function: %v", err)
}
got := test{}
if err = json.Unmarshal(output, &got); err != nil {
return fmt.Errorf("failed to unmarshal function output JSON: %v, function output: %q", err, output)
}
if !cmp.Equal(got, want) {
return fmt.Errorf("unexpected HTTP output data (format does not matter), got: %s, want: %s", output, req)
}
return nil
}