001/*
002 * The contents of this file are subject to the license and copyright
003 * detailed in the LICENSE and NOTICE files at the root of the source
004 * tree.
005 */
006package org.fcrepo.auth.webac;
007
008import static org.fcrepo.auth.webac.URIConstants.WEBAC_MODE_READ;
009import static org.fcrepo.auth.webac.URIConstants.WEBAC_MODE_WRITE;
010import static org.junit.Assert.assertFalse;
011import static org.junit.Assert.assertTrue;
012
013import java.net.URI;
014
015import org.junit.Test;
016
017/**
018 * @author peichman
019 */
020public class WebACPermissionTest {
021
022    private static final URI resourceA = URI.create("http://localhost:8080/fcrepo/test");
023
024    private static final URI resourceB = URI.create("http://localhost:8080/fcrepo/test2");
025
026    @Test
027    public void testEquality() {
028        final WebACPermission p1 = new WebACPermission(WEBAC_MODE_READ, resourceA);
029        final WebACPermission p2 = new WebACPermission(WEBAC_MODE_READ, resourceA);
030        assertTrue(p1.implies(p2));
031        assertTrue(p2.implies(p1));
032    }
033
034    @Test
035    public void testInequalityOfResources() {
036        final WebACPermission p1 = new WebACPermission(WEBAC_MODE_READ, resourceA);
037        final WebACPermission p2 = new WebACPermission(WEBAC_MODE_READ, resourceB);
038        assertFalse(p1.implies(p2));
039        assertFalse(p2.implies(p1));
040    }
041
042    @Test
043    public void testInequalityOfModes() {
044        final WebACPermission p1 = new WebACPermission(WEBAC_MODE_READ, resourceA);
045        final WebACPermission p2 = new WebACPermission(WEBAC_MODE_WRITE, resourceA);
046        assertFalse(p1.implies(p2));
047        assertFalse(p2.implies(p1));
048    }
049
050}