@After public void cleanupTaskHandlerTest() { provisionerQueues.removeAll(); }
@After public void cleanupTest() { provisionerQueues.removeAll(); }
/** * Delete the given tenant. A tenant must not have any assigned workers in order for deletion to be allowed. * * @param name Name of the tenant to delete * @throws IllegalStateException if the tenant has one or more assigned workers * @throws IOException if there was an exception persisting the deletion */ public void deleteTenantByName(String name) throws IllegalStateException, IOException { tenantLock.lock(); try { Tenant tenant = tenantStore.getTenantByName(name); if (tenant == null) { return; } int numAssignedWorkers = provisionerStore.getNumAssignedWorkers(tenant.getId()); if (numAssignedWorkers > 0) { throw new IllegalStateException("Tenant " + name + " still has " + numAssignedWorkers + " workers. " + "Cannot delete it until workers are set to 0."); } tenantStore.deleteTenantByName(name); for (QueueGroup queueGroup : queueService.getAllQueueGroups().values()) { queueGroup.removeAll(tenant.getId()); } } finally { tenantLock.unlock(); } }
@Test public void testGetQueueNames() { QueueGroup queues = getQueueGroup(QueueType.PROVISIONER); queues.add("tenant1", new Element("id", "val")); queues.take("tenant2", "consumer.0"); queues.take("tenant3", "consumer.1"); queues.removeAll("tenant4"); queues.getBeingConsumed("tenant5"); queues.getQueued("tenant6"); ImmutableSet<String> expected = ImmutableSet.of("tenant1", "tenant2", "tenant3", "tenant4", "tenant5", "tenant6"); ImmutableSet<String> actual = ImmutableSet.copyOf(queues.getQueueNames()); Assert.assertEquals(expected, actual); }
clusterQueues.removeAll();
ClusterAction.CLUSTER_CREATE, 3, 0); jobQueues.removeAll(tenantId); Assert.assertEquals(0, jobQueues.size(tenantId));
assertQueueMetrics("tenantD", ImmutableMap.of("tenantD", new QueueMetrics(1, 1))); } finally { provisionerQueues.removeAll(); tenantStore.deleteTenantByName("tenantA"); tenantStore.deleteTenantByName("tenantB");
@Test public void testRemoveAll() { QueueGroup queues = getQueueGroup(QueueType.PROVISIONER); queues.add("tenant1", new Element("id1", "val")); queues.add("tenant2", new Element("id2", "val")); queues.add("tenant3", new Element("id3", "val")); queues.add("tenant4", new Element("id4", "val")); Assert.assertTrue(queues.removeAll()); Assert.assertFalse(queues.takeIterator("consumer").hasNext()); Assert.assertNull(queues.take("tenant1", "consumer")); Assert.assertNull(queues.take("tenant2", "consumer")); Assert.assertNull(queues.take("tenant3", "consumer")); Assert.assertNull(queues.take("tenant4", "consumer")); }
@Test public void testRemoveAllForOneQueue() { QueueGroup queues = getQueueGroup(QueueType.PROVISIONER); queues.add("tenant1", new Element("id1", "val")); queues.add("tenant2", new Element("id2", "val")); queues.add("tenant3", new Element("id3", "val")); queues.add("tenant4", new Element("id4", "val")); Assert.assertTrue(queues.removeAll("tenant3")); Assert.assertNull(queues.take("tenant3", "consumer")); Assert.assertNotNull(queues.take("tenant1", "consumer")); Assert.assertNotNull(queues.take("tenant2", "consumer")); Assert.assertNotNull(queues.take("tenant4", "consumer")); }
Assert.assertEquals(Node.Status.IN_PROGRESS, node4.getActions().get(0).getStatus()); Assert.assertTrue(jobQueues.removeAll(queueName)); Assert.assertEquals(0, Iterators.size(provisionerQueues.getQueued(queueName))); Assert.assertEquals(0, Iterators.size(provisionerQueues.getBeingConsumed(queueName)));