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_DENY() {
87 final JettyFilter filter = new JettyFilter();
89 final LoggingEvent event = new LoggingEvent();
90 event.setMessage("org.invalid.jetty");
91 event.setLoggerName("org.invalid.jetty");
92 assertEquals(FilterReply.DENY, filter.decide(event));
96 public void Given_Event_with_level_info_and_valid_jetty_string_then_metrics_filter_DENY() {
97 final MetricsFilter filter = new MetricsFilter();
99 final LoggingEvent event = new LoggingEvent();
100 event.setLevel(Level.INFO);
101 event.setMessage("org.eclipse.jetty");
102 assertEquals(FilterReply.DENY, filter.decide(event));
107 public void Given_Event_with_level_not_info_and_valid_jetty_string_then_metrics_filter_DENY() {
108 final MetricsFilter filter = new MetricsFilter();
110 final LoggingEvent event = new LoggingEvent();
111 event.setLevel(Level.DEBUG);
112 event.setMessage("org.eclipse.jetty");
113 assertEquals(FilterReply.DENY, filter.decide(event));
118 public void Given_Event_with_level_not_info_and_invalid_jetty_string_and_valid_logger_then_metrics_filter_DENY() {
119 final MetricsFilter filter = new MetricsFilter();
121 final LoggingEvent event = new LoggingEvent();
122 event.setLevel(Level.DEBUG);
123 event.setMessage("org.invalid.jetty");
124 event.setLoggerName("org.eclipse.jetty");
125 assertEquals(FilterReply.DENY, filter.decide(event));
129 public void Given_Event_with_level_not_info_and_invalid_jetty_string_and_invalid_logger_then_metrics_filter_DENY() {
130 final MetricsFilter filter = new MetricsFilter();
132 final LoggingEvent event = new LoggingEvent();
133 event.setLevel(Level.DEBUG);
134 event.setMessage("org.invalid.jetty");
135 event.setLoggerName("org.eclipse.jetty");
136 event.setLoggerName("org.invalid.jetty");
137 assertEquals(FilterReply.DENY, filter.decide(event));
141 public void Given_Event_with_level_info_and_invalid_jetty_string_and_status_in_status_list_and_valid_logger_then_metrics_filter_DENY() {
142 final List<String> validStatus = asList("DEL|", "PUB|", "PBF|", "EXP|", "DLX|");
143 final MetricsFilter filter = new MetricsFilter();
146 for (final String status : validStatus) {
147 final LoggingEvent event = new LoggingEvent();
148 event.setLevel(Level.INFO);
149 event.setMessage(status);
150 event.setLoggerName("org.eclipse.jetty");
151 assertEquals(FilterReply.DENY, filter.decide(event));
156 public void Given_Event_with_level_info_and_invalid_jetty_string_and_status_in_status_list_and_invalid_logger_then_metrics_filter_DENY() {
157 final List<String> validStatus = asList("DEL|", "PUB|", "PBF|", "EXP|", "DLX|");
158 final MetricsFilter filter = new MetricsFilter();
161 for (final String status : validStatus) {
162 final LoggingEvent event = new LoggingEvent();
163 event.setLevel(Level.INFO);
164 event.setMessage(status);
165 event.setLoggerName("org.invalid.jetty");
166 assertEquals(FilterReply.DENY, filter.decide(event));
171 public void Given_Event_with_level_info_and_invalid_jetty_string_and_status_not_in_status_list_and_valid_logger_then_metrics_filter_DENY() {
172 final MetricsFilter filter = new MetricsFilter();
174 final LoggingEvent event = new LoggingEvent();
175 event.setLevel(Level.INFO);
176 event.setMessage("Invalid status");
177 event.setLoggerName("org.eclipse.jetty");
178 assertEquals(FilterReply.DENY, filter.decide(event));
182 public void Given_Event_with_level_info_and_invalid_jetty_string_and_status_not_in_status_list_and_invalid_logger_then_metrics_filter_ACCEPT() {
183 final MetricsFilter filter = new MetricsFilter();
185 final LoggingEvent event = new LoggingEvent();
186 event.setLevel(Level.INFO);
187 event.setMessage("Invalid status");
188 event.setLoggerName("org.invalid.jetty");
189 assertEquals(FilterReply.ACCEPT, filter.decide(event));
193 public void Given_Event_with_level_debug_and_valid_jetty_string_then_debug_filter_DENY() {
194 final DebugFilter filter = new DebugFilter();
196 final LoggingEvent event = new LoggingEvent();
197 event.setLevel(Level.DEBUG);
198 event.setMessage("org.eclipse.jetty");
199 assertEquals(FilterReply.DENY, filter.decide(event));
204 public void Given_Event_with_level_not_debug_and_valid_jetty_string_then_debug_filter_DENY() {
205 final DebugFilter filter = new DebugFilter();
207 final LoggingEvent event = new LoggingEvent();
208 event.setLevel(Level.INFO);
209 event.setMessage("org.eclipse.jetty");
210 assertEquals(FilterReply.DENY, filter.decide(event));
215 public void Given_Event_with_level_not_debug_and_not_valid_jetty_string_then_debug_filter_DENY() {
216 final DebugFilter filter = new DebugFilter();
218 final LoggingEvent event = new LoggingEvent();
219 event.setLevel(Level.INFO);
220 event.setMessage("org.invalid.jetty");
221 assertEquals(FilterReply.DENY, filter.decide(event));
226 public void Given_Event_with_level_debug_and_not_valid_jetty_string_then_debug_filter_ACCEPT() {
227 final DebugFilter filter = new DebugFilter();
229 final LoggingEvent event = new LoggingEvent();
230 event.setLevel(Level.DEBUG);
231 event.setMessage("org.invalid.jetty");
232 assertEquals(FilterReply.ACCEPT, filter.decide(event));
237 public void Given_Event_with_level_error_and_valid_jetty_string_then_error_filter_DENY() {
238 final ErrorFilter filter = new ErrorFilter();
240 final LoggingEvent event = new LoggingEvent();
241 event.setLevel(Level.ERROR);
242 event.setMessage("org.eclipse.jetty");
243 assertEquals(FilterReply.DENY, filter.decide(event));
248 public void Given_Event_with_level_warn_and_valid_jetty_string_then_error_filter_DENY() {
249 final ErrorFilter filter = new ErrorFilter();
251 final LoggingEvent event = new LoggingEvent();
252 event.setLevel(Level.WARN);
253 event.setMessage("org.eclipse.jetty");
254 assertEquals(FilterReply.DENY, filter.decide(event));
259 public void Given_Event_with_level_not_warn_or_error_and_valid_jetty_string_then_error_filter_DENY() {
260 final ErrorFilter filter = new ErrorFilter();
262 final LoggingEvent event = new LoggingEvent();
263 event.setLevel(Level.INFO);
264 event.setMessage("org.eclipse.jetty");
265 assertEquals(FilterReply.DENY, filter.decide(event));
270 public void Given_Event_with_level_not_warn_or_error_and_invalid_jetty_string_then_error_filter_DENY() {
271 final ErrorFilter filter = new ErrorFilter();
273 final LoggingEvent event = new LoggingEvent();
274 event.setLevel(Level.INFO);
275 event.setMessage("org.invalid.jetty");
276 assertEquals(FilterReply.DENY, filter.decide(event));
281 public void Given_Event_with_level_warn_and_invalid_jetty_string_then_error_filter_ACCEPT() {
282 final ErrorFilter filter = new ErrorFilter();
284 final LoggingEvent event = new LoggingEvent();
285 event.setLevel(Level.WARN);
286 event.setMessage("org.invalid.jetty");
287 assertEquals(FilterReply.ACCEPT, filter.decide(event));
292 public void Given_Event_with_level_error_and_invalid_jetty_string_then_error_filter_ACCEPT() {
293 final ErrorFilter filter = new ErrorFilter();
295 final LoggingEvent event = new LoggingEvent();
296 event.setLevel(Level.ERROR);
297 event.setMessage("org.invalid.jetty");
298 assertEquals(FilterReply.ACCEPT, filter.decide(event));
304 public void Given_call_to_EelfMsgs_return_the_correct_enum(){
305 assertEquals(MESSAGE_WITH_BEHALF.toString(), "MESSAGE_WITH_BEHALF");