def test_create_locks_address_exists(self): network = db_api.network_create(self.context) address_model = db_api.ip_address_create( self.context, address=netaddr.IPAddress("192.168.10.1"), network=network) self.context.session.flush() addresses = netaddr.IPSet(netaddr.IPNetwork(self.sub_cidr)) null_routes.create_locks(self.context, [network.id], addresses) self.context.session.refresh(address_model) self.assertIsNotNone(address_model.lock_id)
def test_create_locks_address_doesnt_exist(self): network = db_api.network_create(self.context) subnet = db_api.subnet_create( self.context, network=network, cidr=self.cidr, ip_version=4) self.context.session.flush() addresses = netaddr.IPSet(netaddr.IPNetwork(self.sub_cidr)) null_routes.create_locks(self.context, [network.id], addresses) address = db_api.ip_address_find( self.context, subnet_id=subnet.id, scope=db_api.ONE) self.assertIsNotNone(address) self.assertIsNotNone(address.lock_id)
def test_create_locks_lock_holder_exists(self): network = db_api.network_create(self.context) address_model = db_api.ip_address_create( self.context, address=netaddr.IPAddress("192.168.10.1"), network=network) db_api.lock_holder_create( self.context, address_model, name=null_routes.LOCK_NAME, type="ip_address") self.context.session.flush() addresses = netaddr.IPSet(netaddr.IPNetwork(self.sub_cidr)) null_routes.create_locks(self.context, [network.id], addresses) lock_holders = db_api.lock_holder_find( self.context, lock_id=address_model.lock_id, name=null_routes.LOCK_NAME, scope=db_api.ALL) self.assertEqual(len(lock_holders), 1)