/**
* Copyright (c) 2009 - 2012 Red Hat, Inc.
*
* This software is licensed to you under the GNU General Public License,
* version 2 (GPLv2). There is NO WARRANTY for this software, express or
* implied, including the implied warranties of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
* along with this software; if not, see
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
*
* Red Hat trademarks are not licensed under GPLv2. No permission is
* granted to use or replicate Red Hat trademarks that are incorporated
* in this software or its documentation.
*/
package org.candlepin.model;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import org.candlepin.test.DatabaseTestFixture;
import org.junit.Test;
import java.util.Date;
import javax.inject.Inject;
/**
* ExporterMetadataCuratorTest
*/
public class ExporterMetadataCuratorTest extends DatabaseTestFixture {
@Inject private ExporterMetadataCurator emc;
@Test
public void testCreation() {
ExporterMetadata em = new ExporterMetadata();
em.setType(ExporterMetadata.TYPE_SYSTEM);
em.setExported(new Date());
assertNull(em.getId());
ExporterMetadata emdb = emc.create(em);
assertNotNull(emdb);
assertNotNull(emdb.getId());
assertNull(emdb.getOwner());
}
@Test
public void testLookup() {
ExporterMetadata em = new ExporterMetadata();
em.setType(ExporterMetadata.TYPE_SYSTEM);
em.setExported(new Date());
assertNull(em.getId());
ExporterMetadata emdb = emc.create(em);
ExporterMetadata emfound = emc.find(emdb.getId());
assertNotNull(emfound);
assertNotNull(emfound.getId());
assertEquals(emdb.getId(), emfound.getId());
}
@Test
public void lookupByType() {
ExporterMetadata em = new ExporterMetadata();
em.setType(ExporterMetadata.TYPE_SYSTEM);
em.setExported(new Date());
assertNull(em.getId());
ExporterMetadata emdb = emc.create(em);
assertNull(emc.lookupByType(ExporterMetadata.TYPE_PER_USER));
assertEquals(emdb, emc.lookupByType(ExporterMetadata.TYPE_SYSTEM));
}
@Test
public void setOwner() {
ExporterMetadata em = new ExporterMetadata();
em.setType(ExporterMetadata.TYPE_PER_USER);
em.setExported(new Date());
em.setOwner(createOwner());
ExporterMetadata emdb = emc.create(em);
assertNotNull(emdb);
assertNotNull(emdb.getOwner());
assertNotNull(emdb.getOwner().getId());
}
@Test
public void lookupByTypeAndOwner() {
ExporterMetadata em = new ExporterMetadata();
Owner owner = createOwner();
em.setType(ExporterMetadata.TYPE_PER_USER);
em.setExported(new Date());
em.setOwner(owner);
ExporterMetadata emdb = emc.create(em);
assertEquals(emdb, emc.lookupByTypeAndOwner(
ExporterMetadata.TYPE_PER_USER, owner));
}
}