/* See LICENSE for licensing and NOTICE for copyright. */ package org.cryptacular.bean; import org.cryptacular.FailListener; import org.cryptacular.spec.DigestSpec; import org.cryptacular.util.CodecUtil; import org.testng.annotations.DataProvider; import org.testng.annotations.Listeners; import org.testng.annotations.Test; import static org.testng.Assert.assertEquals; /** * Unit test for {@link SimpleHashBean}. * * @author Middleware Services */ @Listeners(FailListener.class) public class SimpleHashBeanTest { @DataProvider(name = "test-data") public Object[][] getTestData() { return new Object[][] { { new DigestSpec("SHA1"), new Object[] { CodecUtil.b64("7FHsteHnm6XQsJT1TTKbxw=="), CodecUtil.b64("ehp6PCnojSegFpRvStqQ9A=="), }, 1, "Oadnuuj7QsRPUuMBiu+dmlT6qzU=", }, { new DigestSpec("SHA256"), new Object[] { CodecUtil.b64("7FHsteHnm6XQsJT1TTKbxw=="), CodecUtil.b64("ehp6PCnojSegFpRvStqQ9A=="), }, 3, "Oh7exq720XNr7GMTB1VpDAfwTX5xOdj9aFzC2YmWG3k=", }, }; } @Test(dataProvider = "test-data") public void testHash(final DigestSpec digest, final Object[] input, final int iterations, final String expectedBase64) throws Exception { final SimpleHashBean bean = new SimpleHashBean(); bean.setDigestSpec(digest); bean.setIterations(iterations); assertEquals(CodecUtil.b64(bean.hash(input)), expectedBase64); } }