blob: 7c9816b45d0f7da560c514ca8570ff0f15768a69 [file] [log] [blame]
/*
* Copyright 2016-present 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.impl;
import org.easymock.EasyMock;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.onlab.packet.Ip4Address;
import org.onosproject.ospf.controller.OspfArea;
import org.onosproject.ospf.controller.OspfInterface;
import org.onosproject.ospf.controller.OspfLinkListener;
import org.onosproject.ospf.controller.OspfProcess;
import org.onosproject.ospf.controller.OspfRouter;
import org.onosproject.ospf.controller.OspfRouterListener;
import org.onosproject.ospf.controller.area.OspfAreaImpl;
import org.onosproject.ospf.controller.area.OspfInterfaceImpl;
import org.onosproject.ospf.controller.area.OspfProcessImpl;
import java.util.ArrayList;
import java.util.List;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.hamcrest.MatcherAssert.assertThat;
/**
* Unit test class for OspfRouterId.
*/
public class OspfControllerImplTest {
private OspfControllerImpl ospfController;
private OspfRouterListener ospfRouterListener;
private OspfLinkListener ospfLinkListener;
private Controller controller;
private List<OspfProcess> ospfProcesses;
private OspfProcess process1;
private OspfProcess process2;
private List<OspfArea> areas;
private OspfAreaImpl ospfArea;
private List<OspfInterface> ospfInterfaces;
private OspfInterfaceImpl ospfInterface;
private OspfProcess ospfProcess;
private OspfArea ospfArea1;
private OspfRouter ospfRouter;
@Before
public void setUp() throws Exception {
ospfController = new OspfControllerImpl();
controller = new Controller();
}
@After
public void tearDown() throws Exception {
ospfController = null;
ospfRouterListener = null;
ospfLinkListener = null;
controller = null;
ospfProcesses = null;
areas = null;
ospfArea = null;
ospfInterfaces = null;
ospfInterface = null;
ospfProcess = null;
ospfProcess = null;
ospfArea1 = null;
ospfRouter = null;
}
/**
* Tests activate() method.
*/
@Test
public void testActivate() throws Exception {
ospfController.activate();
assertThat(ospfController, is(notNullValue()));
}
@Test(expected = Exception.class)
public void testDeactivate() throws Exception {
ospfController.activate();
ospfController.deactivate();
assertThat(ospfController, is(notNullValue()));
}
/**
* Tests addRouterListener() method.
*/
@Test
public void testAddRouterListener() throws Exception {
ospfRouterListener = EasyMock.createMock(OspfRouterListener.class);
ospfController.addRouterListener(ospfRouterListener);
assertThat(ospfController, is(notNullValue()));
}
/**
* Tests removeRouterListener() method.
*/
@Test
public void testRemoveRouterListener() throws Exception {
ospfRouterListener = EasyMock.createMock(OspfRouterListener.class);
ospfController.addRouterListener(ospfRouterListener);
ospfController.removeRouterListener(ospfRouterListener);
assertThat(ospfController, is(notNullValue()));
}
/**
* Tests addLinkListener() method.
*/
@Test
public void testAddLinkListener() throws Exception {
ospfLinkListener = EasyMock.createMock(OspfLinkListener.class);
ospfController.addLinkListener(ospfLinkListener);
assertThat(ospfController, is(notNullValue()));
}
/**
* Tests removeLinkListener() method.
*/
@Test
public void testRemoveLinkListener() throws Exception {
ospfLinkListener = EasyMock.createMock(OspfLinkListener.class);
ospfController.addLinkListener(ospfLinkListener);
ospfController.removeLinkListener(ospfLinkListener);
assertThat(ospfController, is(notNullValue()));
}
/**
* Tests updateConfig() method.
*/
@Test
public void testUpdateConfig() throws Exception {
ospfProcess = new OspfProcessImpl();
ospfArea = new OspfAreaImpl();
ospfInterface = new OspfInterfaceImpl();
ospfInterfaces = new ArrayList();
ospfInterface.setIpAddress(Ip4Address.valueOf("11.11.11.11"));
ospfInterfaces.add(ospfInterface);
ospfArea.setAreaId(Ip4Address.valueOf("2.2.2.2"));
ospfArea.setInterfacesLst(ospfInterfaces);
ospfProcess.setProcessId("10.10.10.10");
areas = new ArrayList();
areas.add(ospfArea);
ospfProcess.setAreas(areas);
ospfProcesses = new ArrayList();
ospfProcesses.add(ospfProcess);
process1 = new OspfProcessImpl();
process1.setProcessId("11.11.11.11");
ospfArea1 = new OspfAreaImpl();
ospfArea1.setAreaId(Ip4Address.valueOf("2.2.2.2"));
ospfArea1.setInterfacesLst(ospfInterfaces);
areas.add(ospfArea1);
process1.setAreas(areas);
ospfProcesses.add(process1);
ospfController.updateConfig(ospfProcesses);
assertThat(ospfController, is(notNullValue()));
}
/**
* Tests deleteConfig() method.
*/
@Test
public void testDeleteConfig() throws Exception {
ospfProcess = new OspfProcessImpl();
ospfArea = new OspfAreaImpl();
ospfInterface = new OspfInterfaceImpl();
ospfInterfaces = new ArrayList();
ospfInterface.setIpAddress(Ip4Address.valueOf("10.10.10.5"));
ospfInterfaces.add(ospfInterface);
ospfArea.setAreaId(Ip4Address.valueOf("2.2.2.2"));
ospfArea.setInterfacesLst(ospfInterfaces);
ospfProcess.setProcessId("10.10.10.10");
areas = new ArrayList();
areas.add(ospfArea);
ospfProcess.setAreas(areas);
ospfProcesses = new ArrayList();
ospfProcesses.add(ospfProcess);
process1 = new OspfProcessImpl();
process1.setProcessId("11.11.11.11");
ospfArea1 = new OspfAreaImpl();
ospfArea1.setAreaId(Ip4Address.valueOf("2.2.2.2"));
ospfArea1.setInterfacesLst(ospfInterfaces);
areas.add(ospfArea1);
process1.setAreas(areas);
ospfProcesses.add(process1);
ospfController.deleteConfig(ospfProcesses, "INTERFACE");
assertThat(ospfController, is(notNullValue()));
}
/**
* Tests addLink() method.
*/
@Test
public void testAddLink() throws Exception {
ospfRouter = new OspfRouterImpl();
ospfController.agent.addLink(ospfRouter, new OspfLinkTedImpl());
assertThat(ospfController, is(notNullValue()));
}
/**
* Tests deleteLink() method.
*/
@Test
public void testDeleteLink() throws Exception {
ospfRouter = new OspfRouterImpl();
ospfController.agent.addLink(ospfRouter, new OspfLinkTedImpl());
ospfController.agent.deleteLink(ospfRouter);
assertThat(ospfController, is(notNullValue()));
}
/**
* Tests listener() method.
*/
@Test
public void testListener() throws Exception {
assertThat(ospfController.listener().size(), is(0));
}
/**
* Tests linkListener() method.
*/
@Test
public void testLinkListener() throws Exception {
assertThat(ospfController.linkListener().size(), is(0));
}
/**
* Tests addConnectedRouter() method.
*/
@Test
public void testaddConnectedRouter() throws Exception {
ospfRouter = new OspfRouterImpl();
ospfController.agent.addConnectedRouter(ospfRouter);
assertThat(ospfController, is(notNullValue()));
}
/**
* Tests removeConnectedRouter() method.
*/
@Test
public void testRemoveConnectedRouter() throws Exception {
ospfRouter = new OspfRouterImpl();
ospfController.agent.addConnectedRouter(ospfRouter);
ospfController.agent.removeConnectedRouter(ospfRouter);
assertThat(ospfController, is(notNullValue()));
}
/**
* Tests getAllConfiguredProcesses() method.
*/
@Test(expected = Exception.class)
public void testGetAllConfiguredProcesses() throws Exception {
assertThat(ospfController.getAllConfiguredProcesses().size(), is(0));
}
}