func()

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
}