def set_up(wait_time=10): connection = SQLStore.get_connection() count = 3 while not connection and count: LOG.debug('Retrying to connect to Database \'{}\'...'.format( Helper.database)) count = count - 1 time.sleep(wait_time) connection = SQLStore.get_connection() if connection: # Create DB connection.cursor().execute( 'CREATE DATABASE IF NOT EXISTS {}'.format(Helper.database)) LOG.debug('Successfully connected to Database \'{}\'...'.format( Helper.database)) # Create tables PlanAdapter.create_table() ServiceTypeAdapter.create_table() PlanServiceTypeAdapter.create_table() ManifestAdapter.create_table() ServiceInstanceAdapter.create_table() LastOperationAdapter.create_table() connection.close() else: raise Exception('Could not connect to the DB')
def delete_service_instance(instance_id: str = None): # -> None: if instance_id: if ServiceInstanceAdapter.exists_in_db(instance_id): ServiceInstanceAdapter.delete(instance_id) return 'Instance Deleted', 200 else: return 'Instance ID not found', 500 else: LastOperationAdapter.delete_all() ServiceInstanceAdapter.delete_all() return 'Deleted all Instances', 200
def delete_service(service_id: str = None) -> tuple: if service_id: if ServiceTypeAdapter.exists_in_db(service_id): ServiceTypeAdapter.delete(service_id) return 'Service Deleted', 200 else: return 'Service ID not found', 500 else: PlanServiceTypeAdapter.delete_all() LastOperationAdapter.delete_all() ServiceInstanceAdapter.delete_all() ManifestAdapter.delete_all() ServiceTypeAdapter.delete_all() PlanAdapter.delete_all() return 'Deleted all Services', 200
def delete_last_operation(self, instance_id: str = None) -> tuple: if ServiceInstanceAdapter.exists_in_db(instance_id): instance = ServiceInstanceAdapter.find_by_id_name(instance_id) ''' Attempt to Create Table ''' PlanAdapter.create_table() ServiceTypeAdapter.create_table() ServiceTypeAdapter.create_table() ServiceInstanceAdapter.create_table() LastOperationAdapter.create_table() instance.state = None ServiceInstanceAdapter.save(instance) id_name = ServiceInstanceAdapter.get_id(instance) if ServiceInstanceAdapter.exists_in_db(id_name): return 'Instance added successfully', 200 else: return 'Could not save the Instance in the DB', 500 else: raise Exception('Service Instance not found')
def add_service_instance(instance: ServiceInstance) -> tuple: id_name = ServiceInstanceAdapter.get_id(instance) if ServiceInstanceAdapter.exists_in_db(id_name): LOG.warning( 'An existing instance was attempted to be saved. Updating it...' ) SQLStore.delete_service_instance(id_name) # return 'The Instance already exists in the catalog.', 409 ''' Attempt to Create Table ''' PlanAdapter.create_table() ServiceTypeAdapter.create_table() ManifestAdapter.create_table() ServiceInstanceAdapter.create_table() LastOperationAdapter.create_table() ServiceInstanceAdapter.save(instance) id_name = ServiceInstanceAdapter.get_id(instance) if ServiceInstanceAdapter.exists_in_db(id_name): LOG.warning('Instance added successfully...') return 'Instance added successfully', 200 else: LOG.warning('Could not save the Instance in the DB...') return 'Could not save the Instance in the DB', 500
def test_adapter_save_to_update(self): self.test_model.state = LastOperationAdapter.sample_model( 'instance-updated!') model_sql = Adapter.save(self.test_model) exists = Adapter.exists_in_db(model_sql.id_name) self.assertTrue(exists)