/**
* 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.search.solr.model;
import java.util.Arrays;
import org.junit.Assert;
import org.junit.Test;
public class BriefObjectMetadataBeanTest extends Assert {
@Test
public void datastreamParsing() {
Datastream ds = new Datastream("DATA_FILE|image/jpeg|jpg|30459|dc93eff50ca7dbd688971716e55e0084|");
assertEquals("DATA_FILE", ds.getName());
assertEquals("image/jpeg", ds.getMimetype());
assertEquals("jpg", ds.getExtension());
assertEquals(30459, ds.getFilesize().longValue());
assertEquals("dc93eff50ca7dbd688971716e55e0084", ds.getChecksum());
assertNull(ds.getOwner());
}
@Test
public void datastreamSurrogateParsing() {
Datastream ds = new Datastream("DATA_FILE|image/jpeg|jpg|30459|dc93eff50ca7dbd688971716e55e0084|uuid:73247248-e351-49dc-9b27-fe44df3884e7");
assertEquals("DATA_FILE", ds.getName());
assertEquals("image/jpeg", ds.getMimetype());
assertEquals("jpg", ds.getExtension());
assertEquals(30459, ds.getFilesize().longValue());
assertEquals("dc93eff50ca7dbd688971716e55e0084", ds.getChecksum());
assertEquals("uuid:73247248-e351-49dc-9b27-fe44df3884e7", ds.getOwner().getPid());
}
@Test
public void datastreamNoChecksum() {
Datastream ds = new Datastream("AUDIT|text/xml|xml|30459||");
assertEquals("AUDIT", ds.getName());
assertEquals("text/xml", ds.getMimetype());
assertEquals("xml", ds.getExtension());
assertEquals(30459, ds.getFilesize().longValue());
assertNull(ds.getChecksum());
assertNull(ds.getOwner());
}
@Test
public void datastreamNoChecksumFromSurrogate() {
Datastream ds = new Datastream("AUDIT|text/xml|xml|30459||uuid:73247248-e351-49dc-9b27-fe44df3884e7");
assertEquals("AUDIT", ds.getName());
assertEquals("text/xml", ds.getMimetype());
assertEquals("xml", ds.getExtension());
assertEquals(30459, ds.getFilesize().longValue());
assertNull(ds.getChecksum());
assertEquals("uuid:73247248-e351-49dc-9b27-fe44df3884e7", ds.getOwner().getPid());
}
@Test
public void datastreamEquality(){
Datastream ds = new Datastream("DATA_FILE");
Datastream ds2 = new Datastream("DATA_FILE|image/jpeg|jpg|0||");
assertTrue(ds.equals(ds));
assertTrue(ds.equals(ds2));
assertTrue(ds2.equals(ds));
assertTrue(ds.equals("DATA_FILE"));
assertFalse(ds.equals(null));
ds = new Datastream("DATA_FILE|image/jpeg|jpg|0||uuid:1234");
assertTrue(ds.equals(ds));
assertTrue(ds.equals(ds2));
assertTrue(ds2.equals(ds));
ds2 = new Datastream("DATA_FILE|image/jpeg|jpg|0||uuid:1234");
assertTrue(ds.equals(ds2));
ds2 = new Datastream("DATA_FILE|image/jpeg|jpg|0||uuid:2345");
assertFalse(ds.equals(ds2));
ds2 = new Datastream("RELS-EXT|text/xml|xml|23||uuid:1234");
assertFalse(ds.equals(ds2));
}
@Test
public void setRoleGroupsEmpty() {
BriefObjectMetadataBean mdb = new BriefObjectMetadataBean();
mdb.setRoleGroup(Arrays.asList(""));
assertEquals(0, mdb.getGroupRoleMap().size());
assertEquals(1, mdb.getRoleGroup().size());
}
@Test
public void setRoleGroups() {
BriefObjectMetadataBean mdb = new BriefObjectMetadataBean();
mdb.setRoleGroup(Arrays.asList("curator|admin", "patron|public"));
assertEquals(2, mdb.getGroupRoleMap().size());
assertEquals(2, mdb.getRoleGroup().size());
}
}