29 lines
702 B
Go
29 lines
702 B
Go
|
|
package client
|
||
|
|
|
||
|
|
import (
|
||
|
|
"encoding/xml"
|
||
|
|
"testing"
|
||
|
|
)
|
||
|
|
|
||
|
|
func TestListUserAccountsResultUnmarshal(t *testing.T) {
|
||
|
|
body := []byte(`<ListUserAccountsResult>
|
||
|
|
<Accounts>
|
||
|
|
<Access>canary</Access>
|
||
|
|
<Role>user</Role>
|
||
|
|
<UserID>0</UserID>
|
||
|
|
<GroupID>0</GroupID>
|
||
|
|
<ProjectID>0</ProjectID>
|
||
|
|
</Accounts>
|
||
|
|
</ListUserAccountsResult>`)
|
||
|
|
|
||
|
|
var result ListUserAccountsResult
|
||
|
|
if err := xml.Unmarshal(body, &result); err != nil {
|
||
|
|
t.Fatalf("unmarshal list-users response: %v", err)
|
||
|
|
}
|
||
|
|
if len(result.Accounts) != 1 {
|
||
|
|
t.Fatalf("expected 1 account, got %d", len(result.Accounts))
|
||
|
|
}
|
||
|
|
if result.Accounts[0].Access != "canary" {
|
||
|
|
t.Fatalf("expected canary account, got %q", result.Accounts[0].Access)
|
||
|
|
}
|
||
|
|
}
|