package dk.kb.yggdrasil.warc; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; import org.jwat.warc.WarcDigest; import dk.kb.yggdrasil.exceptions.YggdrasilException; @RunWith(JUnit4.class) public class TestDigest { @Test public void testDigestBytesMD5() throws YggdrasilException { String testString = "Yggdrasil\n"; String expectedChecksum = "c1d6d0fbe801dbe092ee1987ae16fb74"; Digest digest = new Digest("MD5"); WarcDigest res = digest.getDigestOfBytes(testString.getBytes()); Assert.assertNotNull(res); Assert.assertEquals("md5", res.algorithm); Assert.assertEquals(expectedChecksum, res.digestString); } @Test public void testDigestFileMD5() throws YggdrasilException, IOException { File file = File.createTempFile("Digest", "test"); String testString = "Yggdrasil\n"; String expectedChecksum = "c1d6d0fbe801dbe092ee1987ae16fb74"; try { FileOutputStream fos = new FileOutputStream(file); fos.write(testString.getBytes()); fos.flush(); fos.close(); Digest digest = new Digest("MD5"); WarcDigest res = digest.getDigestOfFile(file); Assert.assertNotNull(res); Assert.assertEquals("md5", res.algorithm); Assert.assertEquals(expectedChecksum, res.digestString); } finally { file.delete(); } } @Test public void testDigestBytesSHA1() throws YggdrasilException { String testString = "Yggdrasil\n"; String expectedChecksum = "e46d62fd8ed195a644ce7151c55ebbf37e5e17d2"; Digest digest = new Digest("SHA1"); WarcDigest res = digest.getDigestOfBytes(testString.getBytes()); Assert.assertNotNull(res); Assert.assertEquals("sha1", res.algorithm); Assert.assertEquals(expectedChecksum, res.digestString); } @Test public void testDigestFileSHA1() throws YggdrasilException, IOException { File file = File.createTempFile("Digest", "test"); String testString = "Yggdrasil\n"; String expectedChecksum = "e46d62fd8ed195a644ce7151c55ebbf37e5e17d2"; try { FileOutputStream fos = new FileOutputStream(file); fos.write(testString.getBytes()); fos.flush(); fos.close(); Digest digest = new Digest("SHA1"); WarcDigest res = digest.getDigestOfFile(file); Assert.assertNotNull(res); Assert.assertEquals("sha1", res.algorithm); Assert.assertEquals(expectedChecksum, res.digestString); } finally { file.delete(); } } }