示例#1
0
def test_create_remote_repository_fail_if_user_already_exists(mocker):
    responses.add(
        responses.GET,
        f"{URL}/api/repositories/{REMOTE_REPOSITORY.key}",
        json=REMOTE_REPOSITORY_RESPONSE.dict(),
        status=200,
    )

    artifactory_repo = ArtifactoryRepository(AuthModel(url=URL, auth=AUTH))
    mocker.spy(artifactory_repo, "get_remote_repo")
    with pytest.raises(RepositoryAlreadyExistsException):
        artifactory_repo.create_remote_repo(REMOTE_REPOSITORY)

        artifactory_repo.get_remote_repo.assert_called_once_with(
            REMOTE_REPOSITORY.key)
    def test_create_remote_repository_success(mocker):
        responses.add(responses.GET,
                      f"{URL}/api/repositories/{REMOTE_REPOSITORY.key}",
                      status=404)
        responses.add(
            responses.PUT,
            f"{URL}/api/repositories/{REMOTE_REPOSITORY.key}",
            json=REMOTE_REPOSITORY_RESPONSE.dict(),
            status=201,
        )
        responses.add(
            responses.GET,
            f"{URL}/api/repositories/{REMOTE_REPOSITORY.key}",
            json=REMOTE_REPOSITORY_RESPONSE.dict(),
            status=200,
        )

        artifactory_repo = ArtifactoryRepository(AuthModel(url=URL, auth=AUTH))
        mocker.spy(artifactory_repo, "get_remote_repo")
        remote_repo = artifactory_repo.create_remote_repo(REMOTE_REPOSITORY)

        artifactory_repo.get_remote_repo.assert_called_with(
            REMOTE_REPOSITORY.key)
        assert artifactory_repo.get_remote_repo.call_count == 2
        assert remote_repo == REMOTE_REPOSITORY_RESPONSE.dict()