package org.opennaas.extensions.vrf.staticroute.capability; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import javax.ws.rs.core.Response; import org.junit.Assert; import static org.junit.Assert.assertEquals; import org.junit.Test; import org.opennaas.extensions.vrf.utils.Utils; /** * * @author josep */ public class RoutingCapabilityTest { private final static String PATH_FILE = "/routes/sampleJSONRoutes.json"; private final static String FILE_NAME = "sampleJSONRoutes"; private final static int version = 4; /** * Test of getRoute method, of class RoutingCapability. * * @throws java.io.FileNotFoundException */ @Test public void testGetRoute() throws FileNotFoundException, IOException { System.out.println("getRoute"); String ipSource = String.valueOf(Utils.StringIPv4toInt("192.168.1.2")); String ipDest = String.valueOf(Utils.StringIPv4toInt("192.168.2.51")); String switchDPID = "00:00:00:00:00:00:00:01"; int inputPort = 1; boolean proactive = true; StaticRoutingCapability instance = new StaticRoutingCapability(); Response result = instance.getRoute(ipSource, ipDest, switchDPID, inputPort, proactive); assertEquals(404, result.getStatus()); instance.getVRFModel(); result = instance.getRoute(ipSource, ipDest, switchDPID, inputPort, proactive); assertEquals(404, result.getStatus()); String filename = textFileToString(PATH_FILE); InputStream is = new ByteArrayInputStream(filename.getBytes("UTF-8")); instance.insertRouteFile(FILE_NAME, is); result = instance.getRoute(ipSource, ipDest, switchDPID, inputPort, proactive); assertEquals(200, result.getStatus()); } /** * Test of insertRoute method, of class RoutingCapability. */ @Test public void testInsertRoute() { System.out.println("insertRoute"); String ipSource = "192.168.1.2"; String ipDest = "192.168.2.51"; String switchDPID = "00:00:00:00:00:00:00:01"; int inputPort = 1; int outputPort = 2; int lifeTime = 0; StaticRoutingCapability instance = new StaticRoutingCapability(); Response result = instance.insertRoute(ipSource, ipDest, switchDPID, inputPort, outputPort, lifeTime); assertEquals(201, result.getStatus()); } /** * Test of removeRoutes method, of class RoutingCapability. */ @Test public void testRemoveRoutes() { System.out.println("removeRoutes"); StaticRoutingCapability instance = new StaticRoutingCapability(); Response result = instance.removeRoutes(); assertEquals(200, result.getStatus()); } /** * Test of getRoutes method, of class RoutingCapability. */ @Test public void testGetRoutes_0args() { System.out.println("getRoutes"); StaticRoutingCapability instance = new StaticRoutingCapability(); Response result = instance.getRoutes(); assertEquals(200, result.getStatus()); } /** * Test of getRoutes method, of class RoutingCapability. */ @Test public void testGetRoutes_int() { System.out.println("getRoutes"); int ver = RoutingCapabilityTest.version; StaticRoutingCapability instance = new StaticRoutingCapability(); Response result = instance.getRoutes(ver); Assert.assertEquals("List of routes", 200, result.getStatus()); } /** * Test of insertRouteFile method, of class RoutingCapability. * * @throws java.io.IOException */ @Test public void testInsertRouteFile() throws IOException { System.out.println("insertRouteFile"); String filename = textFileToString(PATH_FILE); InputStream is = new ByteArrayInputStream(filename.getBytes("UTF-8")); StaticRoutingCapability instance = new StaticRoutingCapability(); Response result = instance.insertRouteFile(FILE_NAME, is); assertEquals(200, result.getStatus()); } private String textFileToString(String fileLocation) throws IOException { String fileString = ""; BufferedReader br = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream(fileLocation))); String line; while ((line = br.readLine()) != null) { fileString += line += "\n"; } br.close(); return fileString; } }