def main_loop(args, data): data_global = data['global'] global_dry_run = data_global.get('dry-run', False) if data_global.get('no-validate-ssl', False): requests.packages.urllib3.disable_warnings(InsecureRequestWarning) registry = Registry.create(data_global['host'], data_global['login'], data_global.get('no-validate-ssl', False), data_global.get('digest-method', 'HEAD')) registry.auth_schemes = get_auth_schemes(registry, '/v2/_catalog') image_list = registry.list_images() image_list = {image_name: False for image_name in image_list} delete_images_list = data.get('delete_images', []) if len(delete_images_list): for item in delete_images_list: if item['image'] in image_list: apply_delete(item['image'], item, global_dry_run, registry) image_list[item['image']] = True default_other_images = data.get('default_other_images', None) if default_other_images: other_images = ( [name for name, executed in image_list.items() if not executed]) if len(other_images): for item in other_images: apply_delete(item, default_other_images, global_dry_run, registry)
def test_invalid_login(self): with self.assertRaises(SystemExit): Registry.create("testhost4", "invalid_login", False)
def test_create_login(self): r = Registry.create("testhost2", "testlogin:testpass", False) self.assertEqual(r.hostname, "testhost2") self.assertTrue(isinstance(r.http, Requests)) self.assertEqual(r.username, "testlogin") self.assertEqual(r.password, "testpass")
def test_validate_ssl(self): r = Registry.create("testhost3", None, True) self.assertTrue(isinstance(r.http, Requests)) self.assertTrue(r.no_validate_ssl) self.assertEqual(r.username, None) self.assertEqual(r.password, None)
def test_create_nologin(self): r = Registry.create("testhost", None, False) self.assertTrue(isinstance(r.http, Requests)) self.assertEqual(r.hostname, "testhost") self.assertEqual(r.no_validate_ssl, False)