29
29
import com .google .showcase .v1beta1 .it .util .TestClientInitializer ;
30
30
import java .util .Arrays ;
31
31
import java .util .List ;
32
- import org .junit .After ;
32
+ import java .util .concurrent .TimeUnit ;
33
+ import org .junit .AfterClass ;
33
34
import org .junit .Before ;
35
+ import org .junit .BeforeClass ;
34
36
import org .junit .Test ;
35
37
36
38
public class ITCrud {
@@ -44,24 +46,38 @@ public class ITCrud {
44
46
.setAge (25 )
45
47
.build ();
46
48
47
- private IdentityClient grpcClient ;
48
- private IdentityClient httpJsonClient ;
49
+ private static IdentityClient grpcClient ;
50
+ private static IdentityClient httpjsonClient ;
49
51
50
- @ Before
51
- public void setup () throws Exception {
52
+ @ BeforeClass
53
+ public static void createClients () throws Exception {
52
54
// Create gRPC IdentityClient
53
55
grpcClient = TestClientInitializer .createGrpcIdentityClient ();
54
56
// Create HttpJson IdentityClient
55
- httpJsonClient = TestClientInitializer .createHttpJsonIdentityClient ();
56
-
57
- // Ensure an empty state before each run
58
- cleanupData (httpJsonClient );
57
+ httpjsonClient = TestClientInitializer .createHttpJsonIdentityClient ();
59
58
}
60
59
61
- @ After
62
- public void cleanup () {
60
+ @ AfterClass
61
+ public static void destroyClients () throws InterruptedException {
63
62
grpcClient .close ();
64
- httpJsonClient .close ();
63
+ httpjsonClient .close ();
64
+
65
+ grpcClient .awaitTermination (TestClientInitializer .AWAIT_TERMINATION_SECONDS , TimeUnit .SECONDS );
66
+ httpjsonClient .awaitTermination (
67
+ TestClientInitializer .AWAIT_TERMINATION_SECONDS , TimeUnit .SECONDS );
68
+ }
69
+
70
+ @ Before
71
+ public void cleanupData () {
72
+ IdentityClient .ListUsersPagedResponse pagedResponse =
73
+ grpcClient .listUsers (ListUsersRequest .newBuilder ().setPageSize (5 ).build ());
74
+ for (IdentityClient .ListUsersPage listUsersPage : pagedResponse .iteratePages ()) {
75
+ for (User user : listUsersPage .getResponse ().getUsersList ()) {
76
+ grpcClient .deleteUser (user .getName ());
77
+ }
78
+ }
79
+ pagedResponse = httpjsonClient .listUsers (ListUsersRequest .newBuilder ().setPageSize (5 ).build ());
80
+ assertThat (pagedResponse .getPage ().getResponse ().getUsersList ().size ()).isEqualTo (0 );
65
81
}
66
82
67
83
@ Test
@@ -95,7 +111,7 @@ public void testHttpJson_Read() {
95
111
.build ()));
96
112
// Assert that only one User exists
97
113
IdentityClient .ListUsersPagedResponse listUsersPagedResponse =
98
- httpJsonClient .listUsers (ListUsersRequest .newBuilder ().setPageSize (5 ).build ());
114
+ httpjsonClient .listUsers (ListUsersRequest .newBuilder ().setPageSize (5 ).build ());
99
115
ListUsersResponse listUsersResponse = listUsersPagedResponse .getPage ().getResponse ();
100
116
assertThat (listUsersResponse .getUsersList ().size ()).isEqualTo (2 );
101
117
@@ -105,7 +121,7 @@ public void testHttpJson_Read() {
105
121
106
122
// Get User
107
123
User defaultUser = expectedUsersList .get (0 );
108
- User getUserResponse = httpJsonClient .getUser (defaultUser .getName ());
124
+ User getUserResponse = httpjsonClient .getUser (defaultUser .getName ());
109
125
assertThat (getUserResponse ).isEqualTo (defaultUser );
110
126
}
111
127
@@ -124,7 +140,7 @@ public void testHttpJson_Update() {
124
140
.setEnableNotifications (true )
125
141
.build ();
126
142
User updateUserResponse =
127
- httpJsonClient .updateUser (
143
+ httpjsonClient .updateUser (
128
144
UpdateUserRequest .newBuilder ()
129
145
.setUser (updateUser )
130
146
.setUpdateMask (
@@ -148,26 +164,14 @@ public void testHttpJson_Update() {
148
164
public void testHttpJson_Delete () {
149
165
User userResponse = createDefaultUser ();
150
166
151
- httpJsonClient .deleteUser (
167
+ httpjsonClient .deleteUser (
152
168
DeleteUserRequest .newBuilder ().setName (userResponse .getName ()).build ());
153
169
154
170
IdentityClient .ListUsersPagedResponse listUsersPagedResponse =
155
- httpJsonClient .listUsers (ListUsersRequest .newBuilder ().setPageSize (5 ).build ());
171
+ httpjsonClient .listUsers (ListUsersRequest .newBuilder ().setPageSize (5 ).build ());
156
172
assertThat (listUsersPagedResponse .getPage ().getResponse ().getUsersList ().size ()).isEqualTo (0 );
157
173
}
158
174
159
- private void cleanupData (IdentityClient identityClient ) {
160
- IdentityClient .ListUsersPagedResponse pagedResponse =
161
- identityClient .listUsers (ListUsersRequest .newBuilder ().setPageSize (5 ).build ());
162
- for (IdentityClient .ListUsersPage listUsersPage : pagedResponse .iteratePages ()) {
163
- for (User user : listUsersPage .getResponse ().getUsersList ()) {
164
- identityClient .deleteUser (user .getName ());
165
- }
166
- }
167
- pagedResponse = httpJsonClient .listUsers (ListUsersRequest .newBuilder ().setPageSize (5 ).build ());
168
- assertThat (pagedResponse .getPage ().getResponse ().getUsersList ().size ()).isEqualTo (0 );
169
- }
170
-
171
175
private User createDefaultUser () {
172
176
return createUser (DEFAULT_USER );
173
177
}
@@ -182,6 +186,6 @@ private User createDefaultUser() {
182
186
* @return newly created user
183
187
*/
184
188
private User createUser (User user ) {
185
- return httpJsonClient .createUser (CreateUserRequest .newBuilder ().setUser (user ).build ());
189
+ return httpjsonClient .createUser (CreateUserRequest .newBuilder ().setUser (user ).build ());
186
190
}
187
191
}
0 commit comments