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.http.commons.domain.ldp; 019 020import org.fcrepo.http.commons.domain.PreferTag; 021import org.junit.Test; 022 023import java.text.ParseException; 024 025import static org.fcrepo.kernel.api.RdfLexicon.EMBED_CONTAINS; 026import static org.fcrepo.kernel.api.RdfLexicon.INBOUND_REFERENCES; 027import static org.fcrepo.kernel.api.RdfLexicon.LDP_NAMESPACE; 028import static org.junit.Assert.assertFalse; 029import static org.junit.Assert.assertTrue; 030 031/** 032 * @author cabeer 033 */ 034public class LdpPreferTagTest { 035 036 private LdpPreferTag testObj; 037 038 039 @Test 040 public void testMinimalHandling() throws ParseException { 041 testObj = new LdpPreferTag(new PreferTag("handling=lenient; received=\"minimal\"")); 042 043 assertFalse(testObj.prefersServerManaged()); 044 assertFalse(testObj.prefersContainment()); 045 assertFalse(testObj.prefersMembership()); 046 assertFalse(testObj.prefersEmbed()); 047 assertFalse(testObj.prefersReferences()); 048 049 } 050 051 @Test 052 public void testMinimalContainer() throws ParseException { 053 final PreferTag prefer 054 = new PreferTag("return=representation; include=\"" + LDP_NAMESPACE + "PreferMinimalContainer\""); 055 testObj = new LdpPreferTag(prefer); 056 057 assertTrue(testObj.prefersServerManaged()); 058 assertFalse(testObj.prefersReferences()); 059 assertFalse(testObj.prefersContainment()); 060 assertFalse(testObj.prefersMembership()); 061 assertFalse(testObj.prefersEmbed()); 062 } 063 064 @Test 065 public void testPreferMembership() throws ParseException { 066 final PreferTag prefer 067 = new PreferTag("return=representation; include=\"" + LDP_NAMESPACE + "PreferMinimalContainer " 068 + LDP_NAMESPACE + "PreferMembership\""); 069 testObj = new LdpPreferTag(prefer); 070 071 assertTrue(testObj.prefersMembership()); 072 } 073 074 @Test 075 public void testPreferContainment() throws ParseException { 076 final PreferTag prefer 077 = new PreferTag("return=representation; include=\"" + LDP_NAMESPACE + "PreferMinimalContainer " 078 + LDP_NAMESPACE + "PreferContainment\""); 079 testObj = new LdpPreferTag(prefer); 080 081 assertTrue(testObj.prefersContainment()); 082 } 083 084 @Test 085 public void testPreferContainmentAndMembership() throws ParseException { 086 final PreferTag prefer 087 = new PreferTag("return=representation; include=\"" + LDP_NAMESPACE + "PreferMembership " 088 + LDP_NAMESPACE + "PreferContainment\""); 089 testObj = new LdpPreferTag(prefer); 090 091 assertTrue(testObj.prefersMembership()); 092 assertTrue(testObj.prefersContainment()); 093 } 094 095 @Test 096 public void testPreferOmitContainmentAndMembership() throws ParseException { 097 final PreferTag prefer 098 = new PreferTag("return=representation; omit=\"" + LDP_NAMESPACE + "PreferMembership " 099 + LDP_NAMESPACE + "PreferContainment\""); 100 testObj = new LdpPreferTag(prefer); 101 102 assertFalse(testObj.prefersMembership()); 103 assertFalse(testObj.prefersContainment()); 104 } 105 106 @Test 107 public void testPreferEmbed() throws ParseException { 108 final PreferTag prefer 109 = new PreferTag("return=representation; include=\"" + EMBED_CONTAINS + "\""); 110 testObj = new LdpPreferTag(prefer); 111 112 assertTrue(testObj.prefersEmbed()); 113 } 114 115 @Test 116 public void testPreferReference() throws ParseException { 117 final PreferTag prefer 118 = new PreferTag("return=representation; include=\"" + INBOUND_REFERENCES + "\""); 119 testObj = new LdpPreferTag(prefer); 120 121 assertTrue(testObj.prefersReferences()); 122 } 123 124}