/** * HashingUtilsTest.java * * @copyright 2012 Monits * @license Copyright (C) 2012. All rights reserved * @version Release: 1.0.0 * @link http://www.monits.com/ * @since 1.0.0 */ package com.monits.commons.utils; import java.io.FileNotFoundException; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import com.monits.commons.model.HashingAlgorithm; /** * HashingUtilsTest * * @author Gaston Muñiz <gmuniz@monits.com> * @copyright 2012 Monits * @license Copyright (C) 2012. All rights reserved * @version Release: 1.0.0 * @link http://www.monits.com/ * @since 1.0.0 */ public class HashingUtilsTest { private static final String TEXT = "q1w2e3r4"; private static final String TEXT_TO_MD5 = "c62d929e7b7e7b6165923a5dfc60cb56"; private static final String TEXT_TO_SHA256 = "13a5c202e320d0bf9bb2c6e2c7cf380a6f7de5d392509fee260b809c893ff2f9"; private static final String TEXT_TO_SHA1 = "1fc854110e5532480000542834f453de31936c2f"; private static final String TEST_1024_BYTE_FILE = "src/test/resources/1024bytesFile"; private static final String TEST_1025_BYTE_FILE = "src/test/resources/1025bytesFile"; private static final String TEST_2_BYTE_FILE = "src/test/resources/2bytesFile"; private static final String TEST_0_BYTE_FILE = "src/test/resources/0bytesFile"; private static final String TEST_1024_BYTE_FILE_HASH = "cd3b0a56bc304075e28a20a4edd57068"; private static final String TEST_1025_BYTE_FILE_HASH = "44d0dc734ef2d3bcaa32ff4c8e7b2419"; private static final String TEST_2_BYTE_FILE_HASH = "60b725f10c9c85c70d97880dfe8191b3"; private static final String TEST_0_BYTE_FILE_HASH = "d41d8cd98f00b204e9800998ecf8427e"; /** * @throws java.lang.Exception */ @Before public void setUp() throws Exception { } /** * @throws java.lang.Exception */ @After public void tearDown() throws Exception { } @Test public void testGetMD5Hash() { final String actualMD5 = HashingUtils.getHash(TEXT, HashingAlgorithm.MD5); Assert.assertNotNull(actualMD5); Assert.assertEquals(TEXT_TO_MD5, actualMD5); } @Test public void testGetSHA256Hash() { final String actualSHA256 = HashingUtils.getHash(TEXT, HashingAlgorithm.SHA256); Assert.assertNotNull(actualSHA256); Assert.assertEquals(TEXT_TO_SHA256, actualSHA256); } @Test public void testGetSHA1Hash() { final String actualSHA1 = HashingUtils.getHash(TEXT, HashingAlgorithm.SHA1); Assert.assertNotNull(actualSHA1); Assert.assertEquals(TEXT_TO_SHA1, actualSHA1); } /** * Some tests regarding different file sizes * Note that 1024 is the current size of the buffer used in getHash function. */ @Test public void testGetHash() throws FileNotFoundException { String hashTest = HashingUtils.getFileHash(TEST_0_BYTE_FILE, HashingAlgorithm.MD5); Assert.assertNotNull(hashTest); Assert.assertEquals(TEST_0_BYTE_FILE_HASH, hashTest); hashTest = HashingUtils.getFileHash(TEST_2_BYTE_FILE, HashingAlgorithm.MD5); Assert.assertNotNull(hashTest); Assert.assertEquals(TEST_2_BYTE_FILE_HASH, hashTest); hashTest = HashingUtils.getFileHash(TEST_1024_BYTE_FILE, HashingAlgorithm.MD5); Assert.assertNotNull(hashTest); Assert.assertEquals(TEST_1024_BYTE_FILE_HASH, hashTest); hashTest = HashingUtils.getFileHash(TEST_1025_BYTE_FILE, HashingAlgorithm.MD5); Assert.assertNotNull(hashTest); Assert.assertEquals(TEST_1025_BYTE_FILE_HASH, hashTest); } }