1 /*******************************************************************************
2 * ============LICENSE_START==================================================
4 * * ===========================================================================
5 * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6 * * ===========================================================================
7 * * Licensed under the Apache License, Version 2.0 (the "License");
8 * * you may not use this file except in compliance with the License.
9 * * You may obtain a copy of the License at
11 * * http://www.apache.org/licenses/LICENSE-2.0
13 * * Unless required by applicable law or agreed to in writing, software
14 * * distributed under the License is distributed on an "AS IS" BASIS,
15 * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * * See the License for the specific language governing permissions and
17 * * limitations under the License.
18 * * ============LICENSE_END====================================================
20 * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
22 ******************************************************************************/
24 package org.onap.dmaap.datarouter.node;
26 import static java.util.Arrays.asList;
27 import static org.junit.Assert.assertEquals;
28 import static org.onap.dmaap.datarouter.node.eelf.EelfMsgs.MESSAGE_WITH_BEHALF;
30 import ch.qos.logback.classic.Level;
31 import ch.qos.logback.classic.spi.LoggingEvent;
32 import ch.qos.logback.core.spi.FilterReply;
33 import java.util.List;
34 import org.junit.Test;
35 import org.onap.dmaap.datarouter.node.eelf.AuditFilter;
36 import org.onap.dmaap.datarouter.node.eelf.DebugFilter;
37 import org.onap.dmaap.datarouter.node.eelf.ErrorFilter;
38 import org.onap.dmaap.datarouter.node.eelf.JettyFilter;
39 import org.onap.dmaap.datarouter.node.eelf.MetricsFilter;
41 public class LogbackFilterTest {
44 public void Given_Event_with_valid_status_then_audit_Filter_ACCEPT() {
45 final List<String> validStatus = asList("DEL|", "PUB|", "PBF|", "EXP|", "DLX|");
46 final AuditFilter filter = new AuditFilter();
49 for (final String status : validStatus) {
50 final LoggingEvent event = new LoggingEvent();
51 event.setMessage("Test " + status);
52 assertEquals(FilterReply.ACCEPT, filter.decide(event));
57 public void Given_Event_with_invalid_status_then_audit_Filter_DENY() {
58 final AuditFilter filter = new AuditFilter();
60 final LoggingEvent event = new LoggingEvent();
61 event.setMessage("Invalid status");
62 assertEquals(FilterReply.DENY, filter.decide(event));
66 public void Given_Event_with_valid_jetty_string_and_invalid_logger_then_jetty_Filter_ACCEPT() {
67 final JettyFilter filter = new JettyFilter();
69 final LoggingEvent event = new LoggingEvent();
70 event.setMessage("org.eclipse.jetty");
71 event.setLoggerName("org.invalid.jetty");
72 assertEquals(FilterReply.ACCEPT, filter.decide(event));
76 public void Given_Event_with_valid_jetty_string_and_valid_logger_then_jetty_Filter_ACCEPT() {
77 final JettyFilter filter = new JettyFilter();
79 final LoggingEvent event = new LoggingEvent();
80 event.setMessage("org.eclipse.jetty");
81 event.setLoggerName("org.eclipse.jetty");
82 assertEquals(FilterReply.ACCEPT, filter.decide(event));
86 public void Given_Event_with_invalid_jetty_string_and_valid_logger_then_jetty_Filter_ACCEPT() {
87 final JettyFilter filter = new JettyFilter();
89 final LoggingEvent event = new LoggingEvent();
90 event.setMessage("org.invalid.jetty");
91 event.setLoggerName("org.eclipse.jetty");
92 assertEquals(FilterReply.ACCEPT, filter.decide(event));
96 public void Given_Event_with_invalid_jetty_string_and_invalid_logger_then_jetty_Filter_DENY() {
97 final JettyFilter filter = new JettyFilter();
99 final LoggingEvent event = new LoggingEvent();
100 event.setMessage("org.invalid.jetty");
101 event.setLoggerName("org.invalid.jetty");
102 assertEquals(FilterReply.DENY, filter.decide(event));
106 public void Given_Event_with_level_info_and_valid_jetty_string_then_metrics_filter_DENY() {
107 final MetricsFilter filter = new MetricsFilter();
109 final LoggingEvent event = new LoggingEvent();
110 event.setLevel(Level.INFO);
111 event.setMessage("org.eclipse.jetty");
112 assertEquals(FilterReply.DENY, filter.decide(event));
117 public void Given_Event_with_level_not_info_and_valid_jetty_string_then_metrics_filter_DENY() {
118 final MetricsFilter filter = new MetricsFilter();
120 final LoggingEvent event = new LoggingEvent();
121 event.setLevel(Level.DEBUG);
122 event.setMessage("org.eclipse.jetty");
123 assertEquals(FilterReply.DENY, filter.decide(event));
128 public void Given_Event_with_level_not_info_and_invalid_jetty_string_and_valid_logger_then_metrics_filter_DENY() {
129 final MetricsFilter filter = new MetricsFilter();
131 final LoggingEvent event = new LoggingEvent();
132 event.setLevel(Level.DEBUG);
133 event.setMessage("org.invalid.jetty");
134 event.setLoggerName("org.eclipse.jetty");
135 assertEquals(FilterReply.DENY, filter.decide(event));
139 public void Given_Event_with_level_not_info_and_invalid_jetty_string_and_invalid_logger_then_metrics_filter_DENY() {
140 final MetricsFilter filter = new MetricsFilter();
142 final LoggingEvent event = new LoggingEvent();
143 event.setLevel(Level.DEBUG);
144 event.setMessage("org.invalid.jetty");
145 event.setLoggerName("org.eclipse.jetty");
146 event.setLoggerName("org.invalid.jetty");
147 assertEquals(FilterReply.DENY, filter.decide(event));
151 public void Given_Event_with_level_info_and_invalid_jetty_string_and_status_in_status_list_and_valid_logger_then_metrics_filter_DENY() {
152 final List<String> validStatus = asList("DEL|", "PUB|", "PBF|", "EXP|", "DLX|");
153 final MetricsFilter filter = new MetricsFilter();
156 for (final String status : validStatus) {
157 final LoggingEvent event = new LoggingEvent();
158 event.setLevel(Level.INFO);
159 event.setMessage(status);
160 event.setLoggerName("org.eclipse.jetty");
161 assertEquals(FilterReply.DENY, filter.decide(event));
166 public void Given_Event_with_level_info_and_invalid_jetty_string_and_status_in_status_list_and_invalid_logger_then_metrics_filter_DENY() {
167 final List<String> validStatus = asList("DEL|", "PUB|", "PBF|", "EXP|", "DLX|");
168 final MetricsFilter filter = new MetricsFilter();
171 for (final String status : validStatus) {
172 final LoggingEvent event = new LoggingEvent();
173 event.setLevel(Level.INFO);
174 event.setMessage(status);
175 event.setLoggerName("org.invalid.jetty");
176 assertEquals(FilterReply.DENY, filter.decide(event));
181 public void Given_Event_with_level_info_and_invalid_jetty_string_and_status_not_in_status_list_and_valid_logger_then_metrics_filter_DENY() {
182 final MetricsFilter filter = new MetricsFilter();
184 final LoggingEvent event = new LoggingEvent();
185 event.setLevel(Level.INFO);
186 event.setMessage("Invalid status");
187 event.setLoggerName("org.eclipse.jetty");
188 assertEquals(FilterReply.DENY, filter.decide(event));
192 public void Given_Event_with_level_info_and_invalid_jetty_string_and_status_not_in_status_list_and_invalid_logger_then_metrics_filter_ACCEPT() {
193 final MetricsFilter filter = new MetricsFilter();
195 final LoggingEvent event = new LoggingEvent();
196 event.setLevel(Level.INFO);
197 event.setMessage("Invalid status");
198 event.setLoggerName("org.invalid.jetty");
199 assertEquals(FilterReply.ACCEPT, filter.decide(event));
203 public void Given_Event_with_level_debug_and_valid_jetty_string_then_debug_filter_DENY() {
204 final DebugFilter filter = new DebugFilter();
206 final LoggingEvent event = new LoggingEvent();
207 event.setLevel(Level.DEBUG);
208 event.setMessage("org.eclipse.jetty");
209 assertEquals(FilterReply.DENY, filter.decide(event));
214 public void Given_Event_with_level_not_debug_and_valid_jetty_string_then_debug_filter_DENY() {
215 final DebugFilter filter = new DebugFilter();
217 final LoggingEvent event = new LoggingEvent();
218 event.setLevel(Level.INFO);
219 event.setMessage("org.eclipse.jetty");
220 assertEquals(FilterReply.DENY, filter.decide(event));
225 public void Given_Event_with_level_not_debug_and_not_valid_jetty_string_then_debug_filter_DENY() {
226 final DebugFilter filter = new DebugFilter();
228 final LoggingEvent event = new LoggingEvent();
229 event.setLevel(Level.INFO);
230 event.setMessage("org.invalid.jetty");
231 assertEquals(FilterReply.DENY, filter.decide(event));
236 public void Given_Event_with_level_debug_and_not_valid_jetty_string_then_debug_filter_ACCEPT() {
237 final DebugFilter filter = new DebugFilter();
239 final LoggingEvent event = new LoggingEvent();
240 event.setLevel(Level.DEBUG);
241 event.setMessage("org.invalid.jetty");
242 assertEquals(FilterReply.ACCEPT, filter.decide(event));
247 public void Given_Event_with_level_error_and_valid_jetty_string_then_error_filter_DENY() {
248 final ErrorFilter filter = new ErrorFilter();
250 final LoggingEvent event = new LoggingEvent();
251 event.setLevel(Level.ERROR);
252 event.setMessage("org.eclipse.jetty");
253 assertEquals(FilterReply.DENY, filter.decide(event));
258 public void Given_Event_with_level_warn_and_valid_jetty_string_then_error_filter_DENY() {
259 final ErrorFilter filter = new ErrorFilter();
261 final LoggingEvent event = new LoggingEvent();
262 event.setLevel(Level.WARN);
263 event.setMessage("org.eclipse.jetty");
264 assertEquals(FilterReply.DENY, filter.decide(event));
269 public void Given_Event_with_level_not_warn_or_error_and_valid_jetty_string_then_error_filter_DENY() {
270 final ErrorFilter filter = new ErrorFilter();
272 final LoggingEvent event = new LoggingEvent();
273 event.setLevel(Level.INFO);
274 event.setMessage("org.eclipse.jetty");
275 assertEquals(FilterReply.DENY, filter.decide(event));
280 public void Given_Event_with_level_not_warn_or_error_and_invalid_jetty_string_then_error_filter_DENY() {
281 final ErrorFilter filter = new ErrorFilter();
283 final LoggingEvent event = new LoggingEvent();
284 event.setLevel(Level.INFO);
285 event.setMessage("org.invalid.jetty");
286 assertEquals(FilterReply.DENY, filter.decide(event));
291 public void Given_Event_with_level_warn_and_invalid_jetty_string_then_error_filter_ACCEPT() {
292 final ErrorFilter filter = new ErrorFilter();
294 final LoggingEvent event = new LoggingEvent();
295 event.setLevel(Level.WARN);
296 event.setMessage("org.invalid.jetty");
297 assertEquals(FilterReply.ACCEPT, filter.decide(event));
302 public void Given_Event_with_level_error_and_invalid_jetty_string_then_error_filter_ACCEPT() {
303 final ErrorFilter filter = new ErrorFilter();
305 final LoggingEvent event = new LoggingEvent();
306 event.setLevel(Level.ERROR);
307 event.setMessage("org.invalid.jetty");
308 assertEquals(FilterReply.ACCEPT, filter.decide(event));
313 public void Given_call_to_EelfMsgs_return_the_correct_enum(){
314 assertEquals("MESSAGE_WITH_BEHALF", MESSAGE_WITH_BEHALF.toString());