001/* 002 * Licensed to DuraSpace under one or more contributor license agreements. 003 * See the NOTICE file distributed with this work for additional information 004 * regarding copyright ownership. 005 * 006 * DuraSpace licenses this file to you under the Apache License, 007 * Version 2.0 (the "License"); you may not use this file except in 008 * compliance with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software 013 * distributed under the License is distributed on an "AS IS" BASIS, 014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 015 * See the License for the specific language governing permissions and 016 * limitations under the License. 017 */ 018package org.fcrepo.kernel.api.utils; 019 020import static java.net.URI.create; 021import static org.fcrepo.config.DigestAlgorithm.SHA1; 022import static org.fcrepo.kernel.api.utils.ContentDigest.asURI; 023import static org.fcrepo.kernel.api.utils.ContentDigest.getAlgorithm; 024import static org.junit.Assert.assertEquals; 025 026import org.fcrepo.config.DigestAlgorithm; 027 028import org.junit.Test; 029 030/** 031 * <p>ContentDigestTest class.</p> 032 * 033 * @author ksclarke 034 */ 035public class ContentDigestTest { 036 037 @Test 038 public void testSHA_1() { 039 assertEquals("Failed to produce a proper content digest URI!", 040 create("urn:sha1:fake"), asURI(SHA1.getAlgorithm(), "fake")); 041 } 042 043 @Test 044 public void testSHA1() { 045 assertEquals("Failed to produce a proper content digest URI!", 046 create("urn:sha1:fake"), asURI("SHA", "fake")); 047 } 048 049 @Test 050 public void testGetAlgorithm() { 051 assertEquals("Failed to produce a proper digest algorithm!", SHA1.getAlgorithm(), 052 getAlgorithm(asURI(SHA1.getAlgorithm(), "fake"))); 053 } 054 055 @Test 056 public void testSHA256() { 057 assertEquals("Failed to produce a proper content digest URI!", 058 create("urn:sha-256:fake"), asURI("SHA-256", "fake")); 059 } 060 061 @Test 062 public void testMissingAlgorithm() { 063 assertEquals("Failed to produce a proper content digest URI!", 064 create("missing:fake"), asURI("SHA-819", "fake")); 065 } 066 067 @Test 068 public void testFromAlgorithm() { 069 assertEquals(DigestAlgorithm.SHA1, DigestAlgorithm.fromAlgorithm("SHA")); 070 assertEquals(DigestAlgorithm.SHA1, DigestAlgorithm.fromAlgorithm("sha-1")); 071 } 072 073 @Test 074 public void testFromAlgorithmMissing() { 075 assertEquals(DigestAlgorithm.MISSING, DigestAlgorithm.fromAlgorithm("what")); 076 } 077}