package org.opennaas.extensions.router.junos.actionssets.actions.test.ip; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import junit.framework.Assert; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; 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.ip.SetIPv6Action; import org.opennaas.extensions.router.junos.actionssets.actions.test.ActionTestHelper; import org.opennaas.extensions.router.model.ComputerSystem; public class SetIPv6ActionTest { Log log = LogFactory.getLog(SetIPv6ActionTest.class); private static SetIPv6Action action; static ActionTestHelper helper; static ProtocolSessionManager protocolsessionmanager; private static final String IP_ADDRESS = "4BF1:0::12"; private static short PREFIX_LENGTH = 32; @BeforeClass public static void init() { action = new SetIPv6Action(); action.setModelToUpdate(new ComputerSystem()); helper = new ActionTestHelper(); action.setParams(helper.newParamsInterfaceEthernetIPv6(IP_ADDRESS, PREFIX_LENGTH)); // TODO // /need to add extra params // NetworkPort networkPort = new NetworkPort(); // velocityEngine.addExtraParam("networkPort", networkPort); // // IPUtilsHelper ipUtilsHelper = new IPUtilsHelper(); // velocityEngine.addExtraParam("ipUtilsHelper", ipUtilsHelper); helper = new ActionTestHelper(); protocolsessionmanager = helper.getProtocolSessionManager(); } @Test public void testActionID() { Assert.assertEquals("Wrong ActionID", ActionConstants.SETIPv6, action.getActionID()); } @Test public void paramsTest() throws ActionException { action.checkParams(action.getParams()); } @Test public void templateTest() { Assert.assertEquals("Not accepted param", "/VM_files/configureIPv6.vm", action.getTemplate()); } @Test public void velocityTemplateTest() { try { action.prepareMessage(); // read expected message into a String String expectedMessage = XmlHelper.formatXML(textFileToString("/actions/ip/setIPv6.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; } }