MCPcopy Create free account
hub / github.com/aws/smithy-go / TestGetResponseErrorCode

Function TestGetResponseErrorCode

encoding/xml/error_utils_test.go:10–62  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

8)
9
10func TestGetResponseErrorCode(t *testing.T) {
11 cases := map[string]struct {
12 errorResponse io.Reader
13 noErrorWrappingEnabled bool
14 expectedErrorCode string
15 expectedErrorMessage string
16 }{
17 "no error wrapping enabled": {
18 errorResponse: bytes.NewReader([]byte(`<ErrorResponse>
19 <Error>
20 <Type>Sender</Type>
21 <Code>InvalidGreeting</Code>
22 <Message>Hi</Message>
23 <AnotherSetting>setting</AnotherSetting>
24 </Error>
25 <RequestId>foo-id</RequestId>
26</ErrorResponse>`)),
27 expectedErrorCode: "InvalidGreeting",
28 expectedErrorMessage: "Hi",
29 },
30 "no error wrapping disabled": {
31 errorResponse: bytes.NewReader([]byte(`<ErrorResponse>
32 <Type>Sender</Type>
33 <Code>InvalidGreeting</Code>
34 <Message>Hi</Message>
35 <AnotherSetting>setting</AnotherSetting>
36 <RequestId>foo-id</RequestId>
37</ErrorResponse>`)),
38 noErrorWrappingEnabled: true,
39 expectedErrorCode: "InvalidGreeting",
40 expectedErrorMessage: "Hi",
41 },
42 "no response body": {
43 errorResponse: bytes.NewReader([]byte(``)),
44 },
45 }
46
47 for name, c := range cases {
48 t.Run(name, func(t *testing.T) {
49 ec, err := GetErrorResponseComponents(c.errorResponse, c.noErrorWrappingEnabled)
50 if err != nil {
51 t.Fatalf("expected no error, got %v", err)
52 }
53
54 if e, a := c.expectedErrorCode, ec.Code; !strings.EqualFold(e, a) {
55 t.Fatalf("expected %v, got %v", e, a)
56 }
57 if e, a := c.expectedErrorMessage, ec.Message; !strings.EqualFold(e, a) {
58 t.Fatalf("expected %v, got %v", e, a)
59 }
60 })
61 }
62}

Callers

nothing calls this directly

Calls 1

Tested by

no test coverage detected