/** * Logback: the reliable, generic, fast and flexible logging framework. * Copyright (C) 1999-2015, QOS.ch. All rights reserved. * * This program and the accompanying materials are dual-licensed under * either the terms of the Eclipse Public License v1.0 as published by * the Eclipse Foundation * * or (per the licensee's choosing) * * under the terms of the GNU Lesser General Public License version 2.1 * as published by the Free Software Foundation. */ package ch.qos.logback.core.net.ssl.mock; import java.util.LinkedList; import java.util.List; import ch.qos.logback.core.spi.ContextAware; import ch.qos.logback.core.spi.ContextAwareBase; /** * A {@link ContextAware} with instrumentation for unit testing. * * @author Carl Harris */ public class MockContextAware extends ContextAwareBase implements ContextAware { private final List<String> info = new LinkedList<String>(); private final List<String> warn = new LinkedList<String>(); private final List<String> error = new LinkedList<String>(); @Override public void addInfo(String msg) { info.add(msg); } @Override public void addWarn(String msg) { warn.add(msg); } @Override public void addError(String msg) { error.add(msg); } public boolean hasInfoMatching(String regex) { return hasMatching(info, regex); } public boolean hasWarnMatching(String regex) { return hasMatching(info, regex); } public boolean hasErrorMatching(String regex) { return hasMatching(info, regex); } private boolean hasMatching(List<String> messages, String regex) { for (String message : messages) { if (message.matches(regex)) return true; } return false; } }