1313 ReportSession ,
1414)
1515
16-
1716class TestCombinedUpload :
1817 def test_get_repo (self , db ):
1918 repository = RepositoryFactory (
@@ -29,9 +28,10 @@ def test_get_repo(self, db):
2928 client .credentials (HTTP_AUTHORIZATION = "token " + repository .upload_token )
3029 response = client .post (url , {}, format = "json" )
3130 assert response .status_code == 400 # Bad request due to missing required fields
32- assert "commit_sha " in response .json ()
31+ assert "commitid " in response .json ()
3332
34- def test_get_repo_not_found (self , db ):
33+ @patch ("services.task.TaskService.upload" )
34+ def test_get_repo_not_found (self , upload , db ):
3535 repository = RepositoryFactory (
3636 name = "the_repo" , author__username = "codecov" , author__service = "github"
3737 )
@@ -42,8 +42,9 @@ def test_get_repo_not_found(self, db):
4242 )
4343 client = APIClient ()
4444 response = client .post (url , {}, format = "json" )
45- assert response .status_code == 400
46- assert "Repository not found" in str (response .json ())
45+ assert response .status_code == 401
46+ assert response .json () == {"detail" : "Not valid tokenless upload" }
47+ assert not upload .called
4748
4849 def test_deactivated_repo (self , db ):
4950 repository = RepositoryFactory (
@@ -65,86 +66,6 @@ def test_deactivated_repo(self, db):
6566 assert response .status_code == 400
6667 assert "This repository is deactivated" in str (response .json ())
6768
68- @patch ("services.task.TaskService.update_commit" )
69- def test_successful_combined_upload (self , mock_update_commit , db ):
70- repository = RepositoryFactory (
71- name = "the_repo" , author__username = "codecov" , author__service = "github"
72- )
73- repository .save ()
74- repo_slug = f"{ repository .author .username } ::::{ repository .name } "
75- url = reverse (
76- "new_upload.combined_upload" ,
77- args = [repository .author .service , repo_slug ],
78- )
79-
80- upload_data = {
81- "commit_sha" : "abc123" ,
82- "branch" : "main" ,
83- "pull_request_number" : "42" ,
84- "code" : "coverage-data" ,
85- "build_code" : "build-1" ,
86- "build_url" : "http://ci.test/build/1" ,
87- "job_code" : "job-1" ,
88- "flags" : ["unit" , "integration" ],
89- "name" : "Upload 1" ,
90- }
91-
92- client = APIClient ()
93- client .credentials (HTTP_AUTHORIZATION = "token " + repository .upload_token )
94- response = client .post (url , upload_data , format = "json" )
95-
96- assert response .status_code == 201
97-
98- # Verify commit was created
99- commit = Commit .objects .get (commitid = "abc123" )
100- assert commit .branch == "main"
101- assert commit .pullid == 42
102- assert commit .repository == repository
103-
104- # Verify report was created
105- report = CommitReport .objects .get (commit = commit )
106- assert report is not None
107-
108- # Verify upload was created
109- session = ReportSession .objects .get (report = report )
110- assert session .build_code == "build-1"
111- assert session .build_url == "http://ci.test/build/1"
112- assert session .job_code == "job-1"
113- assert session .name == "Upload 1"
114-
115- mock_update_commit .assert_called_with (
116- commitid = "abc123" , repoid = repository .repoid
117- )
118-
119- @pytest .mark .parametrize ("branch" , ["main" , "someone:main" , "someone/fork:main" ])
120- @pytest .mark .parametrize ("private" , [True , False ])
121- def test_combined_upload_tokenless (self , db , branch , private ):
122- repository = RepositoryFactory (
123- private = private , author__username = "codecov" , name = "the_repo"
124- )
125- repo_slug = f"{ repository .author .username } ::::{ repository .name } "
126- url = reverse (
127- "new_upload.combined_upload" ,
128- args = [repository .author .service , repo_slug ],
129- )
130-
131- upload_data = {
132- "commit_sha" : "abc123" ,
133- "branch" : branch ,
134- "code" : "coverage-data" ,
135- }
136-
137- client = APIClient ()
138- response = client .post (url , upload_data , format = "json" )
139-
140- if ":" in branch and private == False :
141- assert response .status_code == 201
142- commit = Commit .objects .get (commitid = "abc123" )
143- assert commit .branch == branch
144- else :
145- assert response .status_code == 401
146- assert not Commit .objects .filter (commitid = "abc123" ).exists ()
147-
14869 def test_combined_upload_with_errors (self , db ):
14970 repository = RepositoryFactory ()
15071 repo_slug = f"{ repository .author .username } ::::{ repository .name } "
@@ -159,7 +80,7 @@ def test_combined_upload_with_errors(self, db):
15980 # Missing required fields
16081 response = client .post (url , {}, format = "json" )
16182 assert response .status_code == 400
162- assert "commit_sha " in response .json ()
83+ assert "commitid " in response .json ()
16384
16485 # Invalid flag format
16586 response = client .post (
0 commit comments