/** * TLS-Attacker - A Modular Penetration Testing Framework for TLS * * Copyright 2014-2016 Ruhr University Bochum / Hackmanit GmbH * * Licensed under Apache License 2.0 * http://www.apache.org/licenses/LICENSE-2.0 */ package de.rub.nds.tlsattacker.fuzzer.config; import java.io.StringReader; import java.io.StringWriter; import java.util.LinkedList; import java.util.List; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.junit.Test; import static org.junit.Assert.*; import org.junit.Before; /** * * @author Juraj Somorovsky - juraj.somorovsky@rub.de */ public class StartupCommandsHolderTest { private static final Logger LOGGER = LogManager.getLogger(StartupCommandsHolderTest.class); private String startupServerCommand, startupFuzzerCommand, startupShortName; private StringWriter writer; private JAXBContext context; private Marshaller m; private Unmarshaller um; private StartupCommandsHolder holder; @Before public void setUp() throws JAXBException { startupFuzzerCommand = "fuzzing command"; startupServerCommand = "server command"; startupShortName = "short name"; holder = new StartupCommandsHolder(); writer = new StringWriter(); context = JAXBContext.newInstance(StartupCommandsHolder.class); m = context.createMarshaller(); m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); um = context.createUnmarshaller(); } @Test public void serializationTest() throws JAXBException { StartupCommand command = new StartupCommand(); command.setFuzzerCommand(startupFuzzerCommand); command.setServerCommandParameters(startupServerCommand); command.setShortName(startupShortName); List<StartupCommand> commands = new LinkedList<>(); commands.add(command); holder.setStartupCommands(commands); m.marshal(holder, writer); String xmlString = writer.toString(); LOGGER.debug(xmlString); um = context.createUnmarshaller(); StartupCommandsHolder holder2 = (StartupCommandsHolder) um.unmarshal(new StringReader(xmlString)); StartupCommand deserialized = holder2.getStartupCommands().get(0); assertEquals(startupFuzzerCommand, deserialized.getFuzzerCommand()); assertEquals(startupServerCommand, deserialized.getServerCommandParameters()); assertEquals(startupShortName, deserialized.getShortName()); } }