|
1 | 1 | from unittest.mock import patch |
2 | 2 |
|
3 | 3 | import pytest |
| 4 | +from django.conf import settings |
4 | 5 | from django.urls import reverse |
5 | 6 | from rest_framework.test import APIClient |
6 | 7 | from shared.django_apps.core.tests.factories import ( |
@@ -39,6 +40,35 @@ def test_reports_get_not_allowed(client, mocker, db): |
39 | 40 | assert res.status_code == 405 |
40 | 41 |
|
41 | 42 |
|
| 43 | +def test_deactivated_repo(db): |
| 44 | + repo = RepositoryFactory( |
| 45 | + name="the_repo", |
| 46 | + author__username="codecov", |
| 47 | + author__service="github", |
| 48 | + active=True, |
| 49 | + activated=False, |
| 50 | + ) |
| 51 | + commit = CommitFactory(repository=repo) |
| 52 | + repo.save() |
| 53 | + commit.save() |
| 54 | + repo_slug = f"{repo.author.username}::::{repo.name}" |
| 55 | + |
| 56 | + client = APIClient() |
| 57 | + client.credentials(HTTP_AUTHORIZATION="token " + repo.upload_token) |
| 58 | + url = reverse( |
| 59 | + "new_upload.reports", |
| 60 | + args=["github", repo_slug, commit.commitid], |
| 61 | + ) |
| 62 | + response = client.post( |
| 63 | + url, data={"code": "code1"}, headers={"User-Agent": "codecov-cli/0.4.7"} |
| 64 | + ) |
| 65 | + response_json = response.json() |
| 66 | + assert response.status_code == 400 |
| 67 | + assert response_json == [ |
| 68 | + f"This repository is deactivated. To resume uploading to it, please activate the repository in the codecov UI: {settings.CODECOV_DASHBOARD_URL}/github/codecov/the_repo/settings" |
| 69 | + ] |
| 70 | + |
| 71 | + |
42 | 72 | def test_reports_post(client, db, mocker): |
43 | 73 | mocked_call = mocker.patch.object(TaskService, "preprocess_upload") |
44 | 74 | mock_prometheus_metrics = mocker.patch("upload.metrics.API_UPLOAD_COUNTER.labels") |
|
0 commit comments