7
7
import pytest
8
8
import requests
9
9
import rest_framework
10
- from ddf import G
11
10
from django .core .exceptions import MultipleObjectsReturned
12
11
from django .test import TestCase , override_settings
13
12
from django .utils import timezone
17
16
from rest_framework .reverse import reverse
18
17
from rest_framework .test import APITestCase
19
18
from shared .api_archive .archive import ArchiveService
20
- from shared .django_apps .core .tests .factories import OwnerFactory
19
+ from shared .django_apps .codecov_auth .tests .factories import PlanFactory , TierFactory
20
+ from shared .django_apps .core .tests .factories import (
21
+ CommitFactory ,
22
+ OwnerFactory ,
23
+ RepositoryFactory ,
24
+ )
25
+ from shared .plan .constants import TierName
21
26
from shared .torngit .exceptions import (
22
27
TorngitClientGeneralError ,
23
28
TorngitObjectNotFoundError ,
24
29
TorngitRateLimitError ,
25
30
)
26
31
from simplejson import JSONDecodeError
27
32
28
- from codecov_auth .models import Owner
29
- from core .models import Commit , Repository
33
+ from core .models import Commit
30
34
from reports .tests .factories import CommitReportFactory , UploadFactory
31
35
from upload .helpers import (
32
36
determine_repo_for_upload ,
@@ -297,8 +301,8 @@ def test_get_global_tokens(self, mock_get_config):
297
301
298
302
def test_determine_repo_upload (self ):
299
303
with self .subTest ("token found" ):
300
- org = G ( Owner )
301
- repo = G ( Repository , author = org )
304
+ org = OwnerFactory ( )
305
+ repo = RepositoryFactory ( author = org )
302
306
303
307
params = {
304
308
"version" : "v4" ,
@@ -309,8 +313,8 @@ def test_determine_repo_upload(self):
309
313
assert repo == determine_repo_for_upload (params )
310
314
311
315
with self .subTest ("token not found" ):
312
- org = G ( Owner )
313
- repo = G ( Repository , author = org )
316
+ org = OwnerFactory ( )
317
+ repo = RepositoryFactory ( author = org )
314
318
315
319
params = {
316
320
"version" : "v4" ,
@@ -329,8 +333,8 @@ def test_determine_repo_upload(self):
329
333
330
334
@patch .object (requests , "get" )
331
335
def test_determine_repo_upload_tokenless (self , mock_get ):
332
- org = G ( Owner , username = "codecov" , service = "github" )
333
- repo = G ( Repository , author = org )
336
+ org = OwnerFactory ( username = "codecov" , service = "github" )
337
+ repo = RepositoryFactory ( author = org )
334
338
expected_response = {
335
339
"id" : 732059764 ,
336
340
"finishTime" : f"{ datetime .now ()} " ,
@@ -498,12 +502,11 @@ def test_determine_upload_commit_to_use(
498
502
}
499
503
500
504
with self .subTest ("not a github commit" ):
501
- org = G (
502
- Owner ,
505
+ org = OwnerFactory (
503
506
service = "bitbucket" ,
504
507
oauth_token = encryptor .encode ("hahahahaha" ).decode (),
505
508
)
506
- repo = G ( Repository , author = org )
509
+ repo = RepositoryFactory ( author = org )
507
510
upload_params = {
508
511
"service" : "bitbucket" ,
509
512
"commit" : "3be5c52bd748c508a7e96993c02cf3518c816e84" ,
@@ -514,12 +517,11 @@ def test_determine_upload_commit_to_use(
514
517
)
515
518
516
519
with self .subTest ("merge commit" ):
517
- org = G (
518
- Owner ,
520
+ org = OwnerFactory (
519
521
service = "github" ,
520
522
oauth_token = encryptor .encode ("hahahahaha" ).decode (),
521
523
)
522
- repo = G ( Repository , author = org )
524
+ repo = RepositoryFactory ( author = org )
523
525
upload_params = {
524
526
"service" : "github" ,
525
527
"commit" : "3084886b7ff869dcf327ad1d28a8b7d34adc7584" ,
@@ -531,8 +533,8 @@ def test_determine_upload_commit_to_use(
531
533
)
532
534
533
535
with self .subTest ("just no bot available" ):
534
- org = G ( Owner , service = "github" , oauth_token = None )
535
- repo = G ( Repository , author = org , private = True )
536
+ org = OwnerFactory ( service = "github" , oauth_token = None )
537
+ repo = RepositoryFactory ( author = org , private = True )
536
538
upload_params = {
537
539
"service" : "github" ,
538
540
"commit" : "3084886b7ff869dcf327ad1d28a8b7d34adc7584" ,
@@ -544,12 +546,11 @@ def test_determine_upload_commit_to_use(
544
546
)
545
547
546
548
with self .subTest ("merge commit with did_change_merge_commit argument" ):
547
- org = G (
548
- Owner ,
549
+ org = OwnerFactory (
549
550
service = "github" ,
550
551
oauth_token = encryptor .encode ("hahahahaha" ).decode (),
551
552
)
552
- repo = G ( Repository , author = org )
553
+ repo = RepositoryFactory ( author = org )
553
554
upload_params = {
554
555
"service" : "github" ,
555
556
"commit" : "3084886b7ff869dcf327ad1d28a8b7d34adc7584" ,
@@ -563,8 +564,8 @@ def test_determine_upload_commit_to_use(
563
564
564
565
with self .subTest ("use repo bot token when available" ):
565
566
bot = OwnerFactory ()
566
- org = G ( Owner , service = "github" )
567
- repo = G ( Repository , author = org , bot = bot )
567
+ org = OwnerFactory ( service = "github" )
568
+ repo = RepositoryFactory ( author = org , bot = bot )
568
569
569
570
upload_params = {
570
571
"service" : "github" ,
@@ -581,8 +582,8 @@ def test_determine_upload_commit_to_use(
581
582
mock_async .side_effect = [TorngitClientGeneralError (500 , None , None )]
582
583
583
584
with self .subTest ("HTTP error" ):
584
- org = G ( Owner , service = "github" )
585
- repo = G ( Repository , author = org )
585
+ org = OwnerFactory ( service = "github" )
586
+ repo = RepositoryFactory ( author = org )
586
587
upload_params = {
587
588
"service" : "github" ,
588
589
"commit" : "3084886b7ff869dcf327ad1d28a8b7d34adc7584" ,
@@ -596,8 +597,8 @@ def test_determine_upload_commit_to_use(
596
597
mock_async .side_effect = [TorngitObjectNotFoundError (500 , None )]
597
598
598
599
with self .subTest ("HTTP error" ):
599
- org = G ( Owner , service = "github" )
600
- repo = G ( Repository , author = org )
600
+ org = OwnerFactory ( service = "github" )
601
+ repo = RepositoryFactory ( author = org )
601
602
upload_params = {
602
603
"service" : "github" ,
603
604
"commit" : "3084886b7ff869dcf327ad1d28a8b7d34adc7584" ,
@@ -609,8 +610,8 @@ def test_determine_upload_commit_to_use(
609
610
)
610
611
611
612
def test_insert_commit (self ):
612
- org = G ( Owner )
613
- repo = G ( Repository , author = org )
613
+ org = OwnerFactory ( )
614
+ repo = RepositoryFactory ( author = org )
614
615
615
616
with self .subTest ("newly created" ):
616
617
insert_commit (
@@ -628,8 +629,7 @@ def test_insert_commit(self):
628
629
assert commit .parent_commit_id is None
629
630
630
631
with self .subTest ("commit already in database" ):
631
- G (
632
- Commit ,
632
+ CommitFactory (
633
633
commitid = "1c78206f1a46dc6db8412a491fc770eb7d0f8a47" ,
634
634
branch = "apples" ,
635
635
pullid = "456" ,
@@ -656,7 +656,7 @@ def test_insert_commit(self):
656
656
assert commit .parent_commit_id == "different_parent_commit"
657
657
658
658
with self .subTest ("parent provided" ):
659
- parent = G ( Commit )
659
+ parent = CommitFactory ( )
660
660
insert_commit (
661
661
"8458a8c72aafb5fb4c5cd58f467a2f71298f1b61" ,
662
662
"test" ,
@@ -715,9 +715,9 @@ def test_parse_request_headers(self):
715
715
716
716
def test_validate_upload_repository_moved (self ):
717
717
redis = MockRedis ()
718
- owner = G ( Owner , plan = "users-free" )
719
- repo = G ( Repository , author = owner , name = "" )
720
- commit = G ( Commit )
718
+ owner = OwnerFactory ( plan = "users-free" )
719
+ repo = RepositoryFactory ( author = owner , name = "" )
720
+ commit = CommitFactory ( )
721
721
722
722
with self .assertRaises (ValidationError ) as err :
723
723
validate_upload ({"commit" : commit .commitid }, repo , redis )
@@ -729,9 +729,9 @@ def test_validate_upload_repository_moved(self):
729
729
730
730
def test_validate_upload_empty_totals (self ):
731
731
redis = MockRedis ()
732
- owner = G ( Owner , plan = "5m" )
733
- repo = G ( Repository , author = owner )
734
- commit = G ( Commit , totals = None , repository = repo )
732
+ owner = OwnerFactory ( plan = "5m" )
733
+ repo = RepositoryFactory ( author = owner )
734
+ commit = CommitFactory ( totals = None , repository = repo )
735
735
736
736
validate_upload ({"commit" : commit .commitid }, repo , redis )
737
737
repo .refresh_from_db ()
@@ -741,9 +741,9 @@ def test_validate_upload_empty_totals(self):
741
741
742
742
def test_validate_upload_too_many_uploads_for_commit (self ):
743
743
redis = MockRedis ()
744
- owner = G ( Owner , plan = "users-free" )
745
- repo = G ( Repository , author = owner )
746
- commit = G ( Commit , totals = {"s" : 151 }, repository = repo )
744
+ owner = OwnerFactory ( plan = "users-free" )
745
+ repo = RepositoryFactory ( author = owner )
746
+ commit = CommitFactory ( totals = {"s" : 151 }, repository = repo )
747
747
report = CommitReportFactory .create (commit = commit )
748
748
for i in range (151 ):
749
749
UploadFactory .create (report = report )
@@ -754,9 +754,9 @@ def test_validate_upload_too_many_uploads_for_commit(self):
754
754
755
755
def test_validate_upload_repository_blacklisted (self ):
756
756
redis = MockRedis (blacklisted = True )
757
- owner = G ( Owner , plan = "users-free" )
758
- repo = G ( Repository , author = owner )
759
- commit = G ( Commit )
757
+ owner = OwnerFactory ( plan = "users-free" )
758
+ repo = RepositoryFactory ( author = owner )
759
+ commit = CommitFactory ( )
760
760
761
761
with self .assertRaises (ValidationError ) as err :
762
762
validate_upload ({"commit" : commit .commitid }, repo , redis )
@@ -767,10 +767,12 @@ def test_validate_upload_repository_blacklisted(self):
767
767
768
768
def test_validate_upload_per_repo_billing_invalid (self ):
769
769
redis = MockRedis ()
770
- owner = G (Owner , plan = "1m" )
771
- G (Repository , author = owner , private = True , activated = True , active = True )
772
- repo = G (Repository , author = owner , private = True , activated = False , active = False )
773
- commit = G (Commit )
770
+ owner = OwnerFactory (plan = "1m" )
771
+ RepositoryFactory (author = owner , private = True , activated = True , active = True )
772
+ repo = RepositoryFactory (
773
+ author = owner , private = True , activated = False , active = False
774
+ )
775
+ commit = CommitFactory ()
774
776
775
777
with self .assertRaises (ValidationError ) as err :
776
778
validate_upload ({"commit" : commit .commitid }, repo , redis )
@@ -781,22 +783,22 @@ def test_validate_upload_per_repo_billing_invalid(self):
781
783
782
784
def test_validate_upload_gitlab_subgroups (self ):
783
785
redis = MockRedis ()
784
- parent_group = G (Owner , plan = "1m" , parent_service_id = None , service = "gitlab" )
785
- top_subgroup = G (
786
- Owner ,
786
+ parent_group = OwnerFactory (plan = "1m" , parent_service_id = None , service = "gitlab" )
787
+ top_subgroup = OwnerFactory (
787
788
plan = "1m" ,
788
789
parent_service_id = parent_group .service_id ,
789
790
service = "gitlab" ,
790
791
)
791
- bottom_subgroup = G (
792
- Owner ,
792
+ bottom_subgroup = OwnerFactory (
793
793
plan = "1m" ,
794
794
parent_service_id = top_subgroup .service_id ,
795
795
service = "gitlab" ,
796
796
)
797
- G (Repository , author = parent_group , private = True , activated = True , active = True )
798
- repo = G (Repository , author = bottom_subgroup , private = True , activated = False )
799
- commit = G (Commit )
797
+ RepositoryFactory (
798
+ author = parent_group , private = True , activated = True , active = True
799
+ )
800
+ repo = RepositoryFactory (author = bottom_subgroup , private = True , activated = False )
801
+ commit = CommitFactory ()
800
802
801
803
with self .assertRaises (ValidationError ) as err :
802
804
validate_upload ({"commit" : commit .commitid }, repo , redis )
@@ -807,16 +809,15 @@ def test_validate_upload_gitlab_subgroups(self):
807
809
808
810
def test_validate_upload_valid_upload_repo_not_activated (self ):
809
811
redis = MockRedis ()
810
- owner = G (Owner , plan = "users-free" )
811
- repo = G (
812
- Repository ,
812
+ owner = OwnerFactory (plan = "users-free" )
813
+ repo = RepositoryFactory (
813
814
author = owner ,
814
815
private = True ,
815
816
activated = False ,
816
817
deleted = False ,
817
818
active = False ,
818
819
)
819
- commit = G ( Commit )
820
+ commit = CommitFactory ( )
820
821
821
822
with patch (
822
823
"services.analytics.AnalyticsService.account_activated_repository_on_upload"
@@ -831,9 +832,9 @@ def test_validate_upload_valid_upload_repo_not_activated(self):
831
832
832
833
def test_validate_upload_valid_upload_repo_activated (self ):
833
834
redis = MockRedis ()
834
- owner = G ( Owner , plan = "5m" )
835
- repo = G ( Repository , author = owner , private = True , activated = True )
836
- commit = G ( Commit )
835
+ owner = OwnerFactory ( plan = "5m" )
836
+ repo = RepositoryFactory ( author = owner , private = True , activated = True )
837
+ commit = CommitFactory ( )
837
838
838
839
with patch (
839
840
"services.analytics.AnalyticsService.account_activated_repository_on_upload"
@@ -849,7 +850,7 @@ def test_validate_upload_valid_upload_repo_activated(self):
849
850
@freeze_time ("2023-01-01T00:00:00" )
850
851
@patch ("services.task.TaskService.upload" )
851
852
def test_dispatch_upload_task (self , upload ):
852
- repo = G ( Repository )
853
+ repo = RepositoryFactory ( )
853
854
task_arguments = {
854
855
"commit" : "commit123" ,
855
856
"version" : "v4" ,
@@ -914,9 +915,12 @@ def _post_slash(
914
915
return self .client .post (url , data = data , content_type = content_type , ** headers )
915
916
916
917
def setUp (self ):
917
- self .org = G (Owner , username = "codecovtest" , service = "github" )
918
- self .repo = G (
919
- Repository ,
918
+ tier = TierFactory (tier_name = TierName .BASIC .value )
919
+ plan = PlanFactory (tier = tier , is_active = True )
920
+ self .org = OwnerFactory (
921
+ plan = plan .name , username = "codecovtest" , service = "github"
922
+ )
923
+ self .repo = RepositoryFactory (
920
924
author = self .org ,
921
925
name = "upload-test-repo" ,
922
926
upload_token = "a03e5d02-9495-4413-b0d8-05651bb2e842" ,
0 commit comments