|
3 | 3 | import com.qiniu.common.QiniuException;
|
4 | 4 | import com.qiniu.iam.apis.*;
|
5 | 5 | import com.qiniu.storage.Api;
|
| 6 | +import org.junit.jupiter.api.Assertions; |
6 | 7 | import org.junit.jupiter.api.Disabled;
|
7 | 8 | import org.junit.jupiter.api.Tag;
|
8 | 9 | import org.junit.jupiter.api.Test;
|
|
13 | 14 | public class UserApiTest {
|
14 | 15 |
|
15 | 16 | String userAlias = ApiTestConfig.userAlias;
|
| 17 | + String groupAlias = ApiTestConfig.groupAlias; |
| 18 | + String policyAlias = ApiTestConfig.policyAlias; |
16 | 19 | String userPWD = ApiTestConfig.userPWD;
|
17 | 20 | String baseUrl = ApiTestConfig.baseUrl;
|
18 | 21 | Api.Config config = ApiTestConfig.config;
|
@@ -124,33 +127,14 @@ public void testUsers() {
|
124 | 127 | public void testUsersKeyPairs() {
|
125 | 128 |
|
126 | 129 | // 先删除,流程开始先清理历史数据
|
127 |
| - ApiDeleteUser.Request deleteUserRequest = new ApiDeleteUser.Request(baseUrl, userAlias); |
128 |
| - ApiDeleteUser deleteUserApi = new ApiDeleteUser(null, config); |
129 | 130 | try {
|
| 131 | + ApiDeleteUser.Request deleteUserRequest = new ApiDeleteUser.Request(baseUrl, userAlias); |
| 132 | + ApiDeleteUser deleteUserApi = new ApiDeleteUser(null, config); |
130 | 133 | deleteUserApi.request(deleteUserRequest);
|
131 | 134 | } catch (QiniuException e) {
|
132 | 135 | // 删除失败时预期的
|
133 | 136 | e.printStackTrace();
|
134 | 137 | }
|
135 |
| -// |
136 |
| -// try { |
137 |
| -// ApiGetUserKeypairs.Request getRequest = new ApiGetUserKeypairs.Request(baseUrl, userAlias); |
138 |
| -// ApiGetUserKeypairs getApi = new ApiGetUserKeypairs(null, config); |
139 |
| -// ApiGetUserKeypairs.Response getResponse = getApi.request(getRequest); |
140 |
| -// if (getResponse.isOK() && getResponse.getData() != null |
141 |
| -// && getResponse.getData().getData() != null |
142 |
| -// && getResponse.getData().getData().getCount() > 0) { |
143 |
| -// ApiGetUserKeypairs.Response.GetIamUserKeyPairsData getResponseData = getResponse.getData().getData(); |
144 |
| -// for (ApiGetUserKeypairs.Response.GetIamUserKeyPair keyPair : getResponseData.getList()) { |
145 |
| -// ApiDeleteUserKeypair.Request deleteRequest = new ApiDeleteUserKeypair.Request(baseUrl, userAlias, keyPair.getAccessKey()); |
146 |
| -// ApiDeleteUserKeypair deleteApi = new ApiDeleteUserKeypair(null, config); |
147 |
| -// deleteApi.request(deleteRequest); |
148 |
| -// } |
149 |
| -// } |
150 |
| -// } catch (QiniuException e) { |
151 |
| -// // 删除失败时预期的 |
152 |
| -// e.printStackTrace(); |
153 |
| -// } |
154 | 138 |
|
155 | 139 | try {
|
156 | 140 | // 1. 创建用户
|
@@ -255,14 +239,140 @@ public void testUsersKeyPairs() {
|
255 | 239 | @Test
|
256 | 240 | @Tag("IntegrationTest")
|
257 | 241 | public void testUsersGroups() {
|
| 242 | + try { |
| 243 | + ApiDeleteUser.Request deleteUserRequest = new ApiDeleteUser.Request(baseUrl, userAlias); |
| 244 | + ApiDeleteUser deleteUserApi = new ApiDeleteUser(null, config); |
| 245 | + deleteUserApi.request(deleteUserRequest); |
| 246 | + } catch (QiniuException e) { |
| 247 | + // 删除失败时预期的 |
| 248 | + } |
| 249 | + |
| 250 | + try { |
| 251 | + ApiDeleteGroup.Request deleteGroupRequest = new ApiDeleteGroup.Request(baseUrl, groupAlias); |
| 252 | + ApiDeleteGroup deleteGroupApi = new ApiDeleteGroup(null, config); |
| 253 | + deleteGroupApi.request(deleteGroupRequest); |
| 254 | + } catch (QiniuException e) { |
| 255 | + // 删除失败时预期的 |
| 256 | + } |
258 | 257 |
|
| 258 | + try { |
| 259 | + // 0 创建用户的 |
| 260 | + ApiCreateUser.Request.CreateIamUserParam createUserParam = new ApiCreateUser.Request.CreateIamUserParam(); |
| 261 | + createUserParam.setAlias(userAlias); |
| 262 | + createUserParam.setPassword(userPWD); |
| 263 | + ApiCreateUser.Request createUserRequest = new ApiCreateUser.Request(baseUrl, createUserParam); |
| 264 | + ApiCreateUser createUserApi = new ApiCreateUser(null, config); |
| 265 | + ApiCreateUser.Response createUserResponse = createUserApi.request(createUserRequest); |
| 266 | + assertNotNull(createUserResponse, "0. 创建 User 失败:" + createUserResponse); |
| 267 | + assertEquals(createUserResponse.isOK(), true, "0.1 创建 User 失败:" + createUserResponse); |
259 | 268 |
|
| 269 | + // 1 创建用户的 Group |
| 270 | + ApiCreateGroup.Request.CreateGroupParam createGroupParam = new ApiCreateGroup.Request.CreateGroupParam(); |
| 271 | + createGroupParam.setAlias(groupAlias); |
| 272 | + ApiCreateGroup.Request createGroupRequest = new ApiCreateGroup.Request(baseUrl, createGroupParam); |
| 273 | + ApiCreateGroup createGroupApi = new ApiCreateGroup(null, config); |
| 274 | + ApiCreateGroup.Response createGroupResponse = createGroupApi.request(createGroupRequest); |
| 275 | + Assertions.assertNotNull(createGroupResponse, "1. 创建分组失败:" + createGroupResponse); |
| 276 | + Assertions.assertTrue(createGroupResponse.isOK(), "1.1 创建分组失败:" + createGroupResponse); |
| 277 | + |
| 278 | + // 2 用户添加至 Group |
| 279 | + ApiUpdateUserGroups.Request.UpdatedIamUserGroupsParam updateUserGroupsRequestParam = new ApiUpdateUserGroups.Request.UpdatedIamUserGroupsParam(); |
| 280 | + updateUserGroupsRequestParam.setGroupAliases(new String[]{groupAlias}); |
| 281 | + ApiUpdateUserGroups.Request updateUserGroupsRequest = new ApiUpdateUserGroups.Request(baseUrl, userAlias, updateUserGroupsRequestParam); |
| 282 | + ApiUpdateUserGroups updateUserGroupsApi = new ApiUpdateUserGroups(null, config); |
| 283 | + ApiUpdateUserGroups.Response updateUserGroupsResponse = updateUserGroupsApi.request(updateUserGroupsRequest); |
| 284 | + Assertions.assertNotNull(updateUserGroupsResponse, "2 用户添加至 Group 失败:" + updateUserGroupsResponse); |
| 285 | + Assertions.assertTrue(updateUserGroupsResponse.isOK(), "2.1 用户添加至 Group 失败:" + updateUserGroupsResponse); |
| 286 | + |
| 287 | + // 3 获取用户的 Group(验证) |
| 288 | + ApiGetUserGroups.Request getUserGroupsRequest = new ApiGetUserGroups.Request(baseUrl, userAlias); |
| 289 | + getUserGroupsRequest.setPage(0); |
| 290 | + ApiGetUserGroups getUserGroupsApi = new ApiGetUserGroups(null, config); |
| 291 | + ApiGetUserGroups.Response getUserGroupsResponse = getUserGroupsApi.request(getUserGroupsRequest); |
| 292 | + Assertions.assertNotNull(getUserGroupsResponse, "3 获取用户的 Group 失败:" + getUserGroupsResponse); |
| 293 | + Assertions.assertTrue(getUserGroupsResponse.isOK(), "3.1 获取用户的 Group 失败:" + getUserGroupsResponse); |
| 294 | + Assertions.assertTrue(getUserGroupsResponse.getData().getData().getCount() > 0, "3.2 获取用户的 Group 失败:" + getUserGroupsResponse); |
| 295 | + |
| 296 | + ApiGetUserGroups.Response.IamUserGroup userGroup = getUserGroupsResponse.getData().getData().getList()[0]; |
| 297 | + Assertions.assertNotNull(userGroup.getId(), "3.3 获取用户的 Group 失败:" + getUserGroupsResponse); |
| 298 | + Assertions.assertNotNull(userGroup.getRootUid(), "3.4 获取用户的 Group 失败:" + getUserGroupsResponse); |
| 299 | + Assertions.assertEquals(userGroup.getAlias(), groupAlias, "3.5 获取用户的 Group 失败:" + getUserGroupsResponse); |
| 300 | + Assertions.assertNotNull(userGroup.getDescription(), "3.6 获取用户的 Group 失败:" + getUserGroupsResponse); |
| 301 | + Assertions.assertEquals(userGroup.getEnabled(), true, "3.7 获取用户的 Group 失败:" + getUserGroupsResponse); |
| 302 | + Assertions.assertNotNull(userGroup.getCreatedAt(), "3.8 获取用户的 Group 失败:" + getUserGroupsResponse); |
| 303 | + Assertions.assertNotNull(userGroup.getUpdatedAt(), "3.9 获取用户的 Group 失败:" + getUserGroupsResponse); |
| 304 | + |
| 305 | + } catch (QiniuException e) { |
| 306 | + fail(e); |
| 307 | + } |
260 | 308 | }
|
261 | 309 |
|
262 | 310 | @Test
|
263 | 311 | @Tag("IntegrationTest")
|
264 | 312 | public void testUsersPolicies() {
|
| 313 | + try { |
| 314 | + ApiDeleteUser.Request deleteUserRequest = new ApiDeleteUser.Request(baseUrl, userAlias); |
| 315 | + ApiDeleteUser deleteUserApi = new ApiDeleteUser(null, config); |
| 316 | + deleteUserApi.request(deleteUserRequest); |
| 317 | + } catch (QiniuException e) { |
| 318 | + // 删除失败时预期的 |
| 319 | + } |
265 | 320 |
|
| 321 | + try { |
| 322 | + ApiDeletePolicy.Request deleteRequest = new ApiDeletePolicy.Request(baseUrl, policyAlias); |
| 323 | + ApiDeletePolicy deleteApi = new ApiDeletePolicy(null, config); |
| 324 | + deleteApi.request(deleteRequest); |
| 325 | + } catch (QiniuException e) { |
| 326 | + } |
266 | 327 |
|
| 328 | + try { |
| 329 | + // 0 创建用户的 |
| 330 | + ApiCreateUser.Request.CreateIamUserParam createUserParam = new ApiCreateUser.Request.CreateIamUserParam(); |
| 331 | + createUserParam.setAlias(userAlias); |
| 332 | + createUserParam.setPassword(userPWD); |
| 333 | + ApiCreateUser.Request createUserRequest = new ApiCreateUser.Request(baseUrl, createUserParam); |
| 334 | + ApiCreateUser createUserApi = new ApiCreateUser(null, config); |
| 335 | + ApiCreateUser.Response createUserResponse = createUserApi.request(createUserRequest); |
| 336 | + assertNotNull(createUserResponse, "0. 创建 User 失败:" + createUserResponse); |
| 337 | + assertEquals(createUserResponse.isOK(), true, "0.1 创建 User 失败:" + createUserResponse); |
| 338 | + |
| 339 | + // 1 创建用户的 Policy |
| 340 | + String policyDesc = policyAlias + "Desc"; |
| 341 | + String policyAction = "cdn/DownloadCDNLog"; |
| 342 | + String policyEffect = "Allow"; |
| 343 | + String policyResource = "qrn:product:::/a/b/c.txt"; |
| 344 | + ApiCreatePolicy.Request.CreateStatement createStatement = new ApiCreatePolicy.Request.CreateStatement(); |
| 345 | + createStatement.setActions(new String[]{policyAction}); |
| 346 | + createStatement.setEffect(policyEffect); |
| 347 | + createStatement.setResources(new String[]{policyResource}); |
| 348 | + ApiCreatePolicy.Request.CreatePolicyParam createPolicyRequestParam = new ApiCreatePolicy.Request.CreatePolicyParam(); |
| 349 | + createPolicyRequestParam.setEditType(1); |
| 350 | + createPolicyRequestParam.setAlias(policyAlias); |
| 351 | + createPolicyRequestParam.setDescription(policyDesc); |
| 352 | + createPolicyRequestParam.setStatement(new ApiCreatePolicy.Request.CreateStatement[]{createStatement}); |
| 353 | + ApiCreatePolicy.Request createPolicyRequest = new ApiCreatePolicy.Request(baseUrl, createPolicyRequestParam); |
| 354 | + ApiCreatePolicy createPolicyApi = new ApiCreatePolicy(null, config); |
| 355 | + ApiCreatePolicy.Response createPolicyResponse = createPolicyApi.request(createPolicyRequest); |
| 356 | + assertNotNull(createPolicyResponse, "1. 创建 Policy 失败:" + createPolicyResponse); |
| 357 | + assertTrue(createPolicyResponse.isOK(), "1.1 创建 Policy 失败:" + createPolicyResponse); |
| 358 | + |
| 359 | + // 2 用户添加至 Policy |
| 360 | + |
| 361 | + // 3 获取用户 Policy |
| 362 | + |
| 363 | + // 4 更新用户添加至 Policy |
| 364 | + |
| 365 | + // 5 获取用户的 Policy(验证) |
| 366 | + |
| 367 | + // 6 删除用户的 Policy |
| 368 | + |
| 369 | + // 7 获取用户的 Policy(验证) |
| 370 | + |
| 371 | + // 8 获取用户的 Service |
| 372 | + |
| 373 | + // 9 列举子用户指定服务操作下的可访问资源 |
| 374 | + } catch (QiniuException e) { |
| 375 | + fail(e); |
| 376 | + } |
267 | 377 | }
|
268 | 378 | }
|
0 commit comments