Ignore:
Timestamp:
06/18/12 15:24:30 (12 years ago)
Author:
twagoo
Message:

ComponentRegistryFactory? now using ComponentStatus? and Owner instead of userId and userspace parameter.

Refs #142 and #143

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ComponentRegistry/trunk/ComponentRegistry/src/test/java/clarin/cmdi/componentregistry/impl/database/AdminRegistryTest.java

    r1603 r1993  
    1717import clarin.cmdi.componentregistry.ComponentRegistry;
    1818import clarin.cmdi.componentregistry.ComponentRegistryFactory;
     19import clarin.cmdi.componentregistry.ComponentStatus;
    1920import clarin.cmdi.componentregistry.DeleteFailedException;
    2021import clarin.cmdi.componentregistry.frontend.CMDItemInfo;
     
    2829@RunWith(SpringJUnit4ClassRunner.class)
    2930@ContextConfiguration(locations = {"/applicationContext.xml"})
    30 public class AdminRegistryTest  {
    31    
     31public class AdminRegistryTest {
     32
    3233    @Autowired
    3334    private ComponentDescriptionDao componentDescriptionDao;
     
    3738    private ComponentRegistryFactory componentRegistryFactory;
    3839    private static final Principal PRINCIPAL_ADMIN = DummyPrincipal.DUMMY_ADMIN_PRINCIPAL;
    39    
    4040    @Autowired
    4141    private JdbcTemplate jdbcTemplate;
    42    
     42
    4343    @Before
    4444    public void init() {
     
    4848    @Test
    4949    public void testForceUpdate() throws Exception {
    50         ComponentRegistry testRegistry = componentRegistryFactory.getPublicRegistry();
    51         String content1 = "";
    52         content1 += "<CMD_ComponentSpec isProfile=\"false\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n";
    53         content1 += "    xsi:noNamespaceSchemaLocation=\"general-component-schema.xsd\">\n";
    54         content1 += "    <Header/>\n";
    55         content1 += "    <CMD_Component name=\"XXX\" CardinalityMin=\"1\" CardinalityMax=\"10\">\n";
    56         content1 += "        <CMD_Element name=\"Availability\" ValueScheme=\"string\" />\n";
    57         content1 += "    </CMD_Component>\n";
    58         content1 += "</CMD_ComponentSpec>\n";
    59         ComponentDescription compDesc1 = RegistryTestHelper.addComponent(testRegistry, "XXX1", content1);
     50        ComponentRegistry testRegistry = componentRegistryFactory.getPublicRegistry();
     51        String content1 = "";
     52        content1 += "<CMD_ComponentSpec isProfile=\"false\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n";
     53        content1 += "    xsi:noNamespaceSchemaLocation=\"general-component-schema.xsd\">\n";
     54        content1 += "    <Header/>\n";
     55        content1 += "    <CMD_Component name=\"XXX\" CardinalityMin=\"1\" CardinalityMax=\"10\">\n";
     56        content1 += "        <CMD_Element name=\"Availability\" ValueScheme=\"string\" />\n";
     57        content1 += "    </CMD_Component>\n";
     58        content1 += "</CMD_ComponentSpec>\n";
     59        ComponentDescription compDesc1 = RegistryTestHelper.addComponent(testRegistry, "XXX1", content1);
    6060
    61         String content2 = "";
    62         content2 += "<CMD_ComponentSpec isProfile=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n";
    63         content2 += "    xsi:noNamespaceSchemaLocation=\"general-component-schema.xsd\">\n";
    64         content2 += "    <Header/>\n";
    65         content2 += "    <CMD_Component name=\"YYY\" CardinalityMin=\"1\" CardinalityMax=\"unbounded\">\n";
    66         content2 += "        <CMD_Component ComponentId=\"" + compDesc1.getId() + "\" CardinalityMin=\"0\" CardinalityMax=\"99\">\n";
    67         content2 += "        </CMD_Component>\n";
    68         content2 += "    </CMD_Component>\n";
    69         content2 += "</CMD_ComponentSpec>\n";
    70         ProfileDescription profileDesc = RegistryTestHelper.addProfile(testRegistry, "YYY1", content2);
     61        String content2 = "";
     62        content2 += "<CMD_ComponentSpec isProfile=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n";
     63        content2 += "    xsi:noNamespaceSchemaLocation=\"general-component-schema.xsd\">\n";
     64        content2 += "    <Header/>\n";
     65        content2 += "    <CMD_Component name=\"YYY\" CardinalityMin=\"1\" CardinalityMax=\"unbounded\">\n";
     66        content2 += "        <CMD_Component ComponentId=\"" + compDesc1.getId() + "\" CardinalityMin=\"0\" CardinalityMax=\"99\">\n";
     67        content2 += "        </CMD_Component>\n";
     68        content2 += "    </CMD_Component>\n";
     69        content2 += "</CMD_ComponentSpec>\n";
     70        ProfileDescription profileDesc = RegistryTestHelper.addProfile(testRegistry, "YYY1", content2);
    7171
    72         AdminRegistry adminReg = new AdminRegistry();
    73         adminReg.setComponentRegistryFactory(componentRegistryFactory);
    74         adminReg.setComponentDescriptionDao(componentDescriptionDao);
    75         adminReg.setProfileDescriptionDao(profileDescriptionDao);
    76         CMDItemInfo fileInfo = new CMDItemInfo();
    77         fileInfo.setForceUpdate(false);
    78         fileInfo.setDataNode(new DisplayDataNode(compDesc1.getName(), false, compDesc1, true));
    79         fileInfo.setContent(content1);
    80         try {
    81             adminReg.submitFile(fileInfo, PRINCIPAL_ADMIN);
    82             fail();
    83         } catch (SubmitFailedException e) {}
    84         fileInfo.setForceUpdate(true);
    85         adminReg.submitFile(fileInfo, PRINCIPAL_ADMIN); //Component needs to be forced because they can be used by other profiles/components
     72        AdminRegistry adminReg = new AdminRegistry();
     73        adminReg.setComponentRegistryFactory(componentRegistryFactory);
     74        adminReg.setComponentDescriptionDao(componentDescriptionDao);
     75        adminReg.setProfileDescriptionDao(profileDescriptionDao);
     76        CMDItemInfo fileInfo = new CMDItemInfo();
     77        fileInfo.setForceUpdate(false);
     78        fileInfo.setDataNode(new DisplayDataNode(compDesc1.getName(), false, compDesc1, ComponentStatus.PUBLIC));
     79        fileInfo.setContent(content1);
     80        try {
     81            adminReg.submitFile(fileInfo, PRINCIPAL_ADMIN);
     82            fail();
     83        } catch (SubmitFailedException e) {
     84        }
     85        fileInfo.setForceUpdate(true);
     86        adminReg.submitFile(fileInfo, PRINCIPAL_ADMIN); //Component needs to be forced because they can be used by other profiles/components
    8687
    87         assertEquals(1, testRegistry.getComponentDescriptions().size());
    88         try {
    89             fileInfo.setForceUpdate(false);
    90             adminReg.delete(fileInfo, PRINCIPAL_ADMIN);
    91             fail();
    92         } catch (SubmitFailedException e) {
    93             assertTrue(e.getCause() instanceof DeleteFailedException);
    94         }
    95         assertEquals(1, testRegistry.getComponentDescriptions().size());
    96         fileInfo.setForceUpdate(true);
    97         adminReg.delete(fileInfo, PRINCIPAL_ADMIN);
    98         assertEquals(0, testRegistry.getComponentDescriptions().size());
     88        assertEquals(1, testRegistry.getComponentDescriptions().size());
     89        try {
     90            fileInfo.setForceUpdate(false);
     91            adminReg.delete(fileInfo, PRINCIPAL_ADMIN);
     92            fail();
     93        } catch (SubmitFailedException e) {
     94            assertTrue(e.getCause() instanceof DeleteFailedException);
     95        }
     96        assertEquals(1, testRegistry.getComponentDescriptions().size());
     97        fileInfo.setForceUpdate(true);
     98        adminReg.delete(fileInfo, PRINCIPAL_ADMIN);
     99        assertEquals(0, testRegistry.getComponentDescriptions().size());
    99100
    100         assertEquals(1, testRegistry.getProfileDescriptions().size());
    101         fileInfo.setForceUpdate(false);
    102         fileInfo.setDataNode(new DisplayDataNode(profileDesc.getName(), false, profileDesc, true));
    103         adminReg.delete(fileInfo, PRINCIPAL_ADMIN); //Profile do not need to be forced they cannot be used by other profiles
    104         assertEquals(0, testRegistry.getProfileDescriptions().size());
     101        assertEquals(1, testRegistry.getProfileDescriptions().size());
     102        fileInfo.setForceUpdate(false);
     103        fileInfo.setDataNode(new DisplayDataNode(profileDesc.getName(), false, profileDesc, ComponentStatus.PUBLIC));
     104        adminReg.delete(fileInfo, PRINCIPAL_ADMIN); //Profile do not need to be forced they cannot be used by other profiles
     105        assertEquals(0, testRegistry.getProfileDescriptions().size());
    105106    }
    106107}
Note: See TracChangeset for help on using the changeset viewer.