@Test(expected = IllegalArgumentException.class) public void testOnlyAdminsHaveAccess() throws Exception { PluginMetaStoreService service = getPluginResourceMetaStoreService(); service.getResourceTypeView(new Account("notadmin", "tenant"), new ResourceType(PluginType.AUTOMATOR, "chef-solo", "cookbooks")); }
@Test public void testGetAll() throws Exception { PluginMetaStoreService service = getPluginResourceMetaStoreService(); PluginResourceTypeView view = service.getResourceTypeView(account1, type1); ResourceMeta hadoop1 = new ResourceMeta("hadoop", 1, ResourceStatus.INACTIVE);
@Test public void testStageOnNothingIsNoOp() throws Exception { PluginMetaStoreService service = getPluginResourceMetaStoreService(); PluginResourceTypeView view = service.getResourceTypeView(account1, type1); ResourceMeta hadoop = new ResourceMeta("hadoop", 1, ResourceStatus.STAGED); view.add(hadoop); // if we stage a non-existent version, the current staged version should not be affected view.stage(hadoop.getName(), hadoop.getVersion() + 1); Assert.assertEquals(ResourceStatus.STAGED, view.get(hadoop.getName(), hadoop.getVersion()).getStatus()); }
@Test public void testWriteDeleteExistsGetWithinAccount() throws Exception { PluginMetaStoreService service = getPluginResourceMetaStoreService(); PluginResourceTypeView view = service.getResourceTypeView(account1, type1); String name = "name"; int version = 1; ResourceMeta meta = new ResourceMeta(name, version); view.add(meta); Assert.assertTrue(view.exists(name, version)); Assert.assertEquals(meta, view.get(name, version)); view.delete(name, version); Assert.assertFalse(view.exists(name, version)); Assert.assertNull(view.get(name, version)); }
@Test public void testGetNumResources() throws Exception { PluginMetaStoreService service = getPluginResourceMetaStoreService(); // for account1 write 6 resources (7 but one is deleted) in all different states service.getResourceTypeView(account1, type1).add(new ResourceMeta("r1", 1, ResourceStatus.ACTIVE)); service.getResourceTypeView(account1, type1).add(new ResourceMeta("r1", 2, ResourceStatus.INACTIVE)); service.getResourceTypeView(account1, type1).add(new ResourceMeta("r2", 1, ResourceStatus.INACTIVE)); service.getResourceTypeView(account1, type1).add(new ResourceMeta("r2", 2, ResourceStatus.STAGED)); service.getResourceTypeView(account1, type2).add(new ResourceMeta("r3", 1, ResourceStatus.RECALLED)); service.getResourceTypeView(account1, type2).add(new ResourceMeta("r3", 2, ResourceStatus.STAGED)); service.getResourceTypeView(account1, type2).add(new ResourceMeta("r3", 3, ResourceStatus.STAGED)); service.getResourceTypeView(account1, type2).delete("r3", 3); Assert.assertEquals(6, service.getAccountView(account1).numResources()); // account 2 should have nothing Assert.assertEquals(0, service.getAccountView(account2).numResources()); }
@Test public void testTypeSeparation() throws Exception { PluginMetaStoreService service = getPluginResourceMetaStoreService(); PluginResourceTypeView view1 = service.getResourceTypeView(account1, type1); PluginResourceTypeView view2 = service.getResourceTypeView(account1, type2); String name = "name"; int version = 1; ResourceMeta meta = new ResourceMeta(name, version); view1.add(meta); Assert.assertTrue(view1.exists(name, version)); Assert.assertFalse(view2.exists(name, version)); Assert.assertEquals(meta, view1.get(name, version)); Assert.assertNull(view2.get(name, version)); view2.add(meta); Assert.assertTrue(view1.exists(name, version)); Assert.assertTrue(view2.exists(name, version)); Assert.assertEquals(meta, view1.get(name, version)); Assert.assertEquals(meta, view2.get(name, version)); view1.delete(name, version); Assert.assertFalse(view1.exists(name, version)); Assert.assertTrue(view2.exists(name, version)); Assert.assertNull(view1.get(name, version)); Assert.assertEquals(meta, view2.get(name, version)); view2.delete(name, version); Assert.assertFalse(view1.exists(name, version)); Assert.assertFalse(view2.exists(name, version)); Assert.assertNull(view1.get(name, version)); Assert.assertNull(view2.get(name, version)); }
@Test public void testAccountSeparation() throws Exception { PluginMetaStoreService service = getPluginResourceMetaStoreService(); PluginResourceTypeView view1 = service.getResourceTypeView(account1, type1); PluginResourceTypeView view2 = service.getResourceTypeView(account2, type1); String name = "name"; int version = 1; ResourceMeta meta = new ResourceMeta(name, version); view1.add(meta); Assert.assertTrue(view1.exists(name, version)); Assert.assertFalse(view2.exists(name, version)); Assert.assertEquals(meta, view1.get(name, version)); Assert.assertNull(view2.get(name, version)); view2.add(meta); Assert.assertTrue(view1.exists(name, version)); Assert.assertTrue(view2.exists(name, version)); Assert.assertEquals(meta, view1.get(name, version)); Assert.assertEquals(meta, view2.get(name, version)); view1.delete(name, version); Assert.assertFalse(view1.exists(name, version)); Assert.assertTrue(view2.exists(name, version)); Assert.assertNull(view1.get(name, version)); Assert.assertEquals(meta, view2.get(name, version)); view2.delete(name, version); Assert.assertFalse(view1.exists(name, version)); Assert.assertFalse(view2.exists(name, version)); Assert.assertNull(view1.get(name, version)); Assert.assertNull(view2.get(name, version)); }
@Test public void testSyncStatus() throws Exception { PluginMetaStoreService service = getPluginResourceMetaStoreService(); PluginResourceTypeView view1 = service.getResourceTypeView(account1, type1); PluginResourceTypeView view2 = service.getResourceTypeView(account1, type2);
@Test public void testStage() throws Exception { PluginMetaStoreService service = getPluginResourceMetaStoreService(); PluginResourceTypeView view = service.getResourceTypeView(account1, type1); ResourceMeta hadoop1 = new ResourceMeta("hadoop", 1, ResourceStatus.INACTIVE);
@Test public void testRecall() throws Exception { PluginMetaStoreService service = getPluginResourceMetaStoreService(); PluginResourceTypeView view = service.getResourceTypeView(account1, type1); ResourceMeta hadoop1 = new ResourceMeta("hadoop", 1, ResourceStatus.INACTIVE);