| package instances |
| |
| import ( |
| "testing" |
| |
| "github.com/rackspace/gophercloud" |
| os "github.com/rackspace/gophercloud/openstack/db/v1/instances" |
| th "github.com/rackspace/gophercloud/testhelper" |
| fake "github.com/rackspace/gophercloud/testhelper/client" |
| ) |
| |
| var instanceID = "d4603f69-ec7e-4e9b-803f-600b9205576f" |
| |
| var expectedInstance = &Instance{ |
| Created: "2014-02-13T21:47:13", |
| Updated: "2014-02-13T21:47:13", |
| Datastore: Datastore{Type: "mysql", Version: "5.6"}, |
| Flavor: os.Flavor{ |
| ID: "1", |
| Links: []gophercloud.Link{ |
| gophercloud.Link{Href: "https://ord.databases.api.rackspacecloud.com/v1.0/1234/flavors/1", Rel: "self"}, |
| gophercloud.Link{Href: "https://ord.databases.api.rackspacecloud.com/v1.0/1234/flavors/1", Rel: "bookmark"}, |
| }, |
| }, |
| Hostname: "e09ad9a3f73309469cf1f43d11e79549caf9acf2.rackspaceclouddb.com", |
| ID: instanceID, |
| Links: []gophercloud.Link{ |
| gophercloud.Link{Href: "https://ord.databases.api.rackspacecloud.com/v1.0/1234/flavors/1", Rel: "self"}, |
| }, |
| Name: "json_rack_instance", |
| Status: "BUILD", |
| Volume: os.Volume{Size: 2}, |
| } |
| |
| func TestCreate(t *testing.T) { |
| th.SetupHTTP() |
| defer th.TeardownHTTP() |
| |
| HandleCreateInstanceSuccessfully(t) |
| |
| opts := CreateOpts{ |
| Name: "json_rack_instance", |
| FlavorRef: "1", |
| Databases: os.DatabasesOpts{ |
| os.DatabaseOpts{CharSet: "utf8", Collate: "utf8_general_ci", Name: "sampledb"}, |
| os.DatabaseOpts{Name: "nextround"}, |
| }, |
| Users: os.UsersOpts{ |
| os.UserOpts{ |
| Name: "demouser", |
| Password: "demopassword", |
| Databases: os.DatabasesOpts{ |
| os.DatabaseOpts{Name: "sampledb"}, |
| }, |
| }, |
| }, |
| Size: 2, |
| RestorePoint: "1234567890", |
| } |
| |
| instance, err := Create(fake.ServiceClient(), opts).Extract() |
| |
| th.AssertNoErr(t, err) |
| th.AssertDeepEquals(t, expectedInstance, instance) |
| } |
| |
| func TestGet(t *testing.T) { |
| th.SetupHTTP() |
| defer th.TeardownHTTP() |
| |
| HandleGetInstanceSuccessfully(t, instanceID) |
| |
| instance, err := Get(fake.ServiceClient(), instanceID).Extract() |
| |
| th.AssertNoErr(t, err) |
| th.AssertDeepEquals(t, expectedInstance, instance) |
| } |