Skip to content

Commit 607f035

Browse files
committed
revise test fixing
1 parent ee581ec commit 607f035

File tree

1 file changed

+38
-33
lines changed

1 file changed

+38
-33
lines changed

apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/NamespaceBranchServiceTest.java

Lines changed: 38 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@
2222
import com.ctrip.framework.apollo.biz.entity.ReleaseHistory;
2323
import com.ctrip.framework.apollo.common.constants.NamespaceBranchStatus;
2424
import com.ctrip.framework.apollo.common.constants.ReleaseOperation;
25+
import com.ctrip.framework.apollo.common.utils.GrayReleaseRuleItemTransformer;
26+
import com.ctrip.framework.apollo.common.dto.GrayReleaseRuleItemDTO;
27+
import java.util.Set;
2528

2629
import org.junit.Assert;
2730
import org.junit.Test;
@@ -64,32 +67,25 @@ public void testUpdateBranchGrayRulesWithUpdateOnce() {
6467

6568
namespaceBranchService.updateBranchGrayRules(testApp, testCluster, testNamespace, testBranchName, rule);
6669

67-
GrayReleaseRule activeRule = namespaceBranchService.findBranchGrayRules(testApp, testCluster, testNamespace,
68-
testBranchName);
70+
GrayReleaseRule
71+
activeRule =
72+
namespaceBranchService.findBranchGrayRules(testApp, testCluster, testNamespace, testBranchName);
6973

7074
Assert.assertNotNull(activeRule);
7175
Assert.assertEquals(rule.getAppId(), activeRule.getAppId());
7276
Assert.assertEquals(rule.getRules(), activeRule.getRules());
7377
Assert.assertEquals(Long.valueOf(0), activeRule.getReleaseId());
7478

75-
Page<ReleaseHistory> releaseHistories = releaseHistoryService.findReleaseHistoriesByNamespace(testApp, testCluster,
76-
testNamespace, pageable);
79+
Page<ReleaseHistory> releaseHistories = releaseHistoryService.findReleaseHistoriesByNamespace
80+
(testApp, testCluster, testNamespace, pageable);
7781

7882
ReleaseHistory releaseHistory = releaseHistories.getContent().get(0);
7983

8084
Assert.assertEquals(1, releaseHistories.getTotalElements());
8185
Assert.assertEquals(ReleaseOperation.APPLY_GRAY_RULES, releaseHistory.getOperation());
8286
Assert.assertEquals(0, releaseHistory.getReleaseId());
8387
Assert.assertEquals(0, releaseHistory.getPreviousReleaseId());
84-
Assert.assertTrue(containRule(releaseHistory.getOperationContext(), rule.getRules()));
85-
}
86-
87-
private boolean containRule(String context, String rule) {
88-
String[] rules = rule.substring(2, rule.length() - 2).split(",");
89-
for (int i = 0; i < rules.length; i++)
90-
if (!context.contains(rules[i]))
91-
return false;
92-
return true;
88+
Assert.assertTrue(containRule(releaseHistory.getOperationContext(),rule.getRules()));
9389
}
9490

9591
@Test
@@ -101,31 +97,37 @@ public void testUpdateBranchGrayRulesWithUpdateTwice() {
10197
namespaceBranchService.updateBranchGrayRules(testApp, testCluster, testNamespace, testBranchName, firstRule);
10298

10399
GrayReleaseRule secondRule = instanceGrayReleaseRule();
104-
secondRule.setRules(
105-
"[{\"clientAppId\":\"branch-test\",\"clientIpList\":[\"10.38.57.112\"],\"clientLabelList\":[\"branch-test\"]}]");
100+
secondRule.setRules("[{\"clientAppId\":\"branch-test\",\"clientIpList\":[\"10.38.57.112\"],\"clientLabelList\":[\"branch-test\"]}]");
106101
namespaceBranchService.updateBranchGrayRules(testApp, testCluster, testNamespace, testBranchName, secondRule);
107102

108-
GrayReleaseRule activeRule = namespaceBranchService.findBranchGrayRules(testApp, testCluster, testNamespace,
109-
testBranchName);
103+
GrayReleaseRule
104+
activeRule =
105+
namespaceBranchService.findBranchGrayRules(testApp, testCluster, testNamespace, testBranchName);
110106

111107
Assert.assertNotNull(secondRule);
112108
Assert.assertEquals(secondRule.getAppId(), activeRule.getAppId());
113109
Assert.assertEquals(secondRule.getRules(), activeRule.getRules());
114110
Assert.assertEquals(Long.valueOf(0), activeRule.getReleaseId());
115111

116-
Page<ReleaseHistory> releaseHistories = releaseHistoryService.findReleaseHistoriesByNamespace(testApp, testCluster,
117-
testNamespace, pageable);
112+
Page<ReleaseHistory> releaseHistories = releaseHistoryService.findReleaseHistoriesByNamespace
113+
(testApp, testCluster, testNamespace, pageable);
118114

119115
ReleaseHistory firstReleaseHistory = releaseHistories.getContent().get(1);
120116
ReleaseHistory secondReleaseHistory = releaseHistories.getContent().get(0);
121117

122118
Assert.assertEquals(2, releaseHistories.getTotalElements());
123119
Assert.assertEquals(ReleaseOperation.APPLY_GRAY_RULES, firstReleaseHistory.getOperation());
124120
Assert.assertEquals(ReleaseOperation.APPLY_GRAY_RULES, secondReleaseHistory.getOperation());
125-
Assert.assertTrue(firstReleaseHistory.getOperationContext().contains(firstRule.getRules()));
126-
Assert.assertFalse(firstReleaseHistory.getOperationContext().contains(secondRule.getRules()));
127-
Assert.assertTrue(secondReleaseHistory.getOperationContext().contains(firstRule.getRules()));
128-
Assert.assertTrue(secondReleaseHistory.getOperationContext().contains(secondRule.getRules()));
121+
Assert.assertTrue(containRule(firstReleaseHistory.getOperationContext(),firstRule.getRules()));
122+
Assert.assertFalse(containRule(firstReleaseHistory.getOperationContext(),secondRule.getRules()));
123+
Assert.assertTrue(containRule(secondReleaseHistory.getOperationContext(),firstRule.getRules()));
124+
Assert.assertTrue(containRule(secondReleaseHistory.getOperationContext(),secondRule.getRules()));
125+
}
126+
127+
private boolean containRule(String context, String rule){
128+
Set<GrayReleaseRuleItemDTO> contextRules = GrayReleaseRuleItemTransformer.batchTransformFromJSON(context.substring(context.indexOf("["),context.lastIndexOf("]")+1));
129+
Set<GrayReleaseRuleItemDTO> rules = GrayReleaseRuleItemTransformer.batchTransformFromJSON(rule);
130+
return contextRules.iterator().next().toString().equals(rules.iterator().next().toString());
129131
}
130132

131133
@Test
@@ -137,8 +139,9 @@ public void testUpdateRulesReleaseIdWithOldRuleNotExist() {
137139
namespaceBranchService
138140
.updateRulesReleaseId(testApp, testCluster, testNamespace, testBranchName, latestReleaseId, operator);
139141

140-
GrayReleaseRule activeRule = namespaceBranchService.findBranchGrayRules(testApp, testCluster, testNamespace,
141-
testBranchName);
142+
GrayReleaseRule
143+
activeRule =
144+
namespaceBranchService.findBranchGrayRules(testApp, testCluster, testNamespace, testBranchName);
142145

143146
Assert.assertNull(activeRule);
144147
}
@@ -156,15 +159,17 @@ public void testUpdateRulesReleaseIdWithOldRuleExist() {
156159
namespaceBranchService
157160
.updateRulesReleaseId(testApp, testCluster, testNamespace, testBranchName, latestReleaseId, operator);
158161

159-
GrayReleaseRule activeRule = namespaceBranchService.findBranchGrayRules(testApp, testCluster, testNamespace,
160-
testBranchName);
162+
GrayReleaseRule
163+
activeRule =
164+
namespaceBranchService.findBranchGrayRules(testApp, testCluster, testNamespace, testBranchName);
161165

162166
Assert.assertNotNull(activeRule);
163167
Assert.assertEquals(Long.valueOf(latestReleaseId), activeRule.getReleaseId());
164168
Assert.assertEquals(rule.getRules(), activeRule.getRules());
165169
Assert.assertEquals(NamespaceBranchStatus.ACTIVE, activeRule.getBranchStatus());
166170
}
167171

172+
168173
@Test
169174
@Sql(scripts = "/sql/namespace-branch-test.sql", executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD)
170175
@Sql(scripts = "/sql/clean.sql", executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD)
@@ -173,21 +178,19 @@ public void testDeleteBranch() {
173178
GrayReleaseRule rule = instanceGrayReleaseRule();
174179
namespaceBranchService.updateBranchGrayRules(testApp, testCluster, testNamespace, testBranchName, rule);
175180

176-
namespaceBranchService.deleteBranch(testApp, testCluster, testNamespace, testBranchName,
177-
NamespaceBranchStatus.DELETED, operator);
181+
namespaceBranchService.deleteBranch(testApp, testCluster, testNamespace, testBranchName, NamespaceBranchStatus.DELETED, operator);
178182

179183
Namespace branch = namespaceBranchService.findBranch(testApp, testCluster, testNamespace);
180184
Assert.assertNull(branch);
181185

182-
GrayReleaseRule latestRule = namespaceBranchService.findBranchGrayRules(testApp, testCluster, testNamespace,
183-
testBranchName);
186+
GrayReleaseRule latestRule = namespaceBranchService.findBranchGrayRules(testApp, testCluster, testNamespace, testBranchName);
184187

185188
Assert.assertNotNull(latestRule);
186189
Assert.assertEquals(NamespaceBranchStatus.DELETED, latestRule.getBranchStatus());
187190
Assert.assertEquals("[]", latestRule.getRules());
188191

189-
Page<ReleaseHistory> releaseHistories = releaseHistoryService.findReleaseHistoriesByNamespace(testApp, testCluster,
190-
testNamespace, pageable);
192+
Page<ReleaseHistory> releaseHistories = releaseHistoryService.findReleaseHistoriesByNamespace
193+
(testApp, testCluster, testNamespace, pageable);
191194

192195
ReleaseHistory firstReleaseHistory = releaseHistories.getContent().get(1);
193196
ReleaseHistory secondReleaseHistory = releaseHistories.getContent().get(0);
@@ -198,6 +201,7 @@ public void testDeleteBranch() {
198201

199202
}
200203

204+
201205
private GrayReleaseRule instanceGrayReleaseRule() {
202206
GrayReleaseRule rule = new GrayReleaseRule();
203207
rule.setAppId(testApp);
@@ -209,4 +213,5 @@ private GrayReleaseRule instanceGrayReleaseRule() {
209213
return rule;
210214
}
211215

216+
212217
}

0 commit comments

Comments
 (0)