Skip to content

Commit 14c4fc3

Browse files
committed
fix break unit test
1 parent 7fbfa9a commit 14c4fc3

File tree

4 files changed

+51
-28
lines changed

4 files changed

+51
-28
lines changed

library/src/main/java/com/alibaba/dcm/agent/DcmAgent.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public class DcmAgent {
2121
public static final String DCM_AGENT_SUCCESS_MARK_LINE = "!!DCM SUCCESS!!";
2222

2323
public static void agentmain(String agentArgument) throws Exception {
24-
System.out.printf("%s: attached with agent argument: \"%s\".\n", DcmAgent.class.getName(), agentArgument);
24+
System.out.printf("%s: attached with agent argument: %s.\n", DcmAgent.class.getName(), agentArgument);
2525

2626
agentArgument = agentArgument.trim();
2727
if (agentArgument.isEmpty()) {
@@ -47,7 +47,7 @@ public static void agentmain(String agentArgument) throws Exception {
4747
if (action2Arguments.isEmpty()) {
4848
System.out.println(DcmAgent.class.getName() + ": No action in agent argument, do nothing!");
4949
if (filePrinter != null) {
50-
filePrinter.println("No action in agent argument, do nothing! agent argument: " + agentArgument);
50+
filePrinter.printf("No action in agent argument, do nothing! agent argument: %s.\n", agentArgument);
5151
}
5252
return;
5353
}
@@ -67,9 +67,9 @@ public static void agentmain(String agentArgument) throws Exception {
6767
}
6868

6969
if (!action2Method.containsKey(action)) {
70-
System.out.printf("%s: Unknown action %s! ignore %<s %s !\n", DcmAgent.class.getName(), action, argumentString);
70+
System.out.printf("%s: Unknown action %s, ignore! action: %<s %s!\n", DcmAgent.class.getName(), action, argumentString);
7171
if (filePrinter != null) {
72-
filePrinter.printf("Unknown action %s! ignore %<s %s !\n", action, argumentString);
72+
filePrinter.printf("Unknown action %s, ignore! action: %<s %s !\n", action, argumentString);
7373
}
7474
continue;
7575
}

library/src/test/java/com/alibaba/dcm/DnsCacheEntryTest.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import org.junit.Test;
44

5+
import java.text.SimpleDateFormat;
56
import java.util.Date;
67

78
import static org.junit.Assert.assertArrayEquals;
@@ -67,9 +68,11 @@ public void test_getter() throws Exception {
6768
@Test
6869
public void test_toString() throws Exception {
6970
final Date expiration = new Date();
71+
final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSZ");
72+
final String date = dateFormat.format(expiration);
7073
DnsCacheEntry entry = new DnsCacheEntry("a.com", new String[]{"1.1.1.1"}, expiration);
7174

72-
String expected = String.format("DnsCacheEntry{host='a.com', ips=[1.1.1.1], expiration=%s}", expiration);
75+
String expected = String.format("DnsCacheEntry{host='a.com', ips=[1.1.1.1], expiration=%s}", date);
7376
assertEquals(expected, entry.toString());
7477
}
7578
}

library/src/test/java/com/alibaba/dcm/DnsCacheTest.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import org.junit.Test;
44

5+
import java.text.SimpleDateFormat;
56
import java.util.ArrayList;
67
import java.util.Arrays;
78
import java.util.Date;
@@ -33,6 +34,9 @@ public void test_equals() throws Exception {
3334
@Test
3435
public void test_toString() throws Exception {
3536
final Date expiration = new Date();
37+
final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSZ");
38+
final String date = dateFormat.format(expiration);
39+
3640
DnsCacheEntry entry1 = new DnsCacheEntry("a.com", new String[]{"1.1.1.1"}, expiration);
3741
DnsCacheEntry entry2 = new DnsCacheEntry("b.com", new String[]{"1.1.1.2"}, expiration);
3842
DnsCacheEntry entry3 = new DnsCacheEntry("c.com", new String[]{"1.1.1.2"}, expiration);
@@ -43,7 +47,7 @@ public void test_toString() throws Exception {
4347

4448
String expected = String.format("DnsCache{cache=[DnsCacheEntry{host='a.com', ips=[1.1.1.1], expiration=%s}" +
4549
", DnsCacheEntry{host='b.com', ips=[1.1.1.2], expiration=%<s}]" +
46-
", negativeCache=[DnsCacheEntry{host='c.com', ips=[1.1.1.2], expiration=%<s}]}", expiration);
50+
", negativeCache=[DnsCacheEntry{host='c.com', ips=[1.1.1.2], expiration=%<s}]}", date);
4751

4852
assertEquals(expected, dnsCache.toString());
4953
}

library/src/test/java/com/alibaba/dcm/agent/DcmAgentTest.java

Lines changed: 38 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@
22

33
import com.alibaba.dcm.DnsCacheManipulator;
44
import org.apache.commons.io.FileUtils;
5+
import org.junit.After;
56
import org.junit.Before;
67
import org.junit.Test;
78

89
import java.io.File;
10+
import java.util.List;
911

12+
import static org.hamcrest.CoreMatchers.containsString;
1013
import static org.hamcrest.CoreMatchers.startsWith;
1114
import static org.junit.Assert.assertArrayEquals;
1215
import static org.junit.Assert.assertEquals;
@@ -19,6 +22,7 @@
1922
*/
2023
public class DcmAgentTest {
2124
File outputFile;
25+
String outputFilePath;
2226

2327
@Before
2428
public void setUp() throws Exception {
@@ -28,15 +32,17 @@ public void setUp() throws Exception {
2832
assertTrue(outputFile.length() == 0);
2933
System.out.println("Prepared output file: " + outputFile.getAbsolutePath());
3034

35+
outputFilePath = outputFile.getAbsolutePath();
36+
3137
DnsCacheManipulator.clearDnsCache();
3238
}
3339

34-
void checkOutputFile() throws Exception {
40+
@After
41+
public void tearDown() throws Exception {
3542
System.out.println("============================================");
3643
System.out.println("Agent Output File Content");
3744
System.out.println("============================================");
3845
final String text = FileUtils.readFileToString(outputFile);
39-
assertTrue(text.length() > 0);
4046
System.out.println(text);
4147
}
4248

@@ -47,10 +53,10 @@ public void test_agentmain_empty() throws Exception {
4753

4854
@Test
4955
public void test_agentmain_file() throws Exception {
50-
final String output = outputFile.getAbsolutePath();
51-
DcmAgent.agentmain("file " + output);
56+
DcmAgent.agentmain("file " + outputFilePath);
5257

53-
checkOutputFile();
58+
final List<String> content = FileUtils.readLines(outputFile);
59+
assertThat(content.get(0), containsString("No action in agent argument, do nothing!"));
5460
}
5561

5662
@Test
@@ -61,11 +67,12 @@ public void test_agentmain_set() throws Exception {
6167

6268
@Test
6369
public void test_agentmain_set_toFile() throws Exception {
64-
final String output = outputFile.getAbsolutePath();
65-
DcmAgent.agentmain("set baidu.com 1.2.3.4 file " + output);
70+
DcmAgent.agentmain("set baidu.com 1.2.3.4 file " + outputFilePath);
6671
assertEquals("1.2.3.4", DnsCacheManipulator.getDnsCache("baidu.com").getIp());
67-
68-
checkOutputFile();
72+
73+
final List<String> content = FileUtils.readLines(outputFile);
74+
assertThat(content.get(0), containsString("set DONE."));
75+
assertEquals(DcmAgent.DCM_AGENT_SUCCESS_MARK_LINE, content.get(content.size() - 1));
6976
}
7077

7178
@Test
@@ -125,26 +132,35 @@ public void test_agentmain_skipNoActionArguments() throws Exception {
125132

126133
@Test
127134
public void test_agentmain_actionNeedMoreArgument() throws Exception {
128-
try {
129-
DcmAgent.agentmain(" setNegativePolicy ");
130-
fail();
131-
} catch (IllegalStateException expected) {
132-
assertThat(expected.getMessage(), startsWith("action setNegativePolicy need more argument"));
133-
}
135+
DnsCacheManipulator.setDnsNegativeCachePolicy(1110);
136+
137+
DcmAgent.agentmain(" setNegativePolicy file " + outputFilePath);
138+
139+
assertEquals(1110, DnsCacheManipulator.getDnsNegativeCachePolicy());
140+
141+
final List<String> content = FileUtils.readLines(outputFile);
142+
assertThat(content.get(0), containsString("Error to do action setNegativePolicy"));
143+
assertThat(content.get(0), containsString("action setNegativePolicy need more argument!"));
134144
}
135145

136146
@Test
137147
public void test_agentmain_actionTooMoreArgument() throws Exception {
138-
try {
139-
DcmAgent.agentmain(" setNegativePolicy 737 HaHa ");
140-
fail();
141-
} catch (IllegalStateException expected) {
142-
assertThat(expected.getMessage(), startsWith("Too more arguments for Action"));
143-
}
148+
DnsCacheManipulator.setDnsNegativeCachePolicy(1111);
149+
150+
DcmAgent.agentmain(" setNegativePolicy 737 HaHa file " + outputFilePath);
151+
152+
assertEquals(1111, DnsCacheManipulator.getDnsNegativeCachePolicy());
153+
154+
final List<String> content = FileUtils.readLines(outputFile);
155+
assertThat(content.get(0), containsString("Error to do action setNegativePolicy 737 HaHa"));
156+
assertThat(content.get(0), containsString("Too more arguments for Action setNegativePolicy! arguments: [737, HaHa]"));
144157
}
145158

146159
@Test
147160
public void test_agentmain_unknownAction() throws Exception {
148-
DcmAgent.agentmain(" unknownAction arg1 arg2 ");
161+
DcmAgent.agentmain(" unknownAction arg1 arg2 file " + outputFilePath);
162+
163+
final List<String> content = FileUtils.readLines(outputFile);
164+
assertThat(content.get(0), containsString("No action in agent argument, do nothing!"));
149165
}
150166
}

0 commit comments

Comments
 (0)