def test_image_exists_on_dockerhub_handles_correctly_identifies_image_repos( mock_requests_session: MagicMock): mock_requests_session().get.return_value = requests.Response() mock_requests_session().get.return_value.status_code = 200 assert image_exists_on_dockerhub('bodywork-ml/bodywork-core', 'v1') is True mock_requests_session().get.return_value.status_code = 404 assert image_exists_on_dockerhub('bodywork-ml/bodywork-core', 'x') is False
def docker_image() -> str: with open(Path('VERSION'), 'r') as file: version = file.readlines()[0].replace('\n', '') dev_image = f'{BODYWORK_DOCKERHUB_IMAGE_REPO}:{version}-dev' if image_exists_on_dockerhub(BODYWORK_DOCKERHUB_IMAGE_REPO, f'{version}-dev'): return dev_image else: raise RuntimeError( f'{dev_image} is not available for running integration tests')
def test_image_exists_on_dockerhub_handles_connection_error( mock_requests_session: MagicMock): mock_requests_session( ).get.side_effect = requests.exceptions.ConnectionError with raises(RuntimeError, match='cannot connect to'): image_exists_on_dockerhub('bodywork-ml/bodywork-core', 'latest')