/**
* $Id: EntityDescriptionManagerTest.java 105077 2012-02-24 22:54:29Z ottenhoff@longsight.com $
* $URL: https://source.sakaiproject.org/svn/entitybroker/trunk/rest/src/test/org/sakaiproject/entitybroker/rest/EntityDescriptionManagerTest.java $
* EntityHandlerImplTest.java - entity-broker - Apr 6, 2008 12:08:39 PM - azeckoski
**************************************************************************
* Copyright (c) 2008, 2009 The Sakai Foundation
*
* Licensed under the Educational Community License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.opensource.org/licenses/ECL-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.sakaiproject.entitybroker.rest;
import junit.framework.TestCase;
import org.sakaiproject.entitybroker.entityprovider.extension.Formats;
import org.sakaiproject.entitybroker.mocks.data.TestData;
import org.sakaiproject.entitybroker.rest.EntityDescriptionManager;
/**
* Testing the central logic of the entity handler
*
* @author Aaron Zeckoski (aaron@caret.cam.ac.uk)
*/
public class EntityDescriptionManagerTest extends TestCase {
protected EntityDescriptionManager entityDescriptionManager;
private TestData td;
@Override
protected void setUp() throws Exception {
super.setUp();
// setup things
td = new TestData();
entityDescriptionManager = new ServiceTestManager(td).entityDescriptionManager;
}
public void testReplacePrefix() {
String outgoingTemplate = "/{prefix}/hello";
String prefix = "myprefix";
String result = entityDescriptionManager.replacePrefix(outgoingTemplate, prefix);
assertNotNull(result);
assertEquals("/myprefix/hello", result);
}
public void testDescribeAll() {
// test describe all entities
String content = entityDescriptionManager.makeDescribeAll(null, null);
assertNotNull(content);
assertTrue(content.length() > 80);
assertTrue(content.contains(TestData.PREFIX1));
assertTrue(content.contains(TestData.PREFIX2));
assertTrue(content.contains(TestData.PREFIX3));
assertTrue(content.contains(TestData.PREFIX4));
assertTrue(content.contains(TestData.PREFIX5));
assertTrue(content.contains(TestData.PREFIX6));
assertTrue(content.contains(TestData.PREFIX7));
assertTrue(content.contains(TestData.PREFIX8));
content = entityDescriptionManager.makeDescribeAll(Formats.XML, null);
assertNotNull(content);
assertTrue(content.length() > 80);
assertTrue(content.contains(TestData.PREFIX1));
assertTrue(content.contains(TestData.PREFIX2));
assertTrue(content.contains(TestData.PREFIX3));
assertTrue(content.contains(TestData.PREFIX4));
assertTrue(content.contains(TestData.PREFIX5));
assertTrue(content.contains(TestData.PREFIX6));
assertTrue(content.contains(TestData.PREFIX7));
assertTrue(content.contains(TestData.PREFIX8));
}
public void testDescribeEntity() {
// test describe single entity space
String content = entityDescriptionManager.makeDescribeEntity(TestData.PREFIX1, "test", null, null);
assertNotNull(content);
assertTrue(content.length() > 80);
assertTrue(content.contains(TestData.PREFIX1));
// XML
content = entityDescriptionManager.makeDescribeEntity(TestData.PREFIX1, "test", Formats.XML, null);
assertNotNull(content);
assertTrue(content.length() > 80);
assertTrue(content.contains(TestData.PREFIX1));
// prefix 4
content = entityDescriptionManager.makeDescribeEntity(TestData.PREFIX4, "test", null, null);
assertNotNull(content);
assertTrue(content.length() > 80);
assertTrue(content.contains(TestData.PREFIX4));
content = entityDescriptionManager.makeDescribeEntity(TestData.PREFIX6, "test", null, null);
assertNotNull(content);
assertTrue(content.length() > 80);
assertTrue(content.contains(TestData.PREFIX6));
// XML
content = entityDescriptionManager.makeDescribeEntity(TestData.PREFIX6, "test", Formats.XML, null);
assertNotNull(content);
assertTrue(content.length() > 80);
assertTrue(content.contains(TestData.PREFIX6));
// test an entity which is describeable
content = entityDescriptionManager.makeDescribeEntity(TestData.PREFIX7, "test", Formats.HTML, null);
assertNotNull(content);
assertTrue(content.length() > 80);
assertTrue(content.contains(TestData.PREFIX7));
assertTrue(content.contains("describe-prefix test description of an entity"));
assertTrue(content.contains("This is a test description of Createable"));
// XML
content = entityDescriptionManager.makeDescribeEntity(TestData.PREFIX7, "test", Formats.XML, null);
assertNotNull(content);
assertTrue(content.length() > 80);
assertTrue(content.contains(TestData.PREFIX7));
assertTrue(content.contains("<description>"));
assertTrue(content.contains("describe-prefix test description of an entity"));
assertTrue(content.contains("This is a test description of Createable"));
// test an entity which is DescribePropertiesable
content = entityDescriptionManager.makeDescribeEntity(TestData.PREFIX8, "test", Formats.HTML, null);
assertNotNull(content);
assertTrue(content.length() > 80);
assertTrue(content.contains(TestData.PREFIX8));
assertTrue(content.contains("CUSTOM description"));
assertTrue(content.contains("CUSTOM Deleteable"));
// XML
content = entityDescriptionManager.makeDescribeEntity(TestData.PREFIX8, "test", Formats.XML, null);
assertNotNull(content);
assertTrue(content.length() > 80);
assertTrue(content.contains(TestData.PREFIX8));
assertTrue(content.contains("<description>"));
assertTrue(content.contains("CUSTOM description"));
assertTrue(content.contains("CUSTOM Deleteable"));
// test invalid describe
try {
content = entityDescriptionManager.makeDescribeEntity(TestData.PREFIX9, "test", null, null);
fail("Should have thrown exception");
} catch (IllegalArgumentException e) {
assertNotNull(e.getMessage());
}
}
}