blob: dedbfbb93c7b779cc3f3415918a48e39457abc09 [file] [log] [blame]
Jamie Hannaford9fdda582015-02-10 12:15:43 +01001package instances
2
3import (
4 "fmt"
Jamie Hannaford9fdda582015-02-10 12:15:43 +01005
Jamie Hannafordd3a78ef2015-02-18 12:17:16 +01006 "github.com/rackspace/gophercloud"
Jamie Hannaford9fdda582015-02-10 12:15:43 +01007)
8
Jamie Hannafordd3a78ef2015-02-18 12:17:16 +01009const instance = `
10{
11 "created": "2014-02-13T21:47:13",
12 "datastore": {
13 "type": "mysql",
14 "version": "5.6"
15 },
16 "flavor": {
17 "id": "1",
18 "links": [
19 {
20 "href": "https://my-openstack.com/v1.0/1234/flavors/1",
21 "rel": "self"
22 },
23 {
24 "href": "https://my-openstack.com/v1.0/1234/flavors/1",
25 "rel": "bookmark"
26 }
27 ]
28 },
29 "links": [
30 {
31 "href": "https://my-openstack.com/v1.0/1234/instances/1",
32 "rel": "self"
33 }
34 ],
35 "hostname": "e09ad9a3f73309469cf1f43d11e79549caf9acf2.my-openstack.com",
36 "id": "{instanceID}",
37 "name": "json_rack_instance",
38 "status": "BUILD",
39 "updated": "2014-02-13T21:47:13",
40 "volume": {
41 "size": 2
42 }
43}
44`
45
46var createReq = `
Jamie Hannaford821015f2015-02-10 12:58:36 +010047{
48 "instance": {
Jamie Hannafordd3a78ef2015-02-18 12:17:16 +010049 "databases": [
Jamie Hannaford821015f2015-02-10 12:58:36 +010050 {
Jamie Hannafordd3a78ef2015-02-18 12:17:16 +010051 "character_set": "utf8",
52 "collate": "utf8_general_ci",
53 "name": "sampledb"
54 },
55 {
56 "name": "nextround"
Jamie Hannaford821015f2015-02-10 12:58:36 +010057 }
58 ],
Jamie Hannafordd3a78ef2015-02-18 12:17:16 +010059 "flavorRef": "1",
Jamie Hannaford821015f2015-02-10 12:58:36 +010060 "name": "json_rack_instance",
Jamie Hannafordd3a78ef2015-02-18 12:17:16 +010061 "users": [
62 {
63 "databases": [
64 {
65 "name": "sampledb"
66 }
67 ],
68 "name": "demouser",
69 "password": "demopassword"
70 }
71 ],
Jamie Hannaford821015f2015-02-10 12:58:36 +010072 "volume": {
73 "size": 2
74 }
75 }
76}
77`
78
Jamie Hannafordd3a78ef2015-02-18 12:17:16 +010079var (
80 restartReq = `{"restart": true}`
81 resizeReq = `{"resize": {"flavorRef": "2"}}`
82 resizeVolReq = `{"resize": {"volume": {"size": 4}}}`
83)
Jamie Hannaford9fdda582015-02-10 12:15:43 +010084
Jamie Hannafordd3a78ef2015-02-18 12:17:16 +010085var (
86 createResp = fmt.Sprintf(`{"instance": %s}`, instance)
87 listInstancesResp = fmt.Sprintf(`{"instances":[%s]}`, instance)
88 getInstanceResp = createResp
89 enableUserResp = `{"user":{"name":"root","password":"secretsecret"}}`
90 isUserEnabledResp = `{"rootEnabled":true}`
91)
Jamie Hannaford9fdda582015-02-10 12:15:43 +010092
Jamie Hannafordd3a78ef2015-02-18 12:17:16 +010093var expectedInstance = Instance{
94 Created: "2014-02-13T21:47:13",
95 Updated: "2014-02-13T21:47:13",
96 Flavor: Flavor{
97 ID: "1",
98 Links: []gophercloud.Link{
99 gophercloud.Link{Href: "https://my-openstack.com/v1.0/1234/flavors/1", Rel: "self"},
100 gophercloud.Link{Href: "https://my-openstack.com/v1.0/1234/flavors/1", Rel: "bookmark"},
101 },
102 },
103 Hostname: "e09ad9a3f73309469cf1f43d11e79549caf9acf2.my-openstack.com",
104 ID: instanceID,
105 Links: []gophercloud.Link{
106 gophercloud.Link{Href: "https://my-openstack.com/v1.0/1234/instances/1", Rel: "self"},
107 },
108 Name: "json_rack_instance",
109 Status: "BUILD",
110 Volume: Volume{Size: 2},
Jamie Hannaford219ca592015-02-10 15:59:05 +0100111}