* Places the CommonResponse struct at the end of all IAM responses, rather than the start. * iam: fix error response request id layout * iam: add XML ordering regression test * iam: share request id generation --------- Co-authored-by: Aaron Segal <aaron.segal@rpsolutions.com> Co-authored-by: Chris Lu <chris.lu@gmail.com>
27 lines
768 B
Go
27 lines
768 B
Go
package iam
|
|
|
|
import (
|
|
"encoding/xml"
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestListUsersResponseXMLOrdering(t *testing.T) {
|
|
resp := ListUsersResponse{}
|
|
resp.SetRequestId()
|
|
|
|
output, err := xml.Marshal(resp)
|
|
require.NoError(t, err)
|
|
|
|
xmlString := string(output)
|
|
listUsersResultIndex := strings.Index(xmlString, "<ListUsersResult>")
|
|
responseMetadataIndex := strings.Index(xmlString, "<ResponseMetadata>")
|
|
|
|
assert.NotEqual(t, -1, listUsersResultIndex, "ListUsersResult should be present")
|
|
assert.NotEqual(t, -1, responseMetadataIndex, "ResponseMetadata should be present")
|
|
assert.Less(t, listUsersResultIndex, responseMetadataIndex, "ListUsersResult should appear before ResponseMetadata")
|
|
}
|