/** * 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.tls.util; import de.rub.nds.tlsattacker.modifiablevariable.util.ModifiableVariableAnalyzer; import de.rub.nds.tlsattacker.tls.protocol.handshake.ClientHelloMessage; import java.lang.reflect.Field; import java.util.List; import org.junit.Test; import static org.junit.Assert.*; /** * * @author Juraj Somorovsky - juraj.somorovsky@rub.de */ public class ModifiableVariableAnalyzerTest { public ModifiableVariableAnalyzerTest() { } /** * Test of getAllModifiableVariableFields method, of class * ModifiableVariableAnalyzer. * */ @Test public void testGetAllModifiableVariableFields() { ClientHelloMessage chm = new ClientHelloMessage(); String[] fieldNames = { "compressionLength", "cipherSuiteLength", "cipherSuites", "compressions", "protocolVersion", "unixTime", "random", "sessionIdLength", "sessionId", "type", "completeResultingMessage" }; List<Field> fields = ModifiableVariableAnalyzer.getAllModifiableVariableFields(chm); for (String fn : fieldNames) { assertTrue(containsFieldName(fn, fields)); } assertFalse(containsFieldName("somename", fields)); } /** * Test of getRandomModifiableVariableField method, of class * ModifiableVariableAnalyzer. */ @Test public void testGetRandomModifiableVariableField() { } private boolean containsFieldName(String name, List<Field> list) { for (Field f : list) { if (f.getName().equals(name)) { return true; } } return false; } }