@@ -3,11 +3,16 @@ package members
3
3
import (
4
4
"strings"
5
5
"testing"
6
+ "time"
6
7
8
+ "github.com/rackspace/gophercloud/pagination"
7
9
th "github.com/rackspace/gophercloud/testhelper"
8
10
fakeclient "github.com/rackspace/gophercloud/testhelper/client"
9
11
)
10
12
13
+ const createdAtString = "2013-09-20T19:22:19Z"
14
+ const updatedAtString = "2013-09-20T19:25:31Z"
15
+
11
16
func TestCreateMemberSuccessfully (t * testing.T ) {
12
17
th .SetupHTTP ()
13
18
defer th .TeardownHTTP ()
@@ -17,13 +22,19 @@ func TestCreateMemberSuccessfully(t *testing.T) {
17
22
"8989447062e04a818baf9e073fd04fa7" ).Extract ()
18
23
th .AssertNoErr (t , err )
19
24
25
+ createdAt , err := time .Parse (time .RFC3339 , createdAtString )
26
+ th .AssertNoErr (t , err )
27
+
28
+ updatedAt , err := time .Parse (time .RFC3339 , updatedAtString )
29
+ th .AssertNoErr (t , err )
30
+
20
31
th .AssertDeepEquals (t , ImageMember {
21
- CreatedAt : "2013-09-20T19:22:19Z" ,
32
+ CreatedAt : createdAt ,
22
33
ImageID : "da3b75d9-3f4a-40e7-8a2c-bfab23927dea" ,
23
34
MemberID : "8989447062e04a818baf9e073fd04fa7" ,
24
35
Schema : "/v2/schemas/member" ,
25
36
Status : "pending" ,
26
- UpdatedAt : "2013-09-20T19:25:31Z" ,
37
+ UpdatedAt : updatedAt ,
27
38
}, * im )
28
39
29
40
}
@@ -72,10 +83,28 @@ func TestMemberListSuccessfully(t *testing.T) {
72
83
73
84
HandleImageMemberList (t )
74
85
75
- images , err := List (fakeclient .ServiceClient (), "da3b75d9-3f4a-40e7-8a2c-bfab23927dea" ).Extract ()
86
+ pager := List (fakeclient .ServiceClient (), "da3b75d9-3f4a-40e7-8a2c-bfab23927dea" )
87
+ t .Logf ("Pager state %v" , pager )
88
+ count , pages := 0 , 0
89
+ err := pager .EachPage (func (page pagination.Page ) (bool , error ) {
90
+ pages ++
91
+ t .Logf ("Page %v" , page )
92
+ members , err := ExtractMembers (page )
93
+ if err != nil {
94
+ return false , err
95
+ }
96
+
97
+ for _ , i := range members {
98
+ t .Logf ("%s\t %s\t %s\t %s\t \n " , i .ImageID , i .MemberID , i .Status , i .Schema )
99
+ count ++
100
+ }
101
+
102
+ return true , nil
103
+ })
104
+
76
105
th .AssertNoErr (t , err )
77
- th .AssertNotNil (t , images )
78
- th .AssertEquals (t , 2 , len ( * images ) )
106
+ th .AssertEquals (t , 1 , pages )
107
+ th .AssertEquals (t , 2 , count )
79
108
}
80
109
81
110
func TestMemberListEmpty (t * testing.T ) {
@@ -84,10 +113,28 @@ func TestMemberListEmpty(t *testing.T) {
84
113
85
114
HandleImageMemberEmptyList (t )
86
115
87
- images , err := List (fakeclient .ServiceClient (), "da3b75d9-3f4a-40e7-8a2c-bfab23927dea" ).Extract ()
116
+ pager := List (fakeclient .ServiceClient (), "da3b75d9-3f4a-40e7-8a2c-bfab23927dea" )
117
+ t .Logf ("Pager state %v" , pager )
118
+ count , pages := 0 , 0
119
+ err := pager .EachPage (func (page pagination.Page ) (bool , error ) {
120
+ pages ++
121
+ t .Logf ("Page %v" , page )
122
+ members , err := ExtractMembers (page )
123
+ if err != nil {
124
+ return false , err
125
+ }
126
+
127
+ for _ , i := range members {
128
+ t .Logf ("%s\t %s\t %s\t %s\t \n " , i .ImageID , i .MemberID , i .Status , i .Schema )
129
+ count ++
130
+ }
131
+
132
+ return true , nil
133
+ })
134
+
88
135
th .AssertNoErr (t , err )
89
- th .AssertNotNil (t , images )
90
- th .AssertEquals (t , 0 , len ( * images ) )
136
+ th .AssertEquals (t , 0 , pages )
137
+ th .AssertEquals (t , 0 , count )
91
138
}
92
139
93
140
func TestShowMemberDetails (t * testing.T ) {
@@ -102,13 +149,19 @@ func TestShowMemberDetails(t *testing.T) {
102
149
th .AssertNoErr (t , err )
103
150
th .AssertNotNil (t , md )
104
151
152
+ createdAt , err := time .Parse (time .RFC3339 , "2013-11-26T07:21:21Z" )
153
+ th .AssertNoErr (t , err )
154
+
155
+ updatedAt , err := time .Parse (time .RFC3339 , "2013-11-26T07:21:21Z" )
156
+ th .AssertNoErr (t , err )
157
+
105
158
th .AssertDeepEquals (t , ImageMember {
106
- CreatedAt : "2013-11-26T07:21:21Z" ,
159
+ CreatedAt : createdAt ,
107
160
ImageID : "da3b75d9-3f4a-40e7-8a2c-bfab23927dea" ,
108
161
MemberID : "8989447062e04a818baf9e073fd04fa7" ,
109
162
Schema : "/v2/schemas/member" ,
110
163
Status : "pending" ,
111
- UpdatedAt : "2013-11-26T07:21:21Z" ,
164
+ UpdatedAt : updatedAt ,
112
165
}, * md )
113
166
}
114
167
@@ -150,17 +203,26 @@ func TestMemberUpdateSuccessfully(t *testing.T) {
150
203
151
204
counter := HandleImageMemberUpdate (t )
152
205
im , err := Update (fakeclient .ServiceClient (), "da3b75d9-3f4a-40e7-8a2c-bfab23927dea" ,
153
- "8989447062e04a818baf9e073fd04fa7" , "accepted" ).Extract ()
206
+ "8989447062e04a818baf9e073fd04fa7" ,
207
+ UpdateOpts {
208
+ Status : "accepted" ,
209
+ }).Extract ()
154
210
th .AssertEquals (t , 1 , counter .Counter )
155
211
th .AssertNoErr (t , err )
156
212
213
+ createdAt , err := time .Parse (time .RFC3339 , "2013-11-26T07:21:21Z" )
214
+ th .AssertNoErr (t , err )
215
+
216
+ updatedAt , err := time .Parse (time .RFC3339 , "2013-11-26T07:21:21Z" )
217
+ th .AssertNoErr (t , err )
218
+
157
219
th .AssertDeepEquals (t , ImageMember {
158
- CreatedAt : "2013-11-26T07:21:21Z" ,
220
+ CreatedAt : createdAt ,
159
221
ImageID : "da3b75d9-3f4a-40e7-8a2c-bfab23927dea" ,
160
222
MemberID : "8989447062e04a818baf9e073fd04fa7" ,
161
223
Schema : "/v2/schemas/member" ,
162
224
Status : "accepted" ,
163
- UpdatedAt : "2013-11-26T07:21:21Z" ,
225
+ UpdatedAt : updatedAt ,
164
226
}, * im )
165
227
166
228
}
0 commit comments