File: //opt/go/pkg/mod/github.com/aws/
[email protected]/service/lexruntimeservice/cust_jsonvalue_test.go
//go:build go1.7
// +build go1.7
package lexruntimeservice_test
import (
"context"
"encoding/base64"
"io/ioutil"
"net/http"
"strings"
"testing"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/awstesting/unit"
"github.com/aws/aws-sdk-go/service/lexruntimeservice"
)
func TestLexRunTimeService_suppressedJSONValue(t *testing.T) {
sess := unit.Session.Copy()
client := lexruntimeservice.New(sess, &aws.Config{
DisableParamValidation: aws.Bool(true),
})
expectBase64ActiveContexts := base64.StdEncoding.EncodeToString([]byte(`{}`))
var actualInputActiveContexts string
result, err := client.PostContentWithContext(context.Background(),
&lexruntimeservice.PostContentInput{
ActiveContexts: aws.String(`{}`),
},
func(r *request.Request) {
r.Handlers.Send.Clear()
r.Handlers.Send.PushBack(func(r *request.Request) {
actualInputActiveContexts = r.HTTPRequest.Header.Get("x-amz-lex-active-contexts")
r.HTTPResponse = &http.Response{
StatusCode: 200,
Header: func() http.Header {
h := http.Header{}
h.Set("x-amz-lex-active-contexts", expectBase64ActiveContexts)
return h
}(),
ContentLength: 2,
Body: ioutil.NopCloser(strings.NewReader(`{}`)),
}
})
},
)
if err != nil {
t.Fatalf("failed to invoke operation, %v", err)
}
if e, a := expectBase64ActiveContexts, actualInputActiveContexts; e != a {
t.Errorf("expect %v input active contexts, got %v", e, a)
}
if result.ActiveContexts == nil {
t.Errorf("expect active contexts, got none")
}
if e, a := `{}`, *result.ActiveContexts; e != a {
t.Errorf("expect %v output active contexts, got %v", e, a)
}
}