def clean_subscriptions(): ingestion_management = IngestionManagementServiceClient() pubsub = PubsubManagementServiceClient() rr = ResourceRegistryServiceClient() ingestion_config_ids = ingestion_management.list_ingestion_configurations(id_only=True) for ic in ingestion_config_ids: subscription_ids, assocs = rr.find_objects(subject=ic, predicate=PRED.hasSubscription, id_only=True) for subscription_id, assoc in zip(subscription_ids, assocs): rr.delete_association(assoc) try: pubsub.deactivate_subscription(subscription_id) except: log.exception("Unable to decativate subscription: %s", subscription_id) pubsub.delete_subscription(subscription_id)
def clean_subscriptions(): ingestion_management = IngestionManagementServiceClient() pubsub = PubsubManagementServiceClient() rr = ResourceRegistryServiceClient() ingestion_config_ids = ingestion_management.list_ingestion_configurations(id_only=True) for ic in ingestion_config_ids: subscription_ids, assocs = rr.find_objects(subject=ic, predicate=PRED.hasSubscription, id_only=True) for subscription_id, assoc in zip(subscription_ids, assocs): rr.delete_association(assoc) try: pubsub.deactivate_subscription(subscription_id) except: log.exception("Unable to decativate subscription: %s", subscription_id) pubsub.delete_subscription(subscription_id)
def clean_subscriptions(): ingestion_management = IngestionManagementServiceClient() pubsub = PubsubManagementServiceClient() rr = ResourceRegistryServiceClient() ingestion_config_ids = ingestion_management.list_ingestion_configurations(id_only=True) for ic in ingestion_config_ids: assocs = rr.find_associations(subject=ic, predicate=PRED.hasSubscription, id_only=False) for assoc in assocs: rr.delete_association(assoc) try: pubsub.deactivate_subscription(assoc.o) except: pass pubsub.delete_subscription(assoc.o)
class IngestionManagementIntTest(IonIntegrationTestCase): def setUp(self): self._start_container() self.container.start_rel_from_url('res/deploy/r2deploy.yml') self.ingestion_management = IngestionManagementServiceClient() self.resource_registry = ResourceRegistryServiceClient() self.pubsub_management = PubsubManagementServiceClient() self.ingest_name = 'basic' self.exchange = 'testdata' @staticmethod def clean_subscriptions(): ingestion_management = IngestionManagementServiceClient() pubsub = PubsubManagementServiceClient() rr = ResourceRegistryServiceClient() ingestion_config_ids = ingestion_management.list_ingestion_configurations( id_only=True) for ic in ingestion_config_ids: subscription_ids, assocs = rr.find_objects( subject=ic, predicate=PRED.hasSubscription, id_only=True) for subscription_id, assoc in zip(subscription_ids, assocs): rr.delete_association(assoc) try: pubsub.deactivate_subscription(subscription_id) except: log.exception("Unable to decativate subscription: %s", subscription_id) pubsub.delete_subscription(subscription_id) def create_ingest_config(self): self.queue = IngestionQueue(name='test', type='testdata') # Create the ingestion config ingestion_config_id = self.ingestion_management.create_ingestion_configuration( name=self.ingest_name, exchange_point_id=self.exchange, queues=[self.queue]) return ingestion_config_id def test_ingestion_config_crud(self): ingestion_config_id = self.create_ingest_config() ingestion_config = self.ingestion_management.read_ingestion_configuration( ingestion_config_id) self.assertTrue(ingestion_config.name == self.ingest_name) self.assertTrue(ingestion_config.queues[0].name == 'test') self.assertTrue(ingestion_config.queues[0].type == 'testdata') ingestion_config.name = 'another' self.ingestion_management.update_ingestion_configuration( ingestion_config) # Create an association just to make sure that it will delete them sub = Subscription() sub_id, _ = self.resource_registry.create(sub) assoc_id, _ = self.resource_registry.create_association( subject=ingestion_config_id, predicate=PRED.hasSubscription, object=sub_id) self.ingestion_management.delete_ingestion_configuration( ingestion_config_id) with self.assertRaises(NotFound): self.resource_registry.read(assoc_id) def test_list_ingestion(self): # Create the ingest_config config_id = self.create_ingest_config() retval = self.ingestion_management.list_ingestion_configurations( id_only=True) # Nice thing about this is that it breaks if r2dm adds an ingest_config self.assertTrue(config_id in retval)
class IngestionManagementIntTest(IonIntegrationTestCase): def setUp(self): self._start_container() self.container.start_rel_from_url("res/deploy/r2deploy.yml") self.ingestion_management = IngestionManagementServiceClient() self.resource_registry = ResourceRegistryServiceClient() self.pubsub_management = PubsubManagementServiceClient() self.ingest_name = "basic" self.exchange = "testdata" @staticmethod def clean_subscriptions(): ingestion_management = IngestionManagementServiceClient() pubsub = PubsubManagementServiceClient() rr = ResourceRegistryServiceClient() ingestion_config_ids = ingestion_management.list_ingestion_configurations(id_only=True) for ic in ingestion_config_ids: assocs = rr.find_associations(subject=ic, predicate=PRED.hasSubscription, id_only=False) for assoc in assocs: rr.delete_association(assoc) try: pubsub.deactivate_subscription(assoc.o) except: pass pubsub.delete_subscription(assoc.o) def create_ingest_config(self): self.queue = IngestionQueue(name="test", type="testdata") # Create the ingestion config ingestion_config_id = self.ingestion_management.create_ingestion_configuration( name=self.ingest_name, exchange_point_id=self.exchange, queues=[self.queue] ) return ingestion_config_id def test_ingestion_config_crud(self): ingestion_config_id = self.create_ingest_config() ingestion_config = self.ingestion_management.read_ingestion_configuration(ingestion_config_id) self.assertTrue(ingestion_config.name == self.ingest_name) self.assertTrue(ingestion_config.queues[0].name == "test") self.assertTrue(ingestion_config.queues[0].type == "testdata") ingestion_config.name = "another" self.ingestion_management.update_ingestion_configuration(ingestion_config) # Create an association just to make sure that it will delete them sub = Subscription() sub_id, _ = self.resource_registry.create(sub) assoc_id, _ = self.resource_registry.create_association( subject=ingestion_config_id, predicate=PRED.hasSubscription, object=sub_id ) self.ingestion_management.delete_ingestion_configuration(ingestion_config_id) with self.assertRaises(NotFound): self.resource_registry.read(assoc_id) def test_list_ingestion(self): # Create the ingest_config config_id = self.create_ingest_config() retval = self.ingestion_management.list_ingestion_configurations(id_only=True) # Nice thing about this is that it breaks if r2dm adds an ingest_config self.assertTrue(config_id in retval)