package org.opennaas.extensions.router.junos.actionssets.actions.test.gretunnel; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import junit.framework.Assert; import org.junit.BeforeClass; import org.junit.Test; import org.opennaas.core.protocols.sessionmanager.ProtocolSessionManager; import org.opennaas.core.resources.action.ActionException; import org.opennaas.core.resources.helpers.XmlHelper; import org.opennaas.extensions.router.junos.actionssets.ActionConstants; import org.opennaas.extensions.router.junos.actionssets.actions.gretunnel.CreateTunnelAction; import org.opennaas.extensions.router.junos.actionssets.actions.test.ActionTestHelper; import org.opennaas.extensions.router.model.ComputerSystem; import org.opennaas.extensions.router.model.GRETunnelConfiguration; import org.opennaas.extensions.router.model.GRETunnelEndpoint; import org.opennaas.extensions.router.model.GRETunnelService; import org.opennaas.extensions.router.model.ProtocolEndpoint.ProtocolIFType; public class CreateTunnelv6ActionTest { private static CreateTunnelAction action; private static ActionTestHelper helper; private static ProtocolSessionManager protocolsessionmanager; @BeforeClass public static void init() { action = new CreateTunnelAction(); action.setModelToUpdate(new ComputerSystem()); helper = new ActionTestHelper(); action.setParams(helper.newParamsInterfaceEthernet()); helper = new ActionTestHelper(); protocolsessionmanager = helper.getProtocolSessionManager(); } @Test public void actionIDTest() { Assert.assertEquals("Wrong ActionID", ActionConstants.CREATETUNNEL, action.getActionID()); } @Test public void velocityMessageTest() throws ActionException { try { GRETunnelService greTunnelService = getGRETunnelService(); action.setParams(greTunnelService); action.prepareMessage(); Assert.assertEquals("Wrong Velocity Template", "/VM_files/createTunnelv6.vm", action.getTemplate()); String expectedMessage = XmlHelper.formatXML(textFileToString("/actions/greTunnelv6.xml")); String actionMessage = XmlHelper.formatXML(action.getVelocityMessage()); Assert.assertEquals(expectedMessage, actionMessage); } catch (Exception e) { e.printStackTrace(); Assert.fail(e.getMessage()); } } 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; } br.close(); return fileString; } /** * Get the GRETunnelService * * @return GRETunnelService * @throws IOException */ private GRETunnelService getGRETunnelService() { GRETunnelService greService = new GRETunnelService(); greService.setElementName(""); greService.setName("gr-0/1/1.2"); GRETunnelConfiguration greConfig = new GRETunnelConfiguration(); greConfig.setSourceAddress("147.56.89.62"); greConfig.setDestinationAddress("193.45.23.1"); GRETunnelEndpoint gE = new GRETunnelEndpoint(); gE.setIPv6Address("51:4F3::3A:B1"); gE.setPrefixLength(Short.valueOf("64")); gE.setProtocolIFType(ProtocolIFType.IPV6); greService.setGRETunnelConfiguration(greConfig); greService.addProtocolEndpoint(gE); return greService; } }