예제 #1
0
def test_create_virtual_repository_success(mocker):
    responses.add(responses.GET,
                  f"{URL}/api/repositories/{VIRTUAL_REPOSITORY.key}",
                  status=404)
    responses.add(
        responses.PUT,
        f"{URL}/api/repositories/{VIRTUAL_REPOSITORY.key}",
        json=VIRTUAL_REPOSITORY_RESPONSE.dict(),
        status=201,
    )
    responses.add(
        responses.GET,
        f"{URL}/api/repositories/{VIRTUAL_REPOSITORY.key}",
        json=VIRTUAL_REPOSITORY_RESPONSE.dict(),
        status=200,
    )

    artifactory_repo = ArtifactoryRepository(AuthModel(url=URL, auth=AUTH))
    mocker.spy(artifactory_repo, "get_virtual_repo")
    virtual_repo = artifactory_repo.create_virtual_repo(VIRTUAL_REPOSITORY)

    artifactory_repo.get_virtual_repo.assert_called_with(
        VIRTUAL_REPOSITORY.key)
    assert artifactory_repo.get_virtual_repo.call_count == 2
    assert virtual_repo == VIRTUAL_REPOSITORY_RESPONSE.dict()
def test_update_local_repository_using_update_repo_success(mocker):
    responses.add(
        responses.GET,
        f"{URL}/api/repositories/{UPDATED_LOCAL_REPOSITORY.key}",
        json=UPDATED_LOCAL_REPOSITORY_RESPONSE.dict(),
        status=200,
    )

    responses.add(
        responses.POST,
        f"{URL}/api/repositories/{UPDATED_LOCAL_REPOSITORY.key}",
        status=200,
    )
    responses.add(
        responses.GET,
        f"{URL}/api/repositories/{UPDATED_LOCAL_REPOSITORY.key}",
        json=UPDATED_LOCAL_REPOSITORY_RESPONSE.dict(),
        status=200,
    )
    artifactory_repo = ArtifactoryRepository(AuthModel(url=URL, auth=AUTH))
    mocker.spy(artifactory_repo, "get_repo")
    updated_repo = artifactory_repo.update_repo(UPDATED_LOCAL_REPOSITORY)

    assert isinstance(updated_repo, LocalRepositoryResponse)
    assert updated_repo == UPDATED_LOCAL_REPOSITORY_RESPONSE
예제 #3
0
def test_get_remote_repository_error_not_found():
    responses.add(responses.GET,
                  f"{URL}/api/repositories/{REMOTE_REPOSITORY.key}",
                  status=404)

    artifactory_repo = ArtifactoryRepository(AuthModel(url=URL, auth=AUTH))
    with pytest.raises(RepositoryNotFoundException):
        artifactory_repo.get_remote_repo(REMOTE_REPOSITORY.key)
 def test_delete_repo_success():
     responses.add(
         responses.DELETE,
         f"{URL}/api/repositories/{VIRTUAL_REPOSITORY.key}",
         status=204,
     )
     artifactory_repo = ArtifactoryRepository(AuthModel(url=URL, auth=AUTH))
     artifactory_repo.delete(VIRTUAL_REPOSITORY.key)
예제 #5
0
def test_get_local_repository_using_get_repo_error_not_found(mocker):
    responses.add(responses.GET,
                  f"{URL}/api/repositories/{LOCAL_REPOSITORY.key}",
                  status=404)

    artifactory_repo = ArtifactoryRepository(AuthModel(url=URL, auth=AUTH))
    mocker.spy(artifactory_repo, "get_repo")
    with pytest.raises(RepositoryNotFoundException):
        artifactory_repo.get_repo(LOCAL_REPOSITORY.key)
예제 #6
0
def test_update_local_repository_using_update_repo_fail_if_repo_not_found(
        mocker):
    responses.add(responses.GET,
                  f"{URL}/api/repositories/{LOCAL_REPOSITORY.key}",
                  status=404)

    artifactory_repo = ArtifactoryRepository(AuthModel(url=URL, auth=AUTH))
    mocker.spy(artifactory_repo, "get_repo")
    with pytest.raises(RepositoryNotFoundException):
        artifactory_repo.update_repo(LOCAL_REPOSITORY)
    artifactory_repo.get_repo.assert_called_once_with(LOCAL_REPOSITORY.key)
예제 #7
0
def test_get_remote_repository_using_get_repo_success():
    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))
    remote_repo = artifactory_repo.get_repo(REMOTE_REPOSITORY.key)

    assert remote_repo == REMOTE_REPOSITORY_RESPONSE
예제 #8
0
def test_get_virtual_repository_using_get_repo_success(mocker):
    responses.add(
        responses.GET,
        f"{URL}/api/repositories/{VIRTUAL_REPOSITORY.key}",
        json=VIRTUAL_REPOSITORY_RESPONSE.dict(),
        status=200,
    )

    artifactory_repo = ArtifactoryRepository(AuthModel(url=URL, auth=AUTH))
    virtual_repo = artifactory_repo.get_repo(VIRTUAL_REPOSITORY.key)

    assert virtual_repo == VIRTUAL_REPOSITORY_RESPONSE
예제 #9
0
def test_get_remote_repository_success(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")
    artifactory_repo.get_remote_repo(REMOTE_REPOSITORY.key)

    artifactory_repo.get_remote_repo.assert_called_once()
예제 #10
0
def test_update_remote_repository_using_update_repo_success():
    responses.add(
        responses.GET,
        f"{URL}/api/repositories/{UPDATED_REMOTE_REPOSITORY.key}",
        json=UPDATED_REMOTE_REPOSITORY_RESPONSE.dict(),
        status=200,
    )

    responses.add(
        responses.POST,
        f"{URL}/api/repositories/{UPDATED_REMOTE_REPOSITORY.key}",
        status=200,
    )
    responses.add(
        responses.GET,
        f"{URL}/api/repositories/{UPDATED_REMOTE_REPOSITORY.key}",
        json=UPDATED_REMOTE_REPOSITORY_RESPONSE.dict(),
        status=200,
    )
    artifactory_repo = ArtifactoryRepository(AuthModel(url=URL, auth=AUTH))
    updated_repo = artifactory_repo.update_repo(UPDATED_REMOTE_REPOSITORY)
    assert updated_repo == UPDATED_REMOTE_REPOSITORY_RESPONSE
예제 #11
0
def test_create_remote_repository_using_create_repo_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_repo")
    remote_repo = artifactory_repo.create_repo(REMOTE_REPOSITORY)

    assert remote_repo == REMOTE_REPOSITORY_RESPONSE
def test_create_local_repository_using_create_repo_success(mocker):
    responses.add(responses.GET,
                  f"{URL}/api/repositories/{LOCAL_REPOSITORY.key}",
                  status=404)
    responses.add(
        responses.PUT,
        f"{URL}/api/repositories/{LOCAL_REPOSITORY.key}",
        json=LOCAL_REPOSITORY_RESPONSE.dict(),
        status=201,
    )
    responses.add(
        responses.GET,
        f"{URL}/api/repositories/{LOCAL_REPOSITORY.key}",
        json=LOCAL_REPOSITORY_RESPONSE.dict(),
        status=200,
    )

    artifactory_repo = ArtifactoryRepository(AuthModel(url=URL, auth=AUTH))
    mocker.spy(artifactory_repo, "get_repo")
    local_repo = artifactory_repo.create_repo(LOCAL_REPOSITORY)

    assert isinstance(local_repo, LocalRepositoryResponse)
    assert local_repo == LOCAL_REPOSITORY_RESPONSE