def test_repository_delete(self, mock_requests_get, mock_requests_delete, mock_get_access_credentials, mock_validate_managed_registry): cmd = mock.MagicMock() cmd.cli_ctx = TestCli() get_response = mock.MagicMock() get_response.headers = { 'Docker-Content-Digest': 'sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7' } get_response.status_code = 200 mock_requests_get.return_value = get_response delete_response = mock.MagicMock() delete_response.headers = {} delete_response.status_code = 200 mock_requests_delete.return_value = delete_response mock_get_access_credentials.return_value = 'testregistry.azurecr.io', 'username', 'password' mock_validate_managed_registry.return_value = 'testregistry', None # Delete repository acr_repository_delete(cmd, 'testregistry', 'testrepository', yes=True) mock_requests_delete.assert_called_with( 'https://testregistry.azurecr.io/v2/_acr/testrepository/repository', headers=_get_authorization_header('username', 'password')) # Delete tag acr_repository_delete(cmd, 'testregistry', 'testrepository', tag='testtag', yes=True) mock_requests_delete.assert_called_with( 'https://testregistry.azurecr.io/v2/_acr/testrepository/tags/testtag', headers=_get_authorization_header('username', 'password')) # Delete manifest with tag acr_repository_delete(cmd, 'testregistry', 'testrepository', tag='testtag', manifest='', yes=True) expected_get_headers = _get_authorization_header('username', 'password') expected_get_headers.update(_get_manifest_v2_header()) mock_requests_get.assert_called_with( 'https://testregistry.azurecr.io/v2/testrepository/manifests/testtag', headers=expected_get_headers) mock_requests_delete.assert_called_with( 'https://testregistry.azurecr.io/v2/testrepository/manifests/sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', headers=_get_authorization_header('username', 'password')) # Delete manifest with digest acr_repository_delete(cmd, 'testregistry', 'testrepository', manifest='sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', yes=True) mock_requests_delete.assert_called_with( 'https://testregistry.azurecr.io/v2/testrepository/manifests/sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', headers=_get_authorization_header('username', 'password'))
def test_repository_delete(self, mock_requests_delete, mock_get_manifest_digest, mock_get_access_credentials): cmd = self._setup_cmd() delete_response = mock.MagicMock() delete_response.headers = {} delete_response.status_code = 200 mock_requests_delete.return_value = delete_response mock_get_access_credentials.return_value = 'testregistry.azurecr.io', 'username', 'password' mock_get_manifest_digest.return_value = 'sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7' # Delete repository acr_repository_delete(cmd, registry_name='testregistry', repository='testrepository', yes=True) mock_requests_delete.assert_called_with( method='delete', url='https://testregistry.azurecr.io/acr/v1/testrepository', headers=get_authorization_header('username', 'password'), params=None, json=None, verify=mock.ANY) # Delete image by tag acr_repository_delete(cmd, registry_name='testregistry', image='testrepository:testtag', yes=True) mock_requests_delete.assert_called_with( method='delete', url= 'https://testregistry.azurecr.io/v2/testrepository/manifests/sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', headers=get_authorization_header('username', 'password'), params=None, json=None, verify=mock.ANY) # Delete image by manifest digest acr_repository_delete( cmd, registry_name='testregistry', image= 'testrepository@sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', yes=True) mock_requests_delete.assert_called_with( method='delete', url= 'https://testregistry.azurecr.io/v2/testrepository/manifests/sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', headers=get_authorization_header('username', 'password'), params=None, json=None, verify=mock.ANY) # Untag image acr_repository_untag(cmd, registry_name='testregistry', image='testrepository:testtag') mock_requests_delete.assert_called_with( method='delete', url= 'https://testregistry.azurecr.io/acr/v1/testrepository/_tags/testtag', headers=get_authorization_header('username', 'password'), params=None, json=None, verify=mock.ANY)
def test_repository_delete(self, mock_requests_get, mock_requests_delete, mock_get_access_credentials, mock_get_registry_by_name): cmd = mock.MagicMock() cmd.cli_ctx = DummyCli() get_response = mock.MagicMock() get_response.headers = { 'Docker-Content-Digest': 'sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7' } get_response.status_code = 200 mock_requests_get.return_value = get_response delete_response = mock.MagicMock() delete_response.headers = {} delete_response.status_code = 200 mock_requests_delete.return_value = delete_response mock_get_registry_by_name.return_value = Registry( location='westus', sku=Sku(name='Standard')), 'testrg' mock_get_access_credentials.return_value = 'testregistry.azurecr.io', 'username', 'password' # Delete repository acr_repository_delete(cmd, registry_name='testregistry', repository='testrepository', yes=True) mock_requests_delete.assert_called_with( method='delete', url= 'https://testregistry.azurecr.io/v2/_acr/testrepository/repository', headers=get_authorization_header('username', 'password'), params=None, json=None, verify=mock.ANY) # Delete image by tag acr_repository_delete(cmd, registry_name='testregistry', image='testrepository:testtag', yes=True) expected_get_headers = get_authorization_header('username', 'password') expected_get_headers.update(MANIFEST_V2_HEADER) mock_requests_get.assert_called_with( url= 'https://testregistry.azurecr.io/v2/testrepository/manifests/testtag', headers=expected_get_headers, verify=mock.ANY) mock_requests_delete.assert_called_with( method='delete', url= 'https://testregistry.azurecr.io/v2/testrepository/manifests/sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', headers=get_authorization_header('username', 'password'), params=None, json=None, verify=mock.ANY) # Delete image by manifest digest acr_repository_delete( cmd, registry_name='testregistry', image= 'testrepository@sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', yes=True) mock_requests_delete.assert_called_with( method='delete', url= 'https://testregistry.azurecr.io/v2/testrepository/manifests/sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', headers=get_authorization_header('username', 'password'), params=None, json=None, verify=mock.ANY) # Untag image acr_repository_untag(cmd, registry_name='testregistry', image='testrepository:testtag') mock_requests_delete.assert_called_with( method='delete', url= 'https://testregistry.azurecr.io/v2/_acr/testrepository/tags/testtag', headers=get_authorization_header('username', 'password'), params=None, json=None, verify=mock.ANY) # Delete tag (deprecating) acr_repository_delete(cmd, 'testregistry', 'testrepository', tag='testtag', yes=True) mock_requests_delete.assert_called_with( method='delete', url= 'https://testregistry.azurecr.io/v2/_acr/testrepository/tags/testtag', headers=get_authorization_header('username', 'password'), params=None, json=None, verify=mock.ANY) # Delete manifest with tag (deprecating) acr_repository_delete(cmd, 'testregistry', 'testrepository', tag='testtag', manifest='', yes=True) expected_get_headers = get_authorization_header('username', 'password') expected_get_headers.update(MANIFEST_V2_HEADER) mock_requests_get.assert_called_with( url= 'https://testregistry.azurecr.io/v2/testrepository/manifests/testtag', headers=expected_get_headers, verify=mock.ANY) mock_requests_delete.assert_called_with( method='delete', url= 'https://testregistry.azurecr.io/v2/testrepository/manifests/sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', headers=get_authorization_header('username', 'password'), params=None, json=None, verify=mock.ANY) # Delete manifest with digest (deprecating) acr_repository_delete( cmd, 'testregistry', 'testrepository', manifest= 'sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', yes=True) mock_requests_delete.assert_called_with( method='delete', url= 'https://testregistry.azurecr.io/v2/testrepository/manifests/sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', headers=get_authorization_header('username', 'password'), params=None, json=None, verify=mock.ANY)
def test_repository_delete(self, mock_requests_get, mock_requests_delete, mock_get_access_credentials, mock_get_registry_by_name): cmd = mock.MagicMock() cmd.cli_ctx = DummyCli() get_response = mock.MagicMock() get_response.headers = { 'Docker-Content-Digest': 'sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7' } get_response.status_code = 200 mock_requests_get.return_value = get_response delete_response = mock.MagicMock() delete_response.headers = {} delete_response.status_code = 200 mock_requests_delete.return_value = delete_response mock_get_registry_by_name.return_value = Registry(location='westus', sku=Sku(name='Standard')), 'testrg' mock_get_access_credentials.return_value = 'testregistry.azurecr.io', 'username', 'password' # Delete repository acr_repository_delete(cmd, registry_name='testregistry', repository='testrepository', yes=True) mock_requests_delete.assert_called_with( method='delete', url='https://testregistry.azurecr.io/v2/_acr/testrepository/repository', headers=get_authorization_header('username', 'password'), params=None, json=None, verify=mock.ANY) # Delete image by tag acr_repository_delete(cmd, registry_name='testregistry', image='testrepository:testtag', yes=True) expected_get_headers = get_authorization_header('username', 'password') expected_get_headers.update(MANIFEST_V2_HEADER) mock_requests_get.assert_called_with( url='https://testregistry.azurecr.io/v2/testrepository/manifests/testtag', headers=expected_get_headers, verify=mock.ANY) mock_requests_delete.assert_called_with( method='delete', url='https://testregistry.azurecr.io/v2/testrepository/manifests/sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', headers=get_authorization_header('username', 'password'), params=None, json=None, verify=mock.ANY) # Delete image by manifest digest acr_repository_delete(cmd, registry_name='testregistry', image='testrepository@sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', yes=True) mock_requests_delete.assert_called_with( method='delete', url='https://testregistry.azurecr.io/v2/testrepository/manifests/sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', headers=get_authorization_header('username', 'password'), params=None, json=None, verify=mock.ANY) # Untag image acr_repository_untag(cmd, registry_name='testregistry', image='testrepository:testtag') mock_requests_delete.assert_called_with( method='delete', url='https://testregistry.azurecr.io/v2/_acr/testrepository/tags/testtag', headers=get_authorization_header('username', 'password'), params=None, json=None, verify=mock.ANY) # Delete tag (deprecating) acr_repository_delete(cmd, 'testregistry', 'testrepository', tag='testtag', yes=True) mock_requests_delete.assert_called_with( method='delete', url='https://testregistry.azurecr.io/v2/_acr/testrepository/tags/testtag', headers=get_authorization_header('username', 'password'), params=None, json=None, verify=mock.ANY) # Delete manifest with tag (deprecating) acr_repository_delete(cmd, 'testregistry', 'testrepository', tag='testtag', manifest='', yes=True) expected_get_headers = get_authorization_header('username', 'password') expected_get_headers.update(MANIFEST_V2_HEADER) mock_requests_get.assert_called_with( url='https://testregistry.azurecr.io/v2/testrepository/manifests/testtag', headers=expected_get_headers, verify=mock.ANY) mock_requests_delete.assert_called_with( method='delete', url='https://testregistry.azurecr.io/v2/testrepository/manifests/sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', headers=get_authorization_header('username', 'password'), params=None, json=None, verify=mock.ANY) # Delete manifest with digest (deprecating) acr_repository_delete(cmd, 'testregistry', 'testrepository', manifest='sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', yes=True) mock_requests_delete.assert_called_with( method='delete', url='https://testregistry.azurecr.io/v2/testrepository/manifests/sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', headers=get_authorization_header('username', 'password'), params=None, json=None, verify=mock.ANY)
def test_repository_delete(self, mock_requests_get, mock_requests_delete, mock_get_access_credentials, mock_validate_managed_registry): cmd = mock.MagicMock() cmd.cli_ctx = TestCli() get_response = mock.MagicMock() get_response.headers = { 'Docker-Content-Digest': 'sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7' } get_response.status_code = 200 mock_requests_get.return_value = get_response delete_response = mock.MagicMock() delete_response.headers = {} delete_response.status_code = 200 mock_requests_delete.return_value = delete_response mock_get_access_credentials.return_value = 'testregistry.azurecr.io', 'username', 'password' mock_validate_managed_registry.return_value = 'testregistry', None # Delete repository acr_repository_delete(cmd, registry_name='testregistry', repository='testrepository', yes=True) mock_requests_delete.assert_called_with( 'https://testregistry.azurecr.io/v2/_acr/testrepository/repository', headers=_get_authorization_header('username', 'password'), verify=mock.ANY) # Delete image by tag acr_repository_delete(cmd, registry_name='testregistry', image='testrepository:testtag', yes=True) expected_get_headers = _get_authorization_header('username', 'password') expected_get_headers.update(_get_manifest_v2_header()) mock_requests_get.assert_called_with( 'https://testregistry.azurecr.io/v2/testrepository/manifests/testtag', headers=expected_get_headers, verify=mock.ANY) mock_requests_delete.assert_called_with( 'https://testregistry.azurecr.io/v2/testrepository/manifests/sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', headers=_get_authorization_header('username', 'password'), verify=mock.ANY) # Delete image by manifest digest acr_repository_delete(cmd, registry_name='testregistry', image='testrepository@sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', yes=True) mock_requests_delete.assert_called_with( 'https://testregistry.azurecr.io/v2/testrepository/manifests/sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', headers=_get_authorization_header('username', 'password'), verify=mock.ANY) # Untag image acr_repository_untag(cmd, registry_name='testregistry', image='testrepository:testtag') mock_requests_delete.assert_called_with( 'https://testregistry.azurecr.io/v2/_acr/testrepository/tags/testtag', headers=_get_authorization_header('username', 'password'), verify=mock.ANY) # Delete tag (deprecating) acr_repository_delete(cmd, 'testregistry', 'testrepository', tag='testtag', yes=True) mock_requests_delete.assert_called_with( 'https://testregistry.azurecr.io/v2/_acr/testrepository/tags/testtag', headers=_get_authorization_header('username', 'password'), verify=mock.ANY) # Delete manifest with tag (deprecating) acr_repository_delete(cmd, 'testregistry', 'testrepository', tag='testtag', manifest='', yes=True) expected_get_headers = _get_authorization_header('username', 'password') expected_get_headers.update(_get_manifest_v2_header()) mock_requests_get.assert_called_with( 'https://testregistry.azurecr.io/v2/testrepository/manifests/testtag', headers=expected_get_headers, verify=mock.ANY) mock_requests_delete.assert_called_with( 'https://testregistry.azurecr.io/v2/testrepository/manifests/sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', headers=_get_authorization_header('username', 'password'), verify=mock.ANY) # Delete manifest with digest (deprecating) acr_repository_delete(cmd, 'testregistry', 'testrepository', manifest='sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', yes=True) mock_requests_delete.assert_called_with( 'https://testregistry.azurecr.io/v2/testrepository/manifests/sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', headers=_get_authorization_header('username', 'password'), verify=mock.ANY)
def test_repository_delete(self, mock_requests_delete, mock_get_manifest_digest, mock_get_access_credentials): cmd = self._setup_cmd() delete_response = mock.MagicMock() delete_response.headers = {} delete_response.status_code = 200 mock_requests_delete.return_value = delete_response mock_get_access_credentials.return_value = 'testregistry.azurecr.io', 'username', 'password' mock_get_manifest_digest.return_value = 'sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7' # Delete repository acr_repository_delete(cmd, registry_name='testregistry', repository='testrepository', yes=True) mock_requests_delete.assert_called_with( method='delete', url='https://testregistry.azurecr.io/acr/v1/testrepository', headers=get_authorization_header('username', 'password'), params=None, json=None, verify=mock.ANY) # Delete image by tag acr_repository_delete(cmd, registry_name='testregistry', image='testrepository:testtag', yes=True) mock_requests_delete.assert_called_with( method='delete', url='https://testregistry.azurecr.io/v2/testrepository/manifests/sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', headers=get_authorization_header('username', 'password'), params=None, json=None, verify=mock.ANY) # Delete image by manifest digest acr_repository_delete(cmd, registry_name='testregistry', image='testrepository@sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', yes=True) mock_requests_delete.assert_called_with( method='delete', url='https://testregistry.azurecr.io/v2/testrepository/manifests/sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7', headers=get_authorization_header('username', 'password'), params=None, json=None, verify=mock.ANY) # Untag image acr_repository_untag(cmd, registry_name='testregistry', image='testrepository:testtag') mock_requests_delete.assert_called_with( method='delete', url='https://testregistry.azurecr.io/acr/v1/testrepository/_tags/testtag', headers=get_authorization_header('username', 'password'), params=None, json=None, verify=mock.ANY)