/** * Copyright 2008 The University of North Carolina at Chapel Hill * * Licensed under the Apache 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.apache.org/licenses/LICENSE-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 edu.unc.lib.dl.cdr.services.processing; import java.io.InputStreamReader; import org.jdom2.Document; import org.jdom2.input.SAXBuilder; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import edu.unc.lib.dl.cdr.services.model.CDREventMessage; import edu.unc.lib.dl.util.ContentModelHelper; import edu.unc.lib.dl.util.JMSMessageUtil; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "/service-context-minimal.xml" }) public class MessageParseTest extends Assert { private static final Logger LOG = LoggerFactory.getLogger(MessageParseTest.class); @Before public void setUp() throws Exception { } private Document readFileAsString(String filePath) throws Exception { return new SAXBuilder().build(new InputStreamReader(this.getClass().getResourceAsStream(filePath))); } @Test public void cdrAddMessageTest(){ try { Document doc = readFileAsString("cdrAddMessage.xml"); CDREventMessage message = new CDREventMessage(doc); assertTrue(message.getTargetID().equals("uuid:7c740ac5-5685-4be1-9008-9a8be5f54744")); assertTrue(JMSMessageUtil.CDRActions.ADD.equals(message.getQualifiedAction())); assertTrue("2011-04-28T18:55:32.220Z".equals(message.getEventTimestamp())); assertNull(message.getServiceName()); assertTrue(message.getParent().equals("uuid:7c740ac5-5685-4be1-9008-9a8be5f54744")); assertTrue(message.getSubjects().size() == 3); assertNull(message.getOldParents()); assertTrue(JMSMessageUtil.CDRActions.ADD.getName().equals(message.getOperation())); assertTrue(message.getReordered().size() == 0); assertNull(message.getMode()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Test public void moveMessageTest(){ try { Document doc = readFileAsString("cdrMoveMessage.xml"); CDREventMessage message = new CDREventMessage(doc); assertTrue(JMSMessageUtil.CDRActions.MOVE.equals(message.getQualifiedAction())); assertTrue(message.getParent().equals("uuid:a7ac047d-7991-462c-a024-897c36280b83")); assertTrue(message.getOldParents().size() == 2); assertTrue(message.getSubjects().size() == 2); assertTrue(message.getReordered().size() == 1); LOG.debug(""); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Test public void datastreamNameTest() { Assert.assertTrue(ContentModelHelper.Datastream.DATA_FILE.equals("DATA_FILE")); Assert.assertTrue(ContentModelHelper.Datastream.DATA_FILE.getName().equals("DATA_FILE")); Assert.assertTrue(ContentModelHelper.Datastream.DATA_FILE.equals(ContentModelHelper.Datastream.DATA_FILE)); Assert.assertFalse(ContentModelHelper.Datastream.DATA_FILE.equals("RELS-EXT")); Assert.assertFalse(ContentModelHelper.Datastream.DATA_FILE.equals(ContentModelHelper.Datastream.RELS_EXT)); } }