001/** 002 * Copyright 2015 DuraSpace, Inc. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.fcrepo.http.commons.domain.ldp; 017 018import org.fcrepo.http.commons.domain.PreferTag; 019import org.junit.Test; 020 021import java.text.ParseException; 022 023import static org.fcrepo.kernel.api.RdfLexicon.EMBED_CONTAINS; 024import static org.fcrepo.kernel.api.RdfLexicon.INBOUND_REFERENCES; 025import static org.fcrepo.kernel.api.RdfLexicon.LDP_NAMESPACE; 026import static org.junit.Assert.assertFalse; 027import static org.junit.Assert.assertTrue; 028 029/** 030 * @author cabeer 031 */ 032public class LdpPreferTagTest { 033 034 private LdpPreferTag testObj; 035 036 037 @Test 038 public void testMinimalHandling() throws ParseException { 039 testObj = new LdpPreferTag(new PreferTag("handling=lenient; received=\"minimal\"")); 040 041 assertFalse(testObj.prefersServerManaged()); 042 assertFalse(testObj.prefersContainment()); 043 assertFalse(testObj.prefersMembership()); 044 assertFalse(testObj.prefersEmbed()); 045 assertFalse(testObj.prefersReferences()); 046 047 } 048 049 @Test 050 public void testMinimalContainer() throws ParseException { 051 final PreferTag prefer 052 = new PreferTag("return=representation; include=\"" + LDP_NAMESPACE + "PreferMinimalContainer\""); 053 testObj = new LdpPreferTag(prefer); 054 055 assertTrue(testObj.prefersServerManaged()); 056 assertFalse(testObj.prefersReferences()); 057 assertFalse(testObj.prefersContainment()); 058 assertFalse(testObj.prefersMembership()); 059 assertFalse(testObj.prefersEmbed()); 060 } 061 062 @Test 063 public void testPreferMembership() throws ParseException { 064 final PreferTag prefer 065 = new PreferTag("return=representation; include=\"" + LDP_NAMESPACE + "PreferMinimalContainer " 066 + LDP_NAMESPACE + "PreferMembership\""); 067 testObj = new LdpPreferTag(prefer); 068 069 assertTrue(testObj.prefersMembership()); 070 } 071 072 @Test 073 public void testPreferContainment() throws ParseException { 074 final PreferTag prefer 075 = new PreferTag("return=representation; include=\"" + LDP_NAMESPACE + "PreferMinimalContainer " 076 + LDP_NAMESPACE + "PreferContainment\""); 077 testObj = new LdpPreferTag(prefer); 078 079 assertTrue(testObj.prefersContainment()); 080 } 081 082 @Test 083 public void testPreferContainmentAndMembership() throws ParseException { 084 final PreferTag prefer 085 = new PreferTag("return=representation; include=\"" + LDP_NAMESPACE + "PreferMembership " 086 + LDP_NAMESPACE + "PreferContainment\""); 087 testObj = new LdpPreferTag(prefer); 088 089 assertTrue(testObj.prefersMembership()); 090 assertTrue(testObj.prefersContainment()); 091 } 092 093 @Test 094 public void testPreferOmitContainmentAndMembership() throws ParseException { 095 final PreferTag prefer 096 = new PreferTag("return=representation; omit=\"" + LDP_NAMESPACE + "PreferMembership " 097 + LDP_NAMESPACE + "PreferContainment\""); 098 testObj = new LdpPreferTag(prefer); 099 100 assertFalse(testObj.prefersMembership()); 101 assertFalse(testObj.prefersContainment()); 102 } 103 104 @Test 105 public void testPreferEmbed() throws ParseException { 106 final PreferTag prefer 107 = new PreferTag("return=representation; include=\"" + EMBED_CONTAINS + "\""); 108 testObj = new LdpPreferTag(prefer); 109 110 assertTrue(testObj.prefersEmbed()); 111 } 112 113 @Test 114 public void testPreferReference() throws ParseException { 115 final PreferTag prefer 116 = new PreferTag("return=representation; include=\"" + INBOUND_REFERENCES + "\""); 117 testObj = new LdpPreferTag(prefer); 118 119 assertTrue(testObj.prefersReferences()); 120 } 121 122}