package de.persosim.simulator.protocols.ta; import static org.junit.Assert.assertArrayEquals; import java.util.Arrays; import java.util.HashSet; import org.junit.Test; import de.persosim.simulator.test.PersoSimTestCase; public class TerminalAuthenticationMechanismTest extends PersoSimTestCase { @Test public void testGetCompressedTerminalEphemeralPublicKeyImmutability() { byte [] data = new byte [] {1,2,3,4,5}; byte [] expected = Arrays.copyOf(data, data.length); TerminalAuthenticationMechanism mechanism = new TerminalAuthenticationMechanism(data, TerminalType.AT, new HashSet<AuthenticatedAuxiliaryData>(), new byte [] {}, new byte [] {}, "test", null); data[0] = 2; byte[] result = mechanism.getCompressedTerminalEphemeralPublicKey(); assertArrayEquals(expected, result); result[0] = 3; assertArrayEquals(expected, mechanism.getCompressedTerminalEphemeralPublicKey()); } @Test public void testGetFirstSectorPublicKeyHashImmutability(){ byte[] data = new byte[] { 1, 2, 3, 4, 5 }; byte[] expected = Arrays.copyOf(data, data.length); TerminalAuthenticationMechanism mechanism = new TerminalAuthenticationMechanism(new byte[] {}, TerminalType.AT, new HashSet<AuthenticatedAuxiliaryData>(), data, new byte[] {}, "test", null); data[0] = 2; byte[] result = mechanism.getFirstSectorPublicKeyHash(); assertArrayEquals(expected, result); result[0] = 3; assertArrayEquals(expected, mechanism.getFirstSectorPublicKeyHash()); } @Test public void testGetSecondSectorPublicKeyHashImmutability(){ byte [] data = new byte [] {1,2,3,4,5}; byte [] expected = Arrays.copyOf(data, data.length); TerminalAuthenticationMechanism mechanism = new TerminalAuthenticationMechanism(new byte [] {}, TerminalType.AT, new HashSet<AuthenticatedAuxiliaryData>(), new byte [] {}, data, "test", null); data[0] = 2; byte[] result = mechanism.getSecondSectorPublicKeyHash(); assertArrayEquals(expected, result); result[0] = 3; assertArrayEquals(expected, mechanism.getSecondSectorPublicKeyHash());} }