Package org.fcrepo.server.validation.ecm

Source Code of org.fcrepo.server.validation.ecm.EcmTest

package org.fcrepo.server.validation.ecm;

import junit.framework.TestCase;
import org.fcrepo.server.storage.MockRepositoryReader;
import org.fcrepo.server.storage.RepositoryReader;
import org.fcrepo.server.storage.types.Validation;
import org.fcrepo.utilities.DateUtility;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.util.Date;
import java.util.List;
import java.util.Map;

import static org.fcrepo.server.utilities.StreamUtility.enc;

public class EcmTest extends TestCase {


    RepositoryReader reader;

    /**
     * @throws java.lang.Exception
     */
    @Before
    public void setUp() throws Exception {
        MockRepositoryReader mockRepositoryReader = new MockRepositoryReader();
        mockRepositoryReader.putObject(ObjectConstructor.produceContentModel1());
        mockRepositoryReader.putObject(ObjectConstructor.produceContentModel2());
        mockRepositoryReader.putObject(ObjectConstructor.produceContentModel3());
        mockRepositoryReader.putObject(ObjectConstructor.produceContentModel30());
        mockRepositoryReader.putObject(ObjectConstructor.producefedoraObject30());
        mockRepositoryReader.putObject(ObjectConstructor.produceDataObject1());
        mockRepositoryReader.putObject(ObjectConstructor.produceDataObject2());
        mockRepositoryReader.putObject(ObjectConstructor.produceDataObject3());

        mockRepositoryReader.putObject(ObjectConstructor.produceDataObject5());
        mockRepositoryReader.putObject(ObjectConstructor.produceDataObject6());
        mockRepositoryReader.putObject(ObjectConstructor.produceDataObject7());
        mockRepositoryReader.putObject(ObjectConstructor.produceDataObject8());
        reader = mockRepositoryReader;
    }

    /**
     * @throws java.lang.Exception
     */
    @After
    public void tearDown() throws Exception {
    }


    @Test
    public void testEcm1() throws Exception {
        EcmValidator ecm = new EcmValidator(reader,null);

        Validation validation1 = ecm.validate(null, "demo:dataObject1", null);
        assertTrue("Dataobject1 failed validation: " + objectValidationToXml(validation1), validation1.isValid());

    }

    @Test
    public void testEcm2() throws Exception {
        EcmValidator ecm = new EcmValidator(reader,null);


        Validation validation2 = ecm.validate(null, "demo:dataObject2", null);
        assertTrue("Dataobject2 failed validation: " + objectValidationToXml(validation2), validation2.isValid());

    }

    @Test
    public void testEcm3() throws Exception {
        EcmValidator ecm = new EcmValidator(reader,null);

        Validation validation = ecm.validate(null, "demo:contentModel1", null);
        assertTrue("contentmodel1 failed validation: " + objectValidationToXml(validation), validation.isValid());

    }

    @Test
    public void testEcm4() throws Exception {
        EcmValidator ecm = new EcmValidator(reader,null);

        Validation validation = ecm.validate(null, "demo:dataObject3", null);
        assertFalse("DataObject3 succeeded validation: " + objectValidationToXml(validation), validation.isValid());

    }

    @Test
    public void testEcm5() throws Exception {
        EcmValidator ecm = new EcmValidator(reader,null);

        Validation validation = ecm.validate(null, "demo:dataObject5", null);
        assertFalse("DataObject5 succeeded validation: " + objectValidationToXml(validation), validation.isValid());

    }

    @Test
    public void testEcm6() throws Exception {
        EcmValidator ecm = new EcmValidator(reader,null);

        Validation validation = ecm.validate(null, "demo:dataObject6", null);
        assertFalse("DataObject6 succeeded validation: " + objectValidationToXml(validation), validation.isValid());

    }

    @Test
    public void testEcm7() throws Exception {
        EcmValidator ecm = new EcmValidator(reader,null);

        Validation validation = ecm.validate(null, "demo:dataObject7", null);
        assertFalse("DataObject7 succeeded validation: " + objectValidationToXml(validation), validation.isValid());

    }

    @Test
    public void testEcm8() throws Exception {
        EcmValidator ecm = new EcmValidator(reader,null);

        Validation validation = ecm.validate(null, "demo:dataObject8", null);
        assertFalse("DataObject8 succeeded validation: " + objectValidationToXml(validation), validation.isValid());

    }



    public String objectValidationToXml(Validation validation) {
        StringBuilder buffer = new StringBuilder();
        String pid = validation.getPid();
        Date date = validation.getAsOfDateTime();
        String dateString = "";
        boolean valid = validation.isValid();
        if (date != null) {
            dateString = DateUtility.convertDateToString(date);
        }
        buffer.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
        buffer.append("<validation "
                      + "pid=\"" + enc(pid) + "\" " +
                      "valid=\"" + valid + "\">\n");
        buffer.append("  <asOfDateTime>" + dateString + "</asOfDateTime>\n");
        buffer.append("  <contentModels>\n");
        for (String model : validation.getContentModels()) {
            buffer.append("    <model>");
            buffer.append(enc(model));
            buffer.append("</model>\n");
        }
        buffer.append("  </contentModels>\n");

        buffer.append("  <problems>\n");
        for (String problem : validation.getObjectProblems()) {
            buffer.append("    <problem>");
            buffer.append(problem);
            buffer.append("</problem>\n");
        }
        buffer.append("  </problems>\n");

        buffer.append("  <datastreamProblems>\n");
        Map<String, List<String>> dsprobs = validation.getDatastreamProblems();
        for (String ds : dsprobs.keySet()) {
            List<String> problems = dsprobs.get(ds);
            buffer.append("    <datastream");
            buffer.append(" datastreamID=\"");
            buffer.append(ds);
            buffer.append("\">\n");
            for (String problem : problems) {
                buffer.append("      <problem>");
                buffer.append(problem);
                buffer.append("</problem>\n");
            }
            buffer.append("    </datastream>");
        }
        buffer.append("  </datastreamProblems>\n");
        buffer.append("</validation>");
        return buffer.toString();
    }


}
TOP

Related Classes of org.fcrepo.server.validation.ecm.EcmTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.