62 lines
1.6 KiB
Go
62 lines
1.6 KiB
Go
package godo
|
|
|
|
import (
|
|
"fmt"
|
|
"net/http"
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
func TestAccountGet(t *testing.T) {
|
|
setup()
|
|
defer teardown()
|
|
|
|
mux.HandleFunc("/v2/account", func(w http.ResponseWriter, r *http.Request) {
|
|
testMethod(t, r, http.MethodGet)
|
|
|
|
response := `
|
|
{ "account": {
|
|
"droplet_limit": 25,
|
|
"floating_ip_limit": 25,
|
|
"volume_limit": 22,
|
|
"email": "sammy@digitalocean.com",
|
|
"uuid": "b6fr89dbf6d9156cace5f3c78dc9851d957381ef",
|
|
"email_verified": true
|
|
}
|
|
}`
|
|
|
|
fmt.Fprint(w, response)
|
|
})
|
|
|
|
acct, _, err := client.Account.Get(ctx)
|
|
if err != nil {
|
|
t.Errorf("Account.Get returned error: %v", err)
|
|
}
|
|
|
|
expected := &Account{DropletLimit: 25, FloatingIPLimit: 25, Email: "sammy@digitalocean.com",
|
|
UUID: "b6fr89dbf6d9156cace5f3c78dc9851d957381ef", EmailVerified: true, VolumeLimit: 22}
|
|
if !reflect.DeepEqual(acct, expected) {
|
|
t.Errorf("Account.Get returned %+v, expected %+v", acct, expected)
|
|
}
|
|
}
|
|
|
|
func TestAccountString(t *testing.T) {
|
|
acct := &Account{
|
|
DropletLimit: 25,
|
|
FloatingIPLimit: 25,
|
|
Email: "sammy@digitalocean.com",
|
|
UUID: "b6fr89dbf6d9156cace5f3c78dc9851d957381ef",
|
|
EmailVerified: true,
|
|
Status: "active",
|
|
StatusMessage: "message",
|
|
VolumeLimit: 22,
|
|
}
|
|
|
|
stringified := acct.String()
|
|
expected := `godo.Account{DropletLimit:25, FloatingIPLimit:25, VolumeLimit:22, Email:"sammy@digitalocean.com", UUID:"b6fr89dbf6d9156cace5f3c78dc9851d957381ef", EmailVerified:true, Status:"active", StatusMessage:"message"}`
|
|
if expected != stringified {
|
|
t.Errorf("Account.String returned %+v, expected %+v", stringified, expected)
|
|
}
|
|
|
|
}
|