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.webapp; 019 020import org.fcrepo.kernel.api.exception.MultipleConstraintViolationException; 021import org.junit.Assert; 022import org.fcrepo.kernel.api.exception.ConstraintViolationException; 023import org.fcrepo.kernel.api.exception.RelaxableServerManagedPropertyException; 024 025import org.junit.Test; 026import org.reflections.Reflections; 027 028import java.io.File; 029import java.util.Set; 030 031/** 032 * @author awoods 033 * @since 6/25/15 034 */ 035public class ConstraintExceptionsTest { 036 037 @Test 038 public void testConstraintRdfExists() { 039 final Reflections reflections = new Reflections("org.fcrepo"); 040 final Set<Class<? extends ConstraintViolationException>> subTypes = 041 reflections.getSubTypesOf(ConstraintViolationException.class); 042 // Multiple is a wrapper to hold other constraint violations, it has no static file. 043 subTypes.remove(MultipleConstraintViolationException.class); 044 // Relaxable is a sub-type of ServerManagedPropertyException to specially handle relaxable properties, it has 045 // no static file. 046 subTypes.remove(RelaxableServerManagedPropertyException.class); 047 subTypes.add(ConstraintViolationException.class); 048 049 for (final Class<? extends ConstraintViolationException> c : subTypes) { 050 final File file = new File("src/main/webapp/static/constraints/" + c.getSimpleName() + ".rdf"); 051 Assert.assertTrue("Expected to find: " + file.getPath(), file.exists()); 052 } 053 } 054 055}