forked from gophercloud/gophercloud
-
Notifications
You must be signed in to change notification settings - Fork 0
/
fixtures.go
106 lines (97 loc) · 3.07 KB
/
fixtures.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
package testing
import (
"fmt"
"math"
"net/http"
"testing"
"github.com/gophercloud/gophercloud/openstack/blockstorage/extensions/schedulerstats"
"github.com/gophercloud/gophercloud/testhelper"
"github.com/gophercloud/gophercloud/testhelper/client"
)
const StoragePoolsListBody = `
{
"pools": [
{
"name": "rbd:cinder.volumes.ssd@cinder.volumes.ssd#cinder.volumes.ssd"
},
{
"name": "rbd:cinder.volumes.hdd@cinder.volumes#cinder.volumes.hdd"
}
]
}
`
const StoragePoolsListBodyDetail = `
{
"pools": [
{
"capabilities": {
"driver_version": "1.2.0",
"filter_function": null,
"free_capacity_gb": 64765,
"goodness_function": null,
"multiattach": false,
"reserved_percentage": 0,
"storage_protocol": "ceph",
"timestamp": "2016-11-24T10:33:51.248360",
"total_capacity_gb": 787947.93,
"vendor_name": "Open Source",
"volume_backend_name": "cinder.volumes.ssd"
},
"name": "rbd:cinder.volumes.ssd@cinder.volumes.ssd#cinder.volumes.ssd"
},
{
"capabilities": {
"driver_version": "1.2.0",
"filter_function": null,
"free_capacity_gb": "unknown",
"goodness_function": null,
"multiattach": false,
"reserved_percentage": 0,
"storage_protocol": "ceph",
"timestamp": "2016-11-24T10:33:43.138628",
"total_capacity_gb": "infinite",
"vendor_name": "Open Source",
"volume_backend_name": "cinder.volumes.hdd"
},
"name": "rbd:cinder.volumes.hdd@cinder.volumes.hdd#cinder.volumes.hdd"
}
]
}
`
var (
StoragePoolFake1 = schedulerstats.StoragePool{
Name: "rbd:cinder.volumes.ssd@cinder.volumes.ssd#cinder.volumes.ssd",
Capabilities: schedulerstats.Capabilities{
DriverVersion: "1.2.0",
FreeCapacityGB: 64765,
StorageProtocol: "ceph",
TotalCapacityGB: 787947.93,
VendorName: "Open Source",
VolumeBackendName: "cinder.volumes.ssd",
},
}
StoragePoolFake2 = schedulerstats.StoragePool{
Name: "rbd:cinder.volumes.hdd@cinder.volumes.hdd#cinder.volumes.hdd",
Capabilities: schedulerstats.Capabilities{
DriverVersion: "1.2.0",
FreeCapacityGB: 0.0,
StorageProtocol: "ceph",
TotalCapacityGB: math.Inf(1),
VendorName: "Open Source",
VolumeBackendName: "cinder.volumes.hdd",
},
}
)
func HandleStoragePoolsListSuccessfully(t *testing.T) {
testhelper.Mux.HandleFunc("/scheduler-stats/get_pools", func(w http.ResponseWriter, r *http.Request) {
testhelper.TestMethod(t, r, "GET")
testhelper.TestHeader(t, r, "X-Auth-Token", client.TokenID)
w.Header().Add("Content-Type", "application/json")
r.ParseForm()
if r.FormValue("detail") == "true" {
fmt.Fprintf(w, StoragePoolsListBodyDetail)
} else {
fmt.Fprintf(w, StoragePoolsListBody)
}
})
}