Skip to content

Commit 4f0a4e3

Browse files
author
YangSen-qn
committed
add api case [Part]
1 parent 45042cc commit 4f0a4e3

File tree

4 files changed

+364
-20
lines changed

4 files changed

+364
-20
lines changed

src/main/java/com/qiniu/http/MethodType.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ public enum MethodType {
55
PUT(true),
66
POST(true),
77
PATCH(true),
8-
DELETE(false),
8+
DELETE(true),
99
HEAD(false),
1010
OPTIONS(false);
1111

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package test.com.qiniu.iam.apis;
2+
3+
import com.qiniu.storage.Api;
4+
import test.com.qiniu.TestConfig;
5+
6+
public class ApiTestConfig {
7+
static final String groupAlias = "JavaTestGroup";
8+
static final String userAlias = "JavaTestUser";
9+
static final String userPWD = "JavaTestUserPWD";
10+
static final String baseUrl = "api.qiniu.com";
11+
static final Api.Config config = new Api.Config.Builder()
12+
.setAuth(TestConfig.testAuth)
13+
.setRequestDebugLevel(Api.Config.DebugLevelDetail)
14+
.setResponseDebugLevel(Api.Config.DebugLevelDetail)
15+
.build();
16+
}
Lines changed: 216 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,216 @@
1+
package test.com.qiniu.iam.apis;
2+
3+
import com.qiniu.common.QiniuException;
4+
import com.qiniu.iam.apis.*;
5+
import com.qiniu.storage.Api;
6+
import org.junit.jupiter.api.Assertions;
7+
import org.junit.jupiter.api.Tag;
8+
import org.junit.jupiter.api.Test;
9+
10+
import static org.junit.jupiter.api.Assertions.*;
11+
import static org.junit.jupiter.api.Assertions.assertEquals;
12+
13+
public class GroupsApiTest {
14+
15+
String groupAlias = ApiTestConfig.userAlias + "AAAAAAA";
16+
String userAlias = ApiTestConfig.userAlias;
17+
String userPWD = ApiTestConfig.userPWD;
18+
String baseUrl = ApiTestConfig.baseUrl;
19+
Api.Config config = ApiTestConfig.config;
20+
21+
22+
@Test
23+
@Tag("IntegrationTest")
24+
public void testGroups() {
25+
// 先删除,流程开始先清理历史数据
26+
ApiDeleteUser.Request deleteRequest = new ApiDeleteUser.Request(baseUrl, userAlias);
27+
ApiDeleteUser deleteApi = new ApiDeleteUser(null, config);
28+
try {
29+
deleteApi.request(deleteRequest);
30+
} catch (QiniuException e) {
31+
// 删除失败时预期的
32+
e.printStackTrace();
33+
}
34+
35+
String groupDescription = "JavaTestGroupDescription";
36+
try {
37+
38+
// 1. 创建分组
39+
ApiCreateGroup.Request.CreateGroupParam createGroupParam = new ApiCreateGroup.Request.CreateGroupParam();
40+
createGroupParam.setAlias(groupAlias);
41+
createGroupParam.setDescription(groupDescription);
42+
ApiCreateGroup.Request createGroupRequest = new ApiCreateGroup.Request(baseUrl, createGroupParam);
43+
ApiCreateGroup createGroupApi = new ApiCreateGroup(null, config);
44+
ApiCreateGroup.Response createGroupResponse = createGroupApi.request(createGroupRequest);
45+
Assertions.assertNotNull(createGroupResponse, "1. 创建分组失败:" + createGroupResponse);
46+
Assertions.assertTrue(createGroupResponse.isOK(), "1.1 创建分组失败:" + createGroupResponse);
47+
ApiCreateGroup.Response.CreatedGroupData createGroupResponseData = createGroupResponse.getData().getData();
48+
Assertions.assertNotNull(createGroupResponseData.getId(), "1.2 创建分组失败:" + createGroupResponse);
49+
Assertions.assertNotNull(createGroupResponseData.getRootUid(), "1.3 创建分组失败:" + createGroupResponse);
50+
Assertions.assertNotNull(createGroupResponseData.getAlias(), "1.4 创建分组失败:" + createGroupResponse);
51+
Assertions.assertEquals(createGroupResponseData.getDescription(), groupDescription, "1.5 创建分组失败:" + createGroupResponse);
52+
Assertions.assertEquals(createGroupResponseData.getEnabled(), true, "1.6 创建分组失败:" + createGroupResponse);
53+
Assertions.assertNotNull(createGroupResponseData.getCreatedAt(), "1.7 创建分组失败:" + createGroupResponse);
54+
Assertions.assertNotNull(createGroupResponseData.getUpdatedAt(), "1.8 创建分组失败:" + createGroupResponse);
55+
56+
// 2. 获取分组详情
57+
ApiGetGroup.Request getRequest = new ApiGetGroup.Request(baseUrl, groupAlias);
58+
ApiGetGroup getApi = new ApiGetGroup(null, config);
59+
ApiGetGroup.Response getResponse = getApi.request(getRequest);
60+
Assertions.assertNotNull(getResponse, "2. 获取分组详情失败:" + getResponse);
61+
Assertions.assertTrue(getResponse.isOK(), "2.1 获取分组详情失败:" + getResponse);
62+
ApiGetGroup.Response.GetGroupData getResponseData = getResponse.getData().getData();
63+
Assertions.assertNotNull(getResponseData, "2.2 获取分组详情失败:" + getResponse);
64+
Assertions.assertEquals(getResponseData.getId(), createGroupResponseData.getId(), "2.3 获取分组详情失败:" + getResponse);
65+
Assertions.assertEquals(getResponseData.getRootUid(), createGroupResponseData.getRootUid(), "2.4 获取分组详情失败:" + getResponse);
66+
Assertions.assertEquals(getResponseData.getAlias(), createGroupResponseData.getAlias(), "2.5 获取分组详情失败:" + getResponse);
67+
Assertions.assertEquals(getResponseData.getDescription(), createGroupResponseData.getDescription(), "2.6 获取分组详情失败:" + getResponse);
68+
Assertions.assertEquals(getResponseData.getEnabled(), createGroupResponseData.getEnabled(), "2.7 获取分组详情失败:" + getResponse);
69+
Assertions.assertNotNull(getResponseData.getCreatedAt(), "2.8 获取分组详情失败:" + getResponse);
70+
Assertions.assertNotNull(getResponseData.getUpdatedAt(), "2.9 获取分组详情失败:" + getResponse);
71+
72+
73+
// 3. 列举所有分组
74+
ApiGetGroups.Request getGroupsRequest = new ApiGetGroups.Request(baseUrl);
75+
ApiGetGroups getGroupsApi = new ApiGetGroups(null, config);
76+
ApiGetGroups.Response getGroupsResponse = getGroupsApi.request(getGroupsRequest);
77+
Assertions.assertNotNull(getGroupsResponse, "3. 列举所有分组失败:" + getResponse);
78+
Assertions.assertTrue(getGroupsResponse.isOK(), "3.1 列举所有分组详情失败:" + getResponse);
79+
ApiGetGroups.Response.GetGroupsData getGroupsResponseData = getGroupsResponse.getData().getData();
80+
Assertions.assertNotNull(getGroupsResponseData, "3.2 列举所有分组失败:" + getResponse);
81+
Assertions.assertTrue(getGroupsResponseData.getCount() > 0, "3.3 列举所有分组失败:" + getResponse);
82+
Assertions.assertNotNull(getGroupsResponseData.getList(), "3.4 列举所有分组失败:" + getResponse);
83+
ApiGetGroups.Response.GetGroup group = null;
84+
for (ApiGetGroups.Response.GetGroup g : getGroupsResponseData.getList()) {
85+
if (g.getId().equals(getResponseData.getId())) {
86+
group = g;
87+
}
88+
}
89+
Assertions.assertNotNull(group, "3.5 列举所有分组失败:" + getResponse);
90+
Assertions.assertEquals(group.getId(), getResponseData.getId(), "3.6 列举所有分组失败:" + getResponse);
91+
Assertions.assertEquals(group.getRootUid(), getResponseData.getRootUid(), "3.7 列举所有分组失败:" + getResponse);
92+
Assertions.assertEquals(group.getAlias(), getResponseData.getAlias(), "3.8 列举所有分组失败:" + getResponse);
93+
Assertions.assertEquals(group.getDescription(), getResponseData.getDescription(), "3.9 列举所有分组失败:" + getResponse);
94+
Assertions.assertEquals(group.getEnabled(), getResponseData.getEnabled(), "3.10 列举所有分组失败:" + getResponse);
95+
Assertions.assertNotNull(group.getCreatedAt(), "3.11 列举所有分组失败:" + getResponse);
96+
Assertions.assertNotNull(group.getUpdatedAt(), "3.12 列举所有分组失败:" + getResponse);
97+
98+
99+
// 4. 更新用户分组详情
100+
String newGroupAlias = groupAlias + "New";
101+
groupDescription = groupDescription + "New";
102+
ApiModifyGroup.Request.ModifyGroupParam modifyGroupParam = new ApiModifyGroup.Request.ModifyGroupParam();
103+
modifyGroupParam.setNewAlias(newGroupAlias);
104+
modifyGroupParam.setDescription(groupDescription);
105+
ApiModifyGroup.Request modifyGroupRequest = new ApiModifyGroup.Request(baseUrl, groupAlias, modifyGroupParam);
106+
ApiModifyGroup modifyGroupApi = new ApiModifyGroup(null, config);
107+
ApiModifyGroup.Response modifyGroupResponse = modifyGroupApi.request(modifyGroupRequest);
108+
Assertions.assertNotNull(modifyGroupResponse, "4. 创建分组失败:" + modifyGroupRequest);
109+
Assertions.assertTrue(modifyGroupResponse.isOK(), "4.1 创建分组失败:" + modifyGroupRequest);
110+
111+
groupAlias = newGroupAlias;
112+
113+
// 5. 验证用户分组详情更新
114+
getRequest = new ApiGetGroup.Request(baseUrl, groupAlias);
115+
getApi = new ApiGetGroup(null, config);
116+
getResponse = getApi.request(getRequest);
117+
Assertions.assertNotNull(getResponse, "5. 获取分组详情失败:" + getResponse);
118+
Assertions.assertTrue(getResponse.isOK(), "5.1 获取分组详情失败:" + getResponse);
119+
getResponseData = getResponse.getData().getData();
120+
Assertions.assertNotNull(getResponseData, "5.2 获取分组详情失败:" + getResponse);
121+
Assertions.assertEquals(getResponseData.getId(), createGroupResponseData.getId(), "5.3 获取分组详情失败:" + getResponse);
122+
Assertions.assertEquals(getResponseData.getRootUid(), createGroupResponseData.getRootUid(), "5.4 获取分组详情失败:" + getResponse);
123+
Assertions.assertEquals(getResponseData.getAlias(), groupAlias, "5.5 获取分组详情失败:" + getResponse);
124+
Assertions.assertEquals(getResponseData.getDescription(), groupDescription, "5.6 获取分组详情失败:" + getResponse);
125+
Assertions.assertEquals(getResponseData.getEnabled(), createGroupResponseData.getEnabled(), "5.7 获取分组详情失败:" + getResponse);
126+
Assertions.assertNotNull(getResponseData.getCreatedAt(), "5.8 获取分组详情失败:" + getResponse);
127+
Assertions.assertNotNull(getResponseData.getUpdatedAt(), "5.9 获取分组详情失败:" + getResponse);
128+
129+
// 用户相关
130+
// 6. 创建群组的用户
131+
ApiCreateUser.Request.CreateIamUserParam createUserParam = new ApiCreateUser.Request.CreateIamUserParam();
132+
createUserParam.setAlias(userAlias);
133+
createUserParam.setPassword(userPWD);
134+
ApiCreateUser.Request createUserRequest = new ApiCreateUser.Request(baseUrl, createUserParam);
135+
ApiCreateUser createApi = new ApiCreateUser(null, config);
136+
ApiCreateUser.Response createUserResponse = createApi.request(createUserRequest);
137+
assertNotNull(createUserResponse, "6. 创建 User 失败:" + createUserResponse);
138+
assertTrue(createUserResponse.isOK(), "6.1 创建 User 失败:" + createUserResponse);
139+
ApiCreateUser.Response.CreatedIamUserData createUser = createUserResponse.getData().getData();
140+
141+
// 6.1 群组添加用户
142+
ApiModifyGroupUsers.Request.ModifyGroupIamUsersParam modifyGroupUserParam = new ApiModifyGroupUsers.Request.ModifyGroupIamUsersParam();
143+
modifyGroupUserParam.setUserAliases(new String[]{userAlias});
144+
ApiModifyGroupUsers.Request modifyGroupUserRequest = new ApiModifyGroupUsers.Request(baseUrl, groupAlias, modifyGroupUserParam);
145+
ApiModifyGroupUsers modifyGroupUserApi = new ApiModifyGroupUsers(null, config);
146+
ApiModifyGroupUsers.Response modifyGroupUserResponse = modifyGroupUserApi.request(modifyGroupUserRequest);
147+
assertNotNull(modifyGroupUserResponse, "6.1 创建 User 失败:" + modifyGroupUserResponse);
148+
assertTrue(modifyGroupUserResponse.isOK(), "6.1.1 创建 User 失败:" + modifyGroupUserResponse);
149+
150+
// 7. 列举群组的用户,验证创建是否成功
151+
ApiGetGroupUsers.Request getGroupUsersRequest = new ApiGetGroupUsers.Request(baseUrl, groupAlias);
152+
ApiGetGroupUsers getGroupUsersApi = new ApiGetGroupUsers(null, config);
153+
ApiGetGroupUsers.Response getGroupUsersResponse = getGroupUsersApi.request(getGroupUsersRequest);
154+
assertNotNull(getGroupUsersResponse, "7. 列举群组的用户失败:" + getGroupUsersResponse);
155+
assertTrue(getGroupUsersResponse.isOK(), "7.1 列举群组的用户失败:" + getGroupUsersResponse);
156+
assertEquals(1, (int) getGroupUsersResponse.getData().getData().getCount(), "7.2 列举群组的用户失败:" + getGroupUsersResponse);
157+
ApiGetGroupUsers.Response.GroupIamUser groupUser = getGroupUsersResponse.getData().getData().getList()[0];
158+
assertEquals(groupUser.getId(), createUser.getId(), "7.3 列举群组的用户失败:" + getGroupUsersResponse);
159+
assertEquals(groupUser.getRootUid(), createUser.getRootUid(), "7.4 列举群组的用户失败:" + getGroupUsersResponse);
160+
assertEquals(groupUser.getIuid(), createUser.getIuid(), "7.5 列举群组的用户失败:" + getGroupUsersResponse);
161+
assertEquals(groupUser.getAlias(), createUser.getAlias(), "7.6 列举群组的用户失败:" + getGroupUsersResponse);
162+
assertNotNull(groupUser.getCreatedAt(), "7.7 列举群组的用户失败:" + getGroupUsersResponse);
163+
assertNotNull(groupUser.getUpdatedAt(), "7.8 列举群组的用户失败:" + getGroupUsersResponse);
164+
assertNotNull(groupUser.getLastLoginTime(), "7.9 列举群组的用户失败:" + getGroupUsersResponse);
165+
assertEquals(groupUser.getEnabled(), createUser.getEnabled(), "7.10 列举群组的用户失败:" + getGroupUsersResponse);
166+
167+
// 8. 删除群组的用户
168+
ApiDeleteGroupUsers.Request.DeletedGroupIamUsersParam deleteGroupUserParam = new ApiDeleteGroupUsers.Request.DeletedGroupIamUsersParam();
169+
deleteGroupUserParam.setUserAliases(new String[]{userAlias});
170+
ApiDeleteGroupUsers.Request deleteGroupUserRequest = new ApiDeleteGroupUsers.Request(baseUrl, groupAlias, deleteGroupUserParam);
171+
ApiDeleteGroupUsers deleteGroupUserApi = new ApiDeleteGroupUsers(null, config);
172+
ApiDeleteGroupUsers.Response deleteGroupUserResponse = deleteGroupUserApi.request(deleteGroupUserRequest);
173+
assertNotNull(deleteGroupUserResponse, "8. 删除群组的用户失败:" + deleteGroupUserResponse);
174+
assertTrue(deleteGroupUserResponse.isOK(), "8.1 删除群组的用户失败:" + deleteGroupUserResponse);
175+
176+
// 9. 列举群组的用户,验证删除
177+
getGroupUsersRequest = new ApiGetGroupUsers.Request(baseUrl, groupAlias);
178+
getGroupUsersApi = new ApiGetGroupUsers(null, config);
179+
getGroupUsersResponse = getGroupUsersApi.request(getGroupUsersRequest);
180+
assertNotNull(getGroupUsersResponse, "9. 列举群组的用户失败:" + getGroupUsersResponse);
181+
assertTrue(getGroupUsersResponse.isOK(), "9.1 列举群组的用户失败:" + getGroupUsersResponse);
182+
assertEquals(0, (int) getGroupUsersResponse.getData().getData().getCount(), "9.2 列举群组的用户失败:" + getGroupUsersResponse);
183+
184+
// 10. 重新分配 User
185+
ApiUpdateGroupUsers.Request.UpdatedGroupIamUsersParam updateGroupUsersRequestParam = new ApiUpdateGroupUsers.Request.UpdatedGroupIamUsersParam();
186+
updateGroupUsersRequestParam.setUserAliases(new String[]{userAlias});
187+
ApiUpdateGroupUsers.Request updateGroupUsersRequest = new ApiUpdateGroupUsers.Request(baseUrl, groupAlias, updateGroupUsersRequestParam);
188+
ApiUpdateGroupUsers updateGroupUsersApi = new ApiUpdateGroupUsers(null, config);
189+
ApiUpdateGroupUsers.Response updateGroupUsersResponse = updateGroupUsersApi.request(updateGroupUsersRequest);
190+
assertNotNull(updateGroupUsersResponse, "10. 分组增加 User 失败:" + updateGroupUsersResponse);
191+
assertTrue(updateGroupUsersResponse.isOK(), "10.1 分组增加 User 失败:" + updateGroupUsersResponse);
192+
193+
// 11. 列举群组的用户,验证重置
194+
getGroupUsersRequest = new ApiGetGroupUsers.Request(baseUrl, groupAlias);
195+
getGroupUsersApi = new ApiGetGroupUsers(null, config);
196+
getGroupUsersResponse = getGroupUsersApi.request(getGroupUsersRequest);
197+
assertNotNull(getGroupUsersResponse, "11. 列举群组的用户失败:" + getGroupUsersResponse);
198+
assertTrue(getGroupUsersResponse.isOK(), "11.1 列举群组的用户失败:" + getGroupUsersResponse);
199+
assertEquals(1, (int) getGroupUsersResponse.getData().getData().getCount(), "11.2 列举群组的用户失败:" + getGroupUsersResponse);
200+
groupUser = getGroupUsersResponse.getData().getData().getList()[0];
201+
assertEquals(groupUser.getId(), createUser.getId(), "11.3 列举群组的用户失败:" + getGroupUsersResponse);
202+
assertEquals(groupUser.getRootUid(), createUser.getRootUid(), "11.4 列举群组的用户失败:" + getGroupUsersResponse);
203+
assertEquals(groupUser.getIuid(), createUser.getIuid(), "11.5 列举群组的用户失败:" + getGroupUsersResponse);
204+
assertEquals(groupUser.getAlias(), createUser.getAlias(), "11.6 列举群组的用户失败:" + getGroupUsersResponse);
205+
assertNotNull(groupUser.getCreatedAt(), "11.7 列举群组的用户失败:" + getGroupUsersResponse);
206+
assertNotNull(groupUser.getUpdatedAt(), "11.8 列举群组的用户失败:" + getGroupUsersResponse);
207+
assertNotNull(groupUser.getLastLoginTime(), "11.9 列举群组的用户失败:" + getGroupUsersResponse);
208+
assertEquals(groupUser.getEnabled(), createUser.getEnabled(), "11.10 列举群组的用户失败:" + getGroupUsersResponse);
209+
210+
211+
} catch (QiniuException e) {
212+
throw new RuntimeException(e);
213+
}
214+
215+
}
216+
}

0 commit comments

Comments
 (0)