Skip to content
This repository was archived by the owner on Jan 6, 2023. It is now read-only.

Commit 193654d

Browse files
committed
add filterConfig tests
1 parent 2cd9bde commit 193654d

File tree

2 files changed

+85
-5
lines changed

2 files changed

+85
-5
lines changed

src/test/java/weblogic/logging/exporter/config/FilterConfigTest.java

Lines changed: 70 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,91 @@
66

77
package weblogic.logging.exporter.config;
88

9-
import static org.junit.jupiter.api.Assertions.assertEquals;
9+
import static org.junit.jupiter.api.Assertions.*;
1010

11+
import java.io.ByteArrayOutputStream;
12+
import java.io.PrintStream;
1113
import java.util.HashMap;
1214
import java.util.Map;
15+
import org.junit.jupiter.api.AfterEach;
16+
import org.junit.jupiter.api.BeforeEach;
1317
import org.junit.jupiter.api.DisplayName;
1418
import org.junit.jupiter.api.Test;
1519

1620
@DisplayName("Test FilterConfig class")
1721
public class FilterConfigTest {
1822

19-
private static final String EXPECTED_STRING =
23+
private final ByteArrayOutputStream outContent = new ByteArrayOutputStream();
24+
private final ByteArrayOutputStream errContent = new ByteArrayOutputStream();
25+
private final PrintStream originalOut = System.out;
26+
private final PrintStream originalErr = System.err;
27+
28+
@BeforeEach
29+
public void setUpStreams() {
30+
System.setOut(new PrintStream(outContent));
31+
System.setErr(new PrintStream(errContent));
32+
}
33+
34+
@AfterEach
35+
public void restoreStreams() {
36+
System.setOut(originalOut);
37+
System.setErr(originalErr);
38+
}
39+
40+
private static final String EXPECTED_FILTERS_STRING =
2041
"FilterConfig{expression='MSGID != 'BEA-000449'', servers=[]}";
2142

22-
@DisplayName("Check toString() works as expected")
43+
private static final String EXPECTED_SERVERS_STRING =
44+
"FilterConfig{expression='null', servers=[managed-server-1]}";
45+
46+
@DisplayName("Check toString() works as expected for filter expressions")
47+
@Test
48+
public void checkToStringWorksAsExpectedForFilterExpressions() {
49+
Map<String, Object> map = new HashMap<>();
50+
map.put("FilterExpression", "MSGID != 'BEA-000449'");
51+
FilterConfig filterConfig = FilterConfig.create(map);
52+
53+
assertEquals(EXPECTED_FILTERS_STRING, filterConfig.toString());
54+
}
55+
56+
@DisplayName("Check toString() works as expected for servers")
57+
@Test
58+
public void checkToStringWorksAsExpectedForServers() {
59+
Map<String, Object> map = new HashMap<>();
60+
map.put("FilterServers", "managed-server-1");
61+
FilterConfig filterConfig = FilterConfig.create(map);
62+
63+
assertEquals(EXPECTED_SERVERS_STRING, filterConfig.toString());
64+
}
65+
66+
@DisplayName("Check the query can be retrieved")
2367
@Test
24-
public void checkToStringWorksAsExpected() {
68+
public void checkTheQuery() {
2569
Map<String, Object> map = new HashMap<>();
2670
map.put("FilterExpression", "MSGID != 'BEA-000449'");
2771
FilterConfig filterConfig = FilterConfig.create(map);
2872

29-
assertEquals(EXPECTED_STRING, filterConfig.toString());
73+
assertTrue(
74+
filterConfig.getQuery().toString().contains("weblogic.diagnostics.query.CompiledQuery"));
75+
}
76+
77+
@DisplayName("Bad filter expression")
78+
@Test
79+
public void badFilterExpression() {
80+
Map<String, Object> map = new HashMap<>();
81+
map.put("FilterExpression", "nonsense-text");
82+
FilterConfig filterConfig = FilterConfig.create(map);
83+
84+
assertTrue(outContent.toString().contains(("Error Parsing expression:")));
85+
}
86+
87+
@DisplayName("Check duplicate values are rejected")
88+
@Test
89+
public void checkDuplicateValuesAreRejected() {
90+
Map<String, Object> map = new HashMap<>();
91+
map.put(
92+
"FilterServers", new String[] {"managed-server-1", "managed-server-2", "managed-server-1"});
93+
94+
assertThrows(ConfigurationException.class, () -> FilterConfig.create(map));
3095
}
3196
}

src/test/resources/config3.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Test config file
2+
# This one has an upper case index name, which should be converted to lower case
3+
4+
publishHost: host1
5+
publishPort: 1234
6+
weblogicLoggingExporterFilters:
7+
- FilterExpression: MSGID != 'BEA-000449'
8+
FilterServers:
9+
- managed-server-1
10+
- managed-server-2
11+
weblogicLoggingExporterEnabled: false
12+
weblogicLoggingExporterSeverity: Warning
13+
weblogicLoggingExporterBulkSize: 2
14+
weblogicLoggingIndexName: INDEX2
15+
domainUID: domain1

0 commit comments

Comments
 (0)