blob: 49fda9ea1827f10f96f4b07a98a531ff8d86f030 [file] [log] [blame]
/*
* Copyright 2016 Open Networking Laboratory
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.onosproject.ospf.controller.lsdb;
import org.easymock.EasyMock;
import org.jboss.netty.channel.Channel;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.onosproject.ospf.controller.LsaWrapper;
import org.onosproject.ospf.controller.OspfArea;
import org.onosproject.ospf.controller.OspfLsaType;
import org.onosproject.ospf.controller.area.OspfAreaImpl;
import org.onosproject.ospf.controller.area.OspfInterfaceImpl;
import org.onosproject.ospf.protocol.lsa.LsaHeader;
import org.onosproject.ospf.protocol.lsa.types.RouterLsa;
import org.onosproject.ospf.protocol.util.OspfInterfaceState;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.hamcrest.MatcherAssert.assertThat;
/**
* Unit test class for LsaQueueConsumer.
*/
public class LsaQueueConsumerTest {
private LsaQueueConsumer lsaQueueConsumer;
private BlockingQueue<LsaWrapper> blockingQueue;
private Channel channel;
private LsaWrapperImpl lsaWrapper;
private OspfArea ospfArea;
private RouterLsa routerLsa;
private OspfInterfaceImpl ospfInterface;
private LsaHeader lsaHeader;
private LsdbAgeImpl lsdbAge;
@Before
public void setUp() throws Exception {
lsaQueueConsumer = EasyMock.createMock(LsaQueueConsumer.class);
}
@After
public void tearDown() throws Exception {
lsaQueueConsumer = null;
blockingQueue = null;
channel = null;
lsaWrapper = null;
lsdbAge = null;
lsaHeader = null;
ospfInterface = null;
ospfArea = null;
routerLsa = null;
}
/**
* Tests run() method.
*/
@Test
public void testRun() throws Exception {
blockingQueue = new ArrayBlockingQueue(5);
channel = EasyMock.createMock(Channel.class);
ospfArea = new OspfAreaImpl();
lsaWrapper = new LsaWrapperImpl();
lsaWrapper.setLsaProcessing("verifyChecksum");
blockingQueue.add(lsaWrapper);
lsaQueueConsumer = new LsaQueueConsumer(blockingQueue, channel, ospfArea);
lsaQueueConsumer.run();
assertThat(lsaQueueConsumer, is(notNullValue()));
}
/**
* Tests run() method.
*/
@Test
public void testRun1() throws Exception {
blockingQueue = new ArrayBlockingQueue(5);
channel = EasyMock.createMock(Channel.class);
ospfArea = new OspfAreaImpl();
lsaWrapper = new LsaWrapperImpl();
routerLsa = new RouterLsa();
routerLsa.setLsType(1);
lsaWrapper.addLsa(OspfLsaType.ROUTER, routerLsa);
ospfInterface = new OspfInterfaceImpl();
ospfInterface.setState(OspfInterfaceState.DR);
lsaWrapper.setOspfInterface(ospfInterface);
lsaWrapper.setIsSelfOriginated(true);
lsaHeader = new LsaHeader();
lsaHeader.setLsType(1);
lsaWrapper.setLsaHeader(lsaHeader);
lsaWrapper.setLsaProcessing("refreshLsa");
lsaWrapper.setLsdbAge(new LsdbAgeImpl(new OspfAreaImpl()));
blockingQueue.add(lsaWrapper);
lsaQueueConsumer = new LsaQueueConsumer(blockingQueue, channel, ospfArea);
lsaQueueConsumer.run();
assertThat(lsaQueueConsumer, is(notNullValue()));
}
@Test
public void testRun3() throws Exception {
blockingQueue = new ArrayBlockingQueue(5);
channel = EasyMock.createMock(Channel.class);
ospfArea = new OspfAreaImpl();
lsaWrapper = new LsaWrapperImpl();
routerLsa = new RouterLsa();
routerLsa.setLsType(2);
lsaWrapper.addLsa(OspfLsaType.NETWORK, routerLsa);
ospfInterface = new OspfInterfaceImpl();
ospfInterface.setState(OspfInterfaceState.BDR);
lsaWrapper.setOspfInterface(ospfInterface);
lsaWrapper.setIsSelfOriginated(true);
lsaHeader = new LsaHeader();
lsaHeader.setLsType(2);
lsaWrapper.setLsaHeader(lsaHeader);
lsaWrapper.setLsaProcessing("refreshLsa");
lsaWrapper.setLsdbAge(new LsdbAgeImpl(new OspfAreaImpl()));
blockingQueue.add(lsaWrapper);
lsaQueueConsumer = new LsaQueueConsumer(blockingQueue, channel, ospfArea);
lsaQueueConsumer.run();
assertThat(lsaQueueConsumer, is(notNullValue()));
}
/**
* Tests run() method.
*/
@Test
public void testRun5() throws Exception {
blockingQueue = new ArrayBlockingQueue(5);
channel = EasyMock.createMock(Channel.class);
ospfArea = new OspfAreaImpl();
lsaWrapper = new LsaWrapperImpl();
routerLsa = new RouterLsa();
routerLsa.setLsType(2);
lsaWrapper.addLsa(OspfLsaType.NETWORK, routerLsa);
ospfInterface = new OspfInterfaceImpl();
ospfInterface.setState(OspfInterfaceState.DR);
lsaWrapper.setOspfInterface(ospfInterface);
lsaWrapper.setIsSelfOriginated(true);
lsaHeader = new LsaHeader();
lsaHeader.setLsType(2);
lsaWrapper.setLsaHeader(lsaHeader);
lsaWrapper.setLsaProcessing("maxAgeLsa");
lsaWrapper.setLsdbAge(new LsdbAgeImpl(new OspfAreaImpl()));
blockingQueue.add(lsaWrapper);
lsaQueueConsumer = new LsaQueueConsumer(blockingQueue, channel, ospfArea);
lsaQueueConsumer.run();
assertThat(lsaQueueConsumer, is(notNullValue()));
}
/**
* Tests setChannel() method.
*/
@Test
public void testSetChannel() throws Exception {
channel = EasyMock.createMock(Channel.class);
lsdbAge = new LsdbAgeImpl(new OspfAreaImpl());
lsdbAge.startDbAging();
lsdbAge.setChannel(channel);
assertThat(lsaQueueConsumer, is(notNullValue()));
}
}