Skip to content

Commit 63ac56c

Browse files
YangSen-qnYangSen-qn
and
YangSen-qn
authored
fix: ApiDeleteGroupPolicies (#613)
* fix: ApiDeleteGroupPolicies * fix test --------- Co-authored-by: YangSen-qn <[email protected]>
1 parent 38ecfe8 commit 63ac56c

File tree

4 files changed

+170
-2
lines changed

4 files changed

+170
-2
lines changed

code-gen/api-specs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Subproject commit dd60a2fec3fd0174cdb49d62ca94b3fd4c2d84ac

src/main/java/com/qiniu/iam/apis/ApiDeleteGroupPolicies.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public static class Request extends Api.Request {
6969
*/
7070
public Request(String urlPrefix, String alias, DeletedGroupIamPoliciesParam data) {
7171
super(urlPrefix);
72-
this.setMethod(MethodType.PATCH);
72+
this.setMethod(MethodType.DELETE);
7373
this.setAuthType(AuthTypeQiniu);
7474
this.alias = alias;
7575
this.data = data;

src/test/java/com/qiniu/audit/apis/ApiQueryLogTest.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,10 @@ public void testQuery() {
7777

7878

7979
} catch (QiniuException e) {
80-
throw new RuntimeException(e);
80+
if (e.response == null || e.response.statusCode != 400) {
81+
throw new RuntimeException(e);
82+
}
83+
e.printStackTrace();
8184
}
8285
}
8386
}
Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
package com.qiniu.iam.apis;
2+
3+
import com.qiniu.common.QiniuException;
4+
import com.qiniu.storage.Api;
5+
import org.junit.jupiter.api.Assertions;
6+
import org.junit.jupiter.api.Tag;
7+
import org.junit.jupiter.api.Test;
8+
9+
import static org.junit.jupiter.api.Assertions.assertNotNull;
10+
import static org.junit.jupiter.api.Assertions.assertTrue;
11+
12+
public class GroupPolicyApiTest {
13+
14+
String groupAlias = ApiTestConfig.groupAlias;
15+
String policyAliasA = ApiTestConfig.policyAlias + "A";
16+
String policyAliasB = ApiTestConfig.policyAlias + "B";
17+
String baseUrl = ApiTestConfig.baseUrl;
18+
Api.Config config = ApiTestConfig.config;
19+
20+
@Test
21+
@Tag("IntegrationTest")
22+
public void testGroupPolicyApi() {
23+
// 清理
24+
try {
25+
ApiDeletePolicy.Request deleteRequest = new ApiDeletePolicy.Request(baseUrl, policyAliasA);
26+
ApiDeletePolicy deleteApi = new ApiDeletePolicy(null, config);
27+
deleteApi.request(deleteRequest);
28+
} catch (QiniuException e) {
29+
}
30+
31+
try {
32+
ApiDeletePolicy.Request deleteRequest = new ApiDeletePolicy.Request(baseUrl, policyAliasB);
33+
ApiDeletePolicy deleteApi = new ApiDeletePolicy(null, config);
34+
deleteApi.request(deleteRequest);
35+
} catch (QiniuException e) {
36+
}
37+
38+
try {
39+
ApiDeleteGroup.Request deleteGroupRequest = new ApiDeleteGroup.Request(baseUrl, groupAlias);
40+
ApiDeleteGroup deleteGroupApi = new ApiDeleteGroup(null, config);
41+
deleteGroupApi.request(deleteGroupRequest);
42+
} catch (QiniuException e) {
43+
}
44+
45+
try {
46+
// 1. 创建分组
47+
String groupDescription = "JavaTestGroupDescription";
48+
ApiCreateGroup.Request.CreateGroupParam createGroupParam = new ApiCreateGroup.Request.CreateGroupParam();
49+
createGroupParam.setAlias(groupAlias);
50+
createGroupParam.setDescription(groupDescription);
51+
ApiCreateGroup.Request createGroupRequest = new ApiCreateGroup.Request(baseUrl, createGroupParam);
52+
ApiCreateGroup createGroupApi = new ApiCreateGroup(null, config);
53+
ApiCreateGroup.Response createGroupResponse = createGroupApi.request(createGroupRequest);
54+
Assertions.assertNotNull(createGroupResponse, "1. 创建用户分组失败:" + createGroupResponse);
55+
Assertions.assertTrue(createGroupResponse.isOK(), "1.1 创建用户分组失败:" + createGroupResponse);
56+
57+
String policyDesc = policyAliasA + "Desc";
58+
String policyAction = "cdn/DownloadCDNLog";
59+
String policyEffect = "Allow";
60+
String policyResource = "qrn:product:::/a/b/c.txt";
61+
ApiCreatePolicy.Request.CreateStatement createStatement = new ApiCreatePolicy.Request.CreateStatement();
62+
createStatement.setActions(new String[]{policyAction});
63+
createStatement.setEffect(policyEffect);
64+
createStatement.setResources(new String[]{policyResource});
65+
ApiCreatePolicy.Request.CreatePolicyParam createPolicyRequestParam = new ApiCreatePolicy.Request.CreatePolicyParam();
66+
createPolicyRequestParam.setEditType(1);
67+
createPolicyRequestParam.setAlias(policyAliasA);
68+
createPolicyRequestParam.setDescription(policyDesc);
69+
createPolicyRequestParam.setStatement(new ApiCreatePolicy.Request.CreateStatement[]{createStatement});
70+
ApiCreatePolicy.Request createPolicyRequest = new ApiCreatePolicy.Request(baseUrl, createPolicyRequestParam);
71+
ApiCreatePolicy createPolicyApi = new ApiCreatePolicy(null, config);
72+
ApiCreatePolicy.Response createPolicyResponse = createPolicyApi.request(createPolicyRequest);
73+
assertNotNull(createPolicyResponse, "2. 创建 Policy 失败:" + createPolicyResponse);
74+
assertTrue(createPolicyResponse.isOK(), "2.1 创建 Policy 失败:" + createPolicyResponse);
75+
76+
policyDesc = policyAliasB + "Desc";
77+
createStatement = new ApiCreatePolicy.Request.CreateStatement();
78+
createStatement.setActions(new String[]{policyAction});
79+
createStatement.setEffect(policyEffect);
80+
createStatement.setResources(new String[]{policyResource});
81+
createPolicyRequestParam = new ApiCreatePolicy.Request.CreatePolicyParam();
82+
createPolicyRequestParam.setEditType(1);
83+
createPolicyRequestParam.setAlias(policyAliasB);
84+
createPolicyRequestParam.setDescription(policyDesc);
85+
createPolicyRequestParam.setStatement(new ApiCreatePolicy.Request.CreateStatement[]{createStatement});
86+
createPolicyRequest = new ApiCreatePolicy.Request(baseUrl, createPolicyRequestParam);
87+
createPolicyApi = new ApiCreatePolicy(null, config);
88+
createPolicyResponse = createPolicyApi.request(createPolicyRequest);
89+
assertNotNull(createPolicyResponse, "3. 创建 Policy 失败:" + createPolicyResponse);
90+
assertTrue(createPolicyResponse.isOK(), "3.1 创建 Policy 失败:" + createPolicyResponse);
91+
92+
ApiModifyGroupPolicies.Request.ModifiedGroupIamPoliciesParam modifyParam = new ApiModifyGroupPolicies.Request.ModifiedGroupIamPoliciesParam();
93+
modifyParam.setPolicyAliases(new String[]{policyAliasA});
94+
ApiModifyGroupPolicies.Request modifyRequest = new ApiModifyGroupPolicies.Request(baseUrl, groupAlias, modifyParam);
95+
ApiModifyGroupPolicies modifyApi = new ApiModifyGroupPolicies(null, config);
96+
ApiModifyGroupPolicies.Response modifyResponse = modifyApi.request(modifyRequest);
97+
Assertions.assertNotNull(modifyResponse, "4. 用户分组添加 Policies 失败:" + modifyResponse);
98+
Assertions.assertTrue(modifyResponse.isOK(), "4.1 创建用户分组添加 Policies 失败:" + modifyResponse);
99+
100+
ApiGetGroupPolicies.Request getRequest = new ApiGetGroupPolicies.Request(baseUrl, groupAlias);
101+
ApiGetGroupPolicies getApi = new ApiGetGroupPolicies(null, config);
102+
ApiGetGroupPolicies.Response getResponse = getApi.request(getRequest);
103+
Assertions.assertNotNull(getResponse, "5. 获取用户分组 Policies 失败:" + getResponse);
104+
Assertions.assertTrue(getResponse.isOK(), "5.1 获取用户分组失败 Policies :" + getResponse);
105+
ApiGetGroupPolicies.Response.GetGroupPoliciesData getResponsePoliciesData = getResponse.getData().getData();
106+
Assertions.assertNotNull(getResponsePoliciesData, "5.2 获取用户分组失败 Policies :" + getResponsePoliciesData);
107+
Assertions.assertTrue(getResponsePoliciesData.getCount() == 1, "5.3 获取用户分组失败 Policies :" + getResponsePoliciesData);
108+
Assertions.assertTrue(getResponsePoliciesData.getList().length == 1, "5.4 获取用户分组失败 Policies :" + getResponsePoliciesData);
109+
ApiGetGroupPolicies.Response.GroupPolicy getResponsePolicy = getResponsePoliciesData.getList()[0];
110+
Assertions.assertEquals(getResponsePolicy.getAlias(), policyAliasA, "5.5 获取用户分组失败 Policies :" + getResponsePoliciesData);
111+
112+
ApiUpdateGroupPolicies.Request.UpdatedGroupIamPoliciesParam updateParam = new ApiUpdateGroupPolicies.Request.UpdatedGroupIamPoliciesParam();
113+
updateParam.setPolicyAliases(new String[]{policyAliasA, policyAliasB});
114+
ApiUpdateGroupPolicies.Request updateRequest = new ApiUpdateGroupPolicies.Request(baseUrl, groupAlias, updateParam);
115+
ApiUpdateGroupPolicies updateApi = new ApiUpdateGroupPolicies(null, config);
116+
ApiUpdateGroupPolicies.Response updateResponse = updateApi.request(updateRequest);
117+
Assertions.assertNotNull(updateResponse, "6. 用户分组更新 Policies 失败:" + updateResponse);
118+
Assertions.assertTrue(updateResponse.isOK(), "6.1 用户分组更新 Policies 失败:" + updateResponse);
119+
120+
getRequest = new ApiGetGroupPolicies.Request(baseUrl, groupAlias);
121+
getApi = new ApiGetGroupPolicies(null, config);
122+
getResponse = getApi.request(getRequest);
123+
Assertions.assertNotNull(getResponse, "7. 获取用户分组 Policies 失败:" + getResponse);
124+
Assertions.assertTrue(getResponse.isOK(), "7.1 获取用户分组失败 Policies :" + getResponse);
125+
getResponsePoliciesData = getResponse.getData().getData();
126+
Assertions.assertNotNull(getResponsePoliciesData, "7.2 获取用户分组失败 Policies :" + getResponsePoliciesData);
127+
Assertions.assertTrue(getResponsePoliciesData.getCount() == 2, "7.3 获取用户分组失败 Policies :" + getResponsePoliciesData);
128+
Assertions.assertTrue(getResponsePoliciesData.getList().length == 2, "7.4 获取用户分组失败 Policies :" + getResponsePoliciesData);
129+
ApiGetGroupPolicies.Response.GroupPolicy[] groupPolicies = getResponsePoliciesData.getList();
130+
for (ApiGetGroupPolicies.Response.GroupPolicy policy : groupPolicies) {
131+
if (policy.getAlias().equals(policyAliasA)) {
132+
continue;
133+
}
134+
if (policy.getAlias().equals(policyAliasB)) {
135+
continue;
136+
}
137+
Assertions.fail("7.5 获取用户分组失败 Policies");
138+
}
139+
140+
ApiDeleteGroupPolicies.Request.DeletedGroupIamPoliciesParam deleteParam = new ApiDeleteGroupPolicies.Request.DeletedGroupIamPoliciesParam();
141+
deleteParam.setPolicyAliases(new String[]{policyAliasA});
142+
ApiDeleteGroupPolicies.Request deleteRequest = new ApiDeleteGroupPolicies.Request(baseUrl, groupAlias, deleteParam);
143+
ApiDeleteGroupPolicies deleteApi = new ApiDeleteGroupPolicies(null, config);
144+
ApiDeleteGroupPolicies.Response deleteResponse = deleteApi.request(deleteRequest);
145+
Assertions.assertNotNull(deleteResponse, "8. 用户分组删除 Policies 失败:" + deleteResponse);
146+
Assertions.assertTrue(deleteResponse.isOK(), "8.1 用户分组删除 Policies 失败:" + deleteResponse);
147+
148+
getRequest = new ApiGetGroupPolicies.Request(baseUrl, groupAlias);
149+
getApi = new ApiGetGroupPolicies(null, config);
150+
getResponse = getApi.request(getRequest);
151+
Assertions.assertNotNull(getResponse, "9. 获取用户分组 Policies 失败:" + getResponse);
152+
Assertions.assertTrue(getResponse.isOK(), "9.1 获取用户分组失败 Policies :" + getResponse);
153+
getResponsePoliciesData = getResponse.getData().getData();
154+
Assertions.assertNotNull(getResponsePoliciesData, "9.2 获取用户分组失败 Policies :" + getResponsePoliciesData);
155+
Assertions.assertTrue(getResponsePoliciesData.getCount() == 1, "9.3 获取用户分组失败 Policies :" + getResponsePoliciesData);
156+
Assertions.assertTrue(getResponsePoliciesData.getList().length == 1, "9.4 获取用户分组失败 Policies :" + getResponsePoliciesData);
157+
groupPolicies = getResponsePoliciesData.getList();
158+
Assertions.assertEquals(groupPolicies[0].getAlias(), policyAliasB, "9.5 获取用户分组失败 Policies");
159+
} catch (QiniuException e) {
160+
throw new RuntimeException(e);
161+
}
162+
163+
}
164+
}

0 commit comments

Comments
 (0)