@Test public void testForPasswordShouldReturnFirstAlgorithm() throws Exception { when(passwordAlgorithm1.supports(anyString())).thenReturn(true); final PasswordAlgorithmFactory passwordAlgorithmFactory = new PasswordAlgorithmFactory(passwordAlgorithms, passwordAlgorithm2); assertThat(passwordAlgorithmFactory.forPassword("foobar")).isEqualTo(passwordAlgorithm1); }
@Test public void testForPasswordShouldReturnNull() throws Exception { when(passwordAlgorithm1.supports(anyString())).thenReturn(false); when(passwordAlgorithm2.supports(anyString())).thenReturn(false); final PasswordAlgorithmFactory passwordAlgorithmFactory = new PasswordAlgorithmFactory(passwordAlgorithms, passwordAlgorithm2); assertThat(passwordAlgorithmFactory.forPassword("foobar")).isNull(); }
@Test public void testDefaultPasswordAlgorithm() throws Exception { final PasswordAlgorithm defaultPasswordAlgorithm = mock(PasswordAlgorithm.class); final PasswordAlgorithmFactory passwordAlgorithmFactory = new PasswordAlgorithmFactory( Collections.<String, PasswordAlgorithm>emptyMap(), defaultPasswordAlgorithm); assertThat(passwordAlgorithmFactory.defaultPasswordAlgorithm()) .isEqualTo(defaultPasswordAlgorithm); }