@Test public void testApplicationLifecycle() throws InterruptedException { // Create local site SiteEntity siteEntity = new SiteEntity(); siteEntity.setSiteId("test_site"); siteEntity.setSiteName("Test Site"); siteEntity.setDescription("Test Site for HADOOP_JMX_METRIC_MONITOR"); siteResource.createSite(siteEntity); Assert.assertNotNull(siteEntity.getUuid()); ApplicationOperations.InstallOperation installOperation = new ApplicationOperations.InstallOperation( "test_site", "HADOOP_JMX_METRIC_MONITOR", ApplicationEntity.Mode.LOCAL); installOperation.setConfiguration(getConf()); // Install application ApplicationEntity applicationEntity = applicationResource.installApplication(installOperation).getData(); // Uninstall application applicationResource.uninstallApplication( new ApplicationOperations.UninstallOperation(applicationEntity.getUuid())); try { applicationResource.getApplicationEntityByUUID(applicationEntity.getUuid()); Assert.fail( "Application instance (UUID: " + applicationEntity.getUuid() + ") should have been uninstalled"); } catch (Exception ex) { // Expected exception } }
@Test public void testCRUDApplicationEntity() throws SQLException, EntityNotFoundException { SiteEntity siteEntity = new SiteEntity(); siteEntity.setSiteId("testsiteid"); siteEntity.setSiteName("testsitename"); siteEntity.setDescription("testdesc"); siteEntityService.create(siteEntity); String siteuuid = siteEntity.getUuid(); long sitecreateTime = siteEntity.getCreatedTime(); long sitemodifiedTime = siteEntity.getModifiedTime(); ApplicationDesc applicationDesc = new ApplicationDesc(); applicationDesc.setType("testtype"); ApplicationEntity applicationEntity = new ApplicationEntity(); applicationEntity.setSite(siteEntity); applicationEntity.setDescriptor(applicationDesc); applicationEntity.setMode(ApplicationEntity.Mode.LOCAL); applicationEntity.setJarPath("c://"); applicationEntityService.create(applicationEntity); String appuuid = applicationEntity.getUuid(); String appId = applicationEntity.getAppId(); long createTime = applicationEntity.getCreatedTime(); long modifiedTime = applicationEntity.getModifiedTime(); Collection<ApplicationEntity> results = applicationEntityService.findAll(); Assert.assertEquals(1, results.size()); ApplicationEntity applicationEntityFromDB = applicationEntityService.getBySiteIdAndAppType("testsiteid", "testtype"); Assert.assertTrue(applicationEntityFromDB != null); results = applicationEntityService.findBySiteId("testsiteid"); Assert.assertEquals(1, results.size()); applicationEntityFromDB = applicationEntityService.getByUUID(appuuid); Assert.assertTrue(applicationEntityFromDB != null); applicationEntityFromDB = applicationEntityService.getByUUIDOrAppId(null, appId); Assert.assertEquals(siteuuid, applicationEntityFromDB.getSite().getUuid()); Assert.assertEquals("testsiteid", applicationEntityFromDB.getSite().getSiteId()); Assert.assertEquals("testsitename", applicationEntityFromDB.getSite().getSiteName()); Assert.assertEquals("testdesc", applicationEntityFromDB.getSite().getDescription()); Assert.assertEquals(sitecreateTime, applicationEntityFromDB.getSite().getCreatedTime()); Assert.assertEquals(sitemodifiedTime, applicationEntityFromDB.getSite().getModifiedTime()); Assert.assertEquals(appuuid, applicationEntityFromDB.getUuid()); Assert.assertEquals(appId, applicationEntityFromDB.getAppId()); Assert.assertEquals("testtype", applicationEntityFromDB.getDescriptor().getType()); Assert.assertEquals(ApplicationEntity.Mode.LOCAL, applicationEntityFromDB.getMode()); Assert.assertEquals("c://", applicationEntityFromDB.getJarPath()); Assert.assertEquals(ApplicationEntity.Status.INITIALIZED, applicationEntityFromDB.getStatus()); Assert.assertEquals(createTime, applicationEntityFromDB.getCreatedTime()); Assert.assertEquals(modifiedTime, applicationEntityFromDB.getModifiedTime()); }