-
Notifications
You must be signed in to change notification settings - Fork 1
/
company_test.go
109 lines (92 loc) · 2.61 KB
/
company_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
98
99
100
101
102
103
104
105
106
107
108
109
// +build integration
package client
import "fmt"
func ExampleManageCompany() {
client, err := Dial("http://localhost:8080")
if err != nil {
panic(err)
}
var initialCompanies ListCompaniesResult
if initialCompanies, err = client.ListCompanies(); err != nil {
panic(err)
}
if err := client.CreateCompany("giantswarm.io", CompanyFields{DefaultCluster: "foo"}); err != nil {
panic(err)
}
if err := client.AddMembers("giantswarm.io", []string{"stephan", "tim1", "timo"}); err != nil {
panic(err)
}
if err := client.AddMembers("giantswarm.io", []string{"dennis"}); err != nil {
panic(err)
}
var initialCompany Company
if err := client.GetCompany("giantswarm.io", &initialCompany); err != nil {
panic(err)
}
companies, err := client.FindCompaniesByUser("dennis")
if err != nil {
panic(err)
}
if err := client.RemoveMembers("giantswarm.io", []string{"stephan"}); err != nil {
panic(err)
}
var laterCompany Company
if err := client.GetCompany("giantswarm.io", &laterCompany); err != nil {
panic(err)
}
if err := client.DeleteCompany("giantswarm.io"); err != nil {
panic(err)
}
var closedCompany Company
if err := client.GetCompany("giantswarm.io", &closedCompany); err == nil {
panic("Expected not-found-error")
}
noMemberships, err := client.FindCompaniesByUser("stephan")
if err != nil {
panic(err)
}
if err := client.CreateCompany("test1.giantswarm.io", CompanyFields{DefaultCluster: "foo"}); err != nil {
panic(err)
}
if err := client.CreateCompany("test2.giantswarm.io", CompanyFields{DefaultCluster: "foo"}); err != nil {
panic(err)
}
if err := client.AddMembers("test1.giantswarm.io", []string{"chris"}); err != nil {
panic(err)
}
if err := client.AddMembers("test2.giantswarm.io", []string{"chris"}); err != nil {
panic(err)
}
chrisCompanies, err := client.FindCompaniesByUser("chris")
if err != nil {
panic(err)
}
if err := client.RemoveUserFromAllCompanies("chris"); err != nil {
panic(err)
}
chrisCompaniesAfter, err := client.FindCompaniesByUser("chris")
if err != nil {
panic(err)
}
var afterCompanies ListCompaniesResult
if afterCompanies, err = client.ListCompanies(); err != nil {
panic(err)
}
fmt.Println(initialCompanies)
fmt.Println(initialCompany.Members)
fmt.Println(companies)
fmt.Println(laterCompany.Members)
fmt.Println(noMemberships)
fmt.Println(chrisCompanies)
fmt.Println(chrisCompaniesAfter)
fmt.Println(afterCompanies)
// Output:
// {[] 0 false}
// [stephan tim1 timo dennis]
// [giantswarm.io]
// [tim1 timo dennis]
// []
// [test1.giantswarm.io test2.giantswarm.io]
// []
// {[test1.giantswarm.io test2.giantswarm.io] 2 false}
}