def test_set_unset_volatile_flag(self): index = "user/index" users = {"user": {"password": "******"}} indices = {index: {'volatile': False}} with TestServer(users, indices) as client: client.login("user", "secret") with volatile_index(client, index): self.assertIn('volatile=True', client.modify_index(index)) self.assertIn('volatile=False', client.modify_index(index)) with self.assertRaises(Exception): with volatile_index(client, 'user/index'): raise Exception("Woops") self.assertIn('volatile=False', client.modify_index(index))
def test_throw_when_not_forced(self): index = "user/index" users = {"user": {"password": "******"}} indices = {index: {'volatile': False}} with TestServer(users, indices) as client: client.login("user", "secret") with self.assertRaises(Exception): with volatile_index(client, 'user/index', force_volatile=False): pass self.assertIn('volatile=False', client.modify_index(index))
def remove_packages(client, index, packages, force, versions_to_keep=0): versions_deleted = 0 num_of_packages = len(packages) print("num of packages: {}".format(num_of_packages)) sorted_packages = sorted(packages) with volatile_index(client, index, force): for package in sorted_packages: assert package.index == index print(package) if num_of_packages - versions_deleted > versions_to_keep: print("deleting {name}=={version}".format( name=package.name, version=package.version)) client.remove( '--index', package.index, '{name}=={version}'.format(name=package.name, version=package.version)) print("deleted {name}=={version}".format( name=package.name, version=package.version)) versions_deleted += 1 else: print("deleted {}, leaving {} versions".format( versions_deleted, versions_to_keep)) return
def remove_packages(client, index, packages, force): with volatile_index(client, index, force): for package in packages: assert package.index == index client.remove('--index', package.index, '{name}=={version}'.format(name=package.name, version=package.version))
def remove_packages(client, index, packages, force): with volatile_index(client, index, force): for package in packages: assert package.index == index wait_for_sync(client) remove_package(client, package)