forked from vultr/govultr
-
Notifications
You must be signed in to change notification settings - Fork 1
/
plans_test.go
97 lines (83 loc) · 2.48 KB
/
plans_test.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
package govultr
import (
"fmt"
"net/http"
"reflect"
"testing"
)
func TestPlanServiceHandler_List(t *testing.T) {
setup()
defer teardown()
mux.HandleFunc("/v2/plans", func(writer http.ResponseWriter, request *http.Request) {
response := `{ "plans":[{ "id": "vc2-16c-64gb", "vcpu_count": 16, "ram": 65536, "disk": 1280, "disk_count": 1, "bandwidth": 10240, "monthly_cost": 320, "type": "vc2", "locations": [ "dfw"]}], "meta": { "total": 19, "links": { "next": "", "prev": "" } }}`
fmt.Fprint(writer, response)
})
plans, meta, _, err := client.Plan.List(ctx, "vc2", nil)
if err != nil {
t.Errorf("Plan.List returned %+v", err)
}
expectedPlan := []Plan{
{
ID: "vc2-16c-64gb",
VCPUCount: 16,
RAM: 65536,
Disk: 1280,
DiskCount: 1,
Bandwidth: 10240,
MonthlyCost: 320.00,
Type: "vc2",
Locations: []string{
"dfw",
},
},
}
expectedMeta := &Meta{
Total: 19,
Links: &Links{},
}
if !reflect.DeepEqual(plans, expectedPlan) {
t.Errorf("Plan.List plans returned %+v, expected %+v", plans, expectedPlan)
}
if !reflect.DeepEqual(meta, expectedMeta) {
t.Errorf("Plan.List meta returned %+v, expected %+v", meta, expectedMeta)
}
}
func TestPlanServiceHandler_GetBareMetalList(t *testing.T) {
setup()
defer teardown()
mux.HandleFunc("/v2/plans-metal", func(writer http.ResponseWriter, request *http.Request) {
response := `{ "plans_metal":[{"id": "vbm-4c-32gb","cpu_count": 4,"cpu_threads": 8,"cpu_model": "E3-1270v6","ram": 32768,"disk": 240, "disk_count": 1, "bandwidth": 5120,"monthly_cost": 300,"type": "SSD", "locations": [ "dwf"]}], "meta": { "total": 19, "links": { "next": "", "prev": "" } }}`
fmt.Fprint(writer, response)
})
bareMetalPlans, meta, _, err := client.Plan.ListBareMetal(ctx, nil)
if err != nil {
t.Errorf("Plan.GetBareMetalList returned %+v", err)
}
expectedPlan := []BareMetalPlan{
{
ID: "vbm-4c-32gb",
CPUCount: 4,
CPUModel: "E3-1270v6",
CPUThreads: 8,
RAM: 32768,
Disk: 240,
DiskCount: 1,
Bandwidth: 5120,
MonthlyCost: 300,
Type: "SSD",
Locations: []string{
"dwf",
},
},
}
expectedMeta := &Meta{
Total: 19,
Links: &Links{},
}
if !reflect.DeepEqual(bareMetalPlans, expectedPlan) {
t.Errorf("Plan.GetBareMetalList returned %+v, expected %+v", bareMetalPlans, expectedPlan)
}
if !reflect.DeepEqual(meta, expectedMeta) {
t.Errorf("Plan.List meta returned %+v, expected %+v", meta, expectedMeta)
}
}