package uk.ac.ox.zoo.seeg.abraid.mp.common.domain; import org.junit.Test; import java.util.Arrays; import static org.assertj.core.api.Assertions.assertThat; /** * Tests the PasswordResetRequest class. * Copyright (c) 2014 University of Oxford */ public class PasswordResetRequestTest { @Test public void createPasswordResetRequestKeyCreatesCorrectlySizedKeys() throws Exception { // Act String key = PasswordResetRequest.createPasswordResetRequestKey(); // Assert assertThat(key).hasSize(24); } @Test public void createPasswordResetRequestKeyCreatesKeysWithOnlyBase64Chars() throws Exception { // Act String key = PasswordResetRequest.createPasswordResetRequestKey(); // Assert assertThat(key).matches("^[+/=0-9A-Za-z]*$"); } @Test public void createPasswordResetRequestKeyCreatesUniqueKeys() throws Exception { // Arrange String[] keys = new String[100]; // Act for (int i = 0; i < keys.length; i++) { keys[i] = PasswordResetRequest.createPasswordResetRequestKey(); } // Assert Arrays.sort(keys); for (int i = 0; i < keys.length - 1; i++) { assertThat(keys[i]).isNotEqualTo(keys[i + 1]); } } }