diff --git a/models/fixtures/repository.yml b/models/fixtures/repository.yml index ef88a22b0f..8ed5f6514f 100644 --- a/models/fixtures/repository.yml +++ b/models/fixtures/repository.yml @@ -1,10 +1,10 @@ -- id: 1 +# don't forget to add fixtures in repo_unit.yml +- + id: 1 owner_id: 2 owner_name: user2 lower_name: repo1 name: repo1 - description: "" - website: "" default_branch: master num_watches: 4 num_stars: 0 @@ -22,22 +22,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 2 + +- + id: 2 owner_id: 2 owner_name: user2 lower_name: repo2 name: repo2 - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 1 @@ -55,22 +54,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: true group_id: 0 - group_sort_order: 0 -- id: 3 + +- + id: 3 owner_id: 3 owner_name: org3 lower_name: repo3 name: repo3 - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -88,22 +86,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false - group_id: 129 - group_sort_order: 1 -- id: 4 + group_id: 0 + +- + id: 4 owner_id: 5 owner_name: user5 lower_name: repo4 name: repo4 - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 1 @@ -123,23 +120,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 5 + +- + id: 5 owner_id: 3 owner_name: org3 lower_name: repo5 name: repo5 - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -156,23 +151,22 @@ is_archived: false is_mirror: true status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false - group_id: 139 + group_id: 0 group_sort_order: 1 -- id: 6 + +- + id: 6 owner_id: 10 owner_name: user10 lower_name: repo6 name: repo6 - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -189,23 +183,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 7 + +- + id: 7 owner_id: 10 owner_name: user10 lower_name: repo7 name: repo7 - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -222,23 +214,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 8 + +- + id: 8 owner_id: 10 owner_name: user10 lower_name: repo8 name: repo8 - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -255,23 +245,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 9 + +- + id: 9 owner_id: 11 owner_name: user11 lower_name: repo9 name: repo9 - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -288,22 +276,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 10 + +- + id: 10 owner_id: 12 owner_name: user12 lower_name: repo10 name: repo10 - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -321,22 +308,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 11 + +- + id: 11 owner_id: 13 owner_name: user13 lower_name: repo11 name: repo11 - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -354,23 +340,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: true fork_id: 10 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 12 + +- + id: 12 owner_id: 14 owner_name: user14 lower_name: test_repo_12 name: test_repo_12 - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -387,23 +371,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 13 + +- + id: 13 owner_id: 14 owner_name: user14 lower_name: test_repo_13 name: test_repo_13 - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -420,23 +402,22 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 14 + +- + id: 14 owner_id: 14 owner_name: user14 lower_name: test_repo_14 name: test_repo_14 description: test_description_14 - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -453,22 +434,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 15 + +- + id: 15 owner_id: 2 owner_name: user2 lower_name: repo15 name: repo15 - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -486,22 +466,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 16 + +- + id: 16 owner_id: 2 owner_name: user2 lower_name: repo16 name: repo16 - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -519,23 +498,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 17 + +- + id: 17 owner_id: 15 owner_name: user15 lower_name: big_test_public_1 name: big_test_public_1 - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -552,23 +529,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 18 + +- + id: 18 owner_id: 15 owner_name: user15 lower_name: big_test_public_2 name: big_test_public_2 - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -585,23 +560,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 19 + +- + id: 19 owner_id: 15 owner_name: user15 lower_name: big_test_private_1 name: big_test_private_1 - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -618,23 +591,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 20 + +- + id: 20 owner_id: 15 owner_name: user15 lower_name: big_test_private_2 name: big_test_private_2 - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -651,23 +622,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 21 + +- + id: 21 owner_id: 16 owner_name: user16 lower_name: big_test_public_3 name: big_test_public_3 - description: "" - website: "" - default_branch: "" num_watches: 1 num_stars: 1 num_forks: 0 @@ -684,23 +653,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 22 + +- + id: 22 owner_id: 16 owner_name: user16 lower_name: big_test_private_3 name: big_test_private_3 - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -717,23 +684,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 23 + +- + id: 23 owner_id: 17 owner_name: org17 lower_name: big_test_public_4 name: big_test_public_4 - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -750,23 +715,22 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false - group_id: 313 - group_sort_order: 1 -- id: 24 + group_id: 0 + group_sort_order: 0 + +- + id: 24 owner_id: 17 owner_name: org17 lower_name: big_test_private_4 name: big_test_private_4 - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -783,23 +747,22 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false - group_id: 318 + group_id: 0 group_sort_order: 1 -- id: 25 + +- + id: 25 owner_id: 20 owner_name: user20 lower_name: big_test_public_mirror_5 name: big_test_public_mirror_5 - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -816,23 +779,21 @@ is_archived: false is_mirror: true status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 26 + +- + id: 26 owner_id: 20 owner_name: user20 lower_name: big_test_private_mirror_5 name: big_test_private_mirror_5 - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -849,23 +810,21 @@ is_archived: false is_mirror: true status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 27 + +- + id: 27 owner_id: 19 owner_name: org19 lower_name: big_test_public_mirror_6 name: big_test_public_mirror_6 - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 1 @@ -882,23 +841,22 @@ is_archived: false is_mirror: true status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false - group_id: 201 - group_sort_order: 1 -- id: 28 + group_id: 0 + group_sort_order: 0 + +- + id: 28 owner_id: 19 owner_name: org19 lower_name: big_test_private_mirror_6 name: big_test_private_mirror_6 - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 1 @@ -915,23 +873,22 @@ is_archived: false is_mirror: true status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false - group_id: 188 + group_id: 0 group_sort_order: 1 -- id: 29 + +- + id: 29 owner_id: 20 owner_name: user20 lower_name: big_test_public_fork_7 name: big_test_public_fork_7 - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -948,23 +905,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: true fork_id: 27 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 30 + +- + id: 30 owner_id: 20 owner_name: user20 lower_name: big_test_private_fork_7 name: big_test_private_fork_7 - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -981,22 +936,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: true fork_id: 28 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 31 + +- + id: 31 owner_id: 2 owner_name: user2 lower_name: repo20 name: repo20 - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -1014,23 +968,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 32 + +- + id: 32 # org public repo owner_id: 3 owner_name: org3 lower_name: repo21 name: repo21 - description: "" - website: "" - default_branch: "" num_watches: 1 num_stars: 1 num_forks: 0 @@ -1047,22 +999,22 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false - group_id: 129 - group_sort_order: 1 -- id: 33 + group_id: 0 + group_sort_order: 2 + +- + id: 33 owner_id: 2 owner_name: user2 lower_name: utf8 name: utf8 - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -1080,23 +1032,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 34 + +- + id: 34 owner_id: 21 owner_name: user21 lower_name: golang name: golang - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -1113,23 +1063,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 35 + +- + id: 35 owner_id: 21 owner_name: user21 lower_name: graphql name: graphql - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -1146,22 +1094,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 36 + +- + id: 36 owner_id: 2 owner_name: user2 lower_name: commits_search_test name: commits_search_test - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -1179,22 +1126,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 37 + +- + id: 37 owner_id: 2 owner_name: user2 lower_name: git_hooks_test name: git_hooks_test - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -1212,22 +1158,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 38 + +- + id: 38 owner_id: 22 owner_name: limited_org lower_name: public_repo_on_limited_org name: public_repo_on_limited_org - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -1245,22 +1190,22 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false - group_id: 231 - group_sort_order: 1 -- id: 39 + group_id: 0 + group_sort_order: 0 + +- + id: 39 owner_id: 22 owner_name: limited_org lower_name: private_repo_on_limited_org name: private_repo_on_limited_org - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -1278,22 +1223,22 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false - group_id: 221 + group_id: 0 group_sort_order: 1 -- id: 40 + +- + id: 40 owner_id: 23 owner_name: privated_org lower_name: public_repo_on_private_org name: public_repo_on_private_org - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -1311,22 +1256,22 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false - group_id: 340 - group_sort_order: 1 -- id: 41 + group_id: 0 + group_sort_order: 0 + +- + id: 41 owner_id: 23 owner_name: privated_org lower_name: private_repo_on_private_org name: private_repo_on_private_org - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -1344,22 +1289,22 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false - group_id: 352 + group_id: 0 group_sort_order: 1 -- id: 42 + +- + id: 42 owner_id: 2 owner_name: user2 lower_name: glob name: glob - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -1377,23 +1322,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 43 + +- + id: 43 owner_id: 26 owner_name: org26 lower_name: repo26 name: repo26 - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -1410,22 +1353,22 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false - group_id: 55 - group_sort_order: 1 -- id: 44 + group_id: 0 + group_sort_order: 0 + +- + id: 44 owner_id: 27 owner_name: user27 lower_name: template1 name: template1 - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -1443,23 +1386,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: true template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 45 + +- + id: 45 owner_id: 27 owner_name: user27 lower_name: template2 name: template2 - description: "" - website: "" - default_branch: "" num_watches: 0 num_stars: 0 num_forks: 0 @@ -1476,22 +1417,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: true template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 46 + +- + id: 46 owner_id: 26 owner_name: org26 lower_name: repo_external_tracker name: repo_external_tracker - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -1509,22 +1449,22 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false - group_id: 49 + group_id: 0 group_sort_order: 1 -- id: 47 + +- + id: 47 owner_id: 26 owner_name: org26 lower_name: repo_external_tracker_numeric name: repo_external_tracker_numeric - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -1542,22 +1482,22 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false - group_id: 53 - group_sort_order: 1 -- id: 48 + group_id: 0 + group_sort_order: 2 + +- + id: 48 owner_id: 26 owner_name: org26 lower_name: repo_external_tracker_alpha name: repo_external_tracker_alpha - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -1575,22 +1515,22 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false - group_id: 41 - group_sort_order: 1 -- id: 49 + group_id: 0 + group_sort_order: 3 + +- + id: 49 owner_id: 27 owner_name: user27 lower_name: repo49 name: repo49 - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -1608,22 +1548,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 50 + +- + id: 50 owner_id: 30 owner_name: user30 lower_name: repo50 name: repo50 - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -1641,22 +1580,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 51 + +- + id: 51 owner_id: 30 owner_name: user30 lower_name: repo51 name: repo51 - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -1674,22 +1612,21 @@ is_archived: true is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 52 + +- + id: 52 owner_id: 30 owner_name: user30 lower_name: empty name: empty - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -1707,187 +1644,100 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 53 + +- + id: 53 owner_id: 30 owner_name: user30 lower_name: renderer name: renderer - description: "" - website: "" default_branch: master - num_watches: 0 - num_stars: 0 - num_forks: 0 + is_archived: false + is_empty: false + is_private: false num_issues: 0 num_closed_issues: 0 num_pulls: 0 num_closed_pulls: 0 num_milestones: 0 num_closed_milestones: 0 + num_watches: 0 num_projects: 0 num_closed_projects: 0 - is_private: false - is_empty: false - is_archived: false - is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 54 + +- + id: 54 owner_id: 2 owner_name: user2 lower_name: lfs name: lfs - description: "" - website: "" default_branch: master - num_watches: 0 - num_stars: 0 - num_forks: 0 - num_issues: 0 - num_closed_issues: 0 - num_pulls: 0 - num_closed_pulls: 0 - num_milestones: 0 - num_closed_milestones: 0 - num_projects: 0 - num_closed_projects: 0 - is_private: true is_empty: false is_archived: false - is_mirror: false + is_private: true status: 0 - is_fsck_enabled: false - is_fork: false - fork_id: 0 - is_template: false - template_id: 0 - size: 0 - close_issues_via_commit_in_any_branch: false - group_id: 0 - group_sort_order: 0 -- id: 55 + +- + id: 55 owner_id: 2 owner_name: user2 lower_name: scoped_label name: scoped_label - description: "" - website: "" - default_branch: "" - num_watches: 0 - num_stars: 0 - num_forks: 0 - num_issues: 1 - num_closed_issues: 0 - num_pulls: 0 - num_closed_pulls: 0 - num_milestones: 0 - num_closed_milestones: 0 - num_projects: 0 - num_closed_projects: 0 - is_private: true is_empty: false is_archived: false - is_mirror: false + is_private: true + num_issues: 1 status: 0 - is_fsck_enabled: false - is_fork: false - fork_id: 0 - is_template: false - template_id: 0 - size: 0 - close_issues_via_commit_in_any_branch: false - group_id: 0 - group_sort_order: 0 -- id: 56 + +- + id: 56 owner_id: 2 owner_name: user2 lower_name: readme-test name: readme-test - description: "" - website: "" default_branch: master - num_watches: 0 - num_stars: 0 - num_forks: 0 - num_issues: 0 - num_closed_issues: 0 - num_pulls: 0 - num_closed_pulls: 0 - num_milestones: 0 - num_closed_milestones: 0 - num_projects: 0 - num_closed_projects: 0 - is_private: true is_empty: false is_archived: false - is_mirror: false + is_private: true status: 0 - is_fsck_enabled: false - is_fork: false - fork_id: 0 - is_template: false - template_id: 0 - size: 0 - close_issues_via_commit_in_any_branch: false - group_id: 0 - group_sort_order: 0 -- id: 57 + num_issues: 0 + +- + id: 57 owner_id: 2 owner_name: user2 lower_name: repo-release name: repo-release - description: "" - website: "" default_branch: main - num_watches: 0 - num_stars: 0 - num_forks: 0 - num_issues: 0 - num_closed_issues: 0 - num_pulls: 0 - num_closed_pulls: 0 - num_milestones: 0 - num_closed_milestones: 0 - num_projects: 0 - num_closed_projects: 0 - is_private: false is_empty: false is_archived: false - is_mirror: false + is_private: false status: 0 - is_fsck_enabled: false - is_fork: false - fork_id: 0 - is_template: false - template_id: 0 - size: 0 - close_issues_via_commit_in_any_branch: false - group_id: 0 - group_sort_order: 0 -- id: 58 + num_issues: 0 + +- + id: 58 # org public repo owner_id: 2 owner_name: user2 lower_name: commitsonpr name: commitsonpr - description: "" - website: "" default_branch: main num_watches: 0 num_stars: 0 @@ -1905,55 +1755,21 @@ is_archived: false is_mirror: false status: 0 + is_fork: false + fork_id: 0 + is_template: false + template_id: 0 + size: 0 is_fsck_enabled: true - is_fork: false - fork_id: 0 - is_template: false - template_id: 0 - size: 0 close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 59 - owner_id: 2 - owner_name: user2 - lower_name: test_commit_revert - name: test_commit_revert - description: "" - website: "" - default_branch: main - num_watches: 0 - num_stars: 0 - num_forks: 0 - num_issues: 0 - num_closed_issues: 0 - num_pulls: 0 - num_closed_pulls: 0 - num_milestones: 0 - num_closed_milestones: 0 - num_projects: 0 - num_closed_projects: 0 - is_private: true - is_empty: false - is_archived: false - is_mirror: false - status: 0 - is_fsck_enabled: false - is_fork: false - fork_id: 0 - is_template: false - template_id: 0 - size: 0 - close_issues_via_commit_in_any_branch: false - group_id: 0 - group_sort_order: 0 -- id: 60 + +- + id: 60 owner_id: 40 owner_name: user40 lower_name: repo60 name: repo60 - description: "" - website: "" default_branch: main num_watches: 0 num_stars: 0 @@ -1971,22 +1787,21 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false group_id: 0 - group_sort_order: 0 -- id: 61 + +- + id: 61 owner_id: 41 owner_name: org41 lower_name: repo61 name: repo61 - description: "" - website: "" default_branch: main num_watches: 0 num_stars: 0 @@ -2004,22 +1819,22 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false - group_id: 90 - group_sort_order: 1 -- id: 62 + group_id: 0 + group_sort_order: 0 + +- + id: 62 owner_id: 42 owner_name: org42 lower_name: search-by-path name: search-by-path - description: "" - website: "" default_branch: master num_watches: 0 num_stars: 0 @@ -2037,12 +1852,12 @@ is_archived: false is_mirror: false status: 0 - is_fsck_enabled: true is_fork: false fork_id: 0 is_template: false template_id: 0 size: 0 + is_fsck_enabled: true close_issues_via_commit_in_any_branch: false - group_id: 106 - group_sort_order: 1 + group_id: 0 + group_sort_order: 0 diff --git a/models/fixtures/user.yml b/models/fixtures/user.yml index b3bece5589..976a236011 100644 --- a/models/fixtures/user.yml +++ b/models/fixtures/user.yml @@ -67,7 +67,7 @@ num_followers: 2 num_following: 1 num_stars: 2 - num_repos: 15 + num_repos: 14 num_teams: 0 num_members: 0 visibility: 0 diff --git a/tests/gitea-repositories-meta/limited_org/221/private_repo_on_limited_org.git/HEAD b/tests/gitea-repositories-meta/limited_org/private_repo_on_limited_org.git/HEAD similarity index 100% rename from tests/gitea-repositories-meta/limited_org/221/private_repo_on_limited_org.git/HEAD rename to tests/gitea-repositories-meta/limited_org/private_repo_on_limited_org.git/HEAD diff --git a/tests/gitea-repositories-meta/limited_org/221/private_repo_on_limited_org.git/config b/tests/gitea-repositories-meta/limited_org/private_repo_on_limited_org.git/config similarity index 100% rename from tests/gitea-repositories-meta/limited_org/221/private_repo_on_limited_org.git/config rename to tests/gitea-repositories-meta/limited_org/private_repo_on_limited_org.git/config diff --git a/tests/gitea-repositories-meta/limited_org/221/private_repo_on_limited_org.git/objects/74/8bf557dfc9c6457998b5118a6c8b2129f56c30 b/tests/gitea-repositories-meta/limited_org/private_repo_on_limited_org.git/objects/74/8bf557dfc9c6457998b5118a6c8b2129f56c30 similarity index 100% rename from tests/gitea-repositories-meta/limited_org/221/private_repo_on_limited_org.git/objects/74/8bf557dfc9c6457998b5118a6c8b2129f56c30 rename to tests/gitea-repositories-meta/limited_org/private_repo_on_limited_org.git/objects/74/8bf557dfc9c6457998b5118a6c8b2129f56c30 diff --git a/tests/gitea-repositories-meta/limited_org/221/private_repo_on_limited_org.git/objects/a5/46f86c7dd182592b96639045e176dde8df76ef b/tests/gitea-repositories-meta/limited_org/private_repo_on_limited_org.git/objects/a5/46f86c7dd182592b96639045e176dde8df76ef similarity index 100% rename from tests/gitea-repositories-meta/limited_org/221/private_repo_on_limited_org.git/objects/a5/46f86c7dd182592b96639045e176dde8df76ef rename to tests/gitea-repositories-meta/limited_org/private_repo_on_limited_org.git/objects/a5/46f86c7dd182592b96639045e176dde8df76ef diff --git a/tests/gitea-repositories-meta/limited_org/221/private_repo_on_limited_org.git/objects/b8/95782bd271fdd266dd06e5880ea4abdc3a0dc7 b/tests/gitea-repositories-meta/limited_org/private_repo_on_limited_org.git/objects/b8/95782bd271fdd266dd06e5880ea4abdc3a0dc7 similarity index 100% rename from tests/gitea-repositories-meta/limited_org/221/private_repo_on_limited_org.git/objects/b8/95782bd271fdd266dd06e5880ea4abdc3a0dc7 rename to tests/gitea-repositories-meta/limited_org/private_repo_on_limited_org.git/objects/b8/95782bd271fdd266dd06e5880ea4abdc3a0dc7 diff --git a/tests/gitea-repositories-meta/limited_org/221/private_repo_on_limited_org.git/refs/heads/master b/tests/gitea-repositories-meta/limited_org/private_repo_on_limited_org.git/refs/heads/master similarity index 100% rename from tests/gitea-repositories-meta/limited_org/221/private_repo_on_limited_org.git/refs/heads/master rename to tests/gitea-repositories-meta/limited_org/private_repo_on_limited_org.git/refs/heads/master diff --git a/tests/gitea-repositories-meta/limited_org/231/public_repo_on_limited_org.git/HEAD b/tests/gitea-repositories-meta/limited_org/public_repo_on_limited_org.git/HEAD similarity index 100% rename from tests/gitea-repositories-meta/limited_org/231/public_repo_on_limited_org.git/HEAD rename to tests/gitea-repositories-meta/limited_org/public_repo_on_limited_org.git/HEAD diff --git a/tests/gitea-repositories-meta/limited_org/231/public_repo_on_limited_org.git/config b/tests/gitea-repositories-meta/limited_org/public_repo_on_limited_org.git/config similarity index 100% rename from tests/gitea-repositories-meta/limited_org/231/public_repo_on_limited_org.git/config rename to tests/gitea-repositories-meta/limited_org/public_repo_on_limited_org.git/config diff --git a/tests/gitea-repositories-meta/limited_org/231/public_repo_on_limited_org.git/objects/21/2f14c8b713de38bd0b3fb23bd288369b01668a b/tests/gitea-repositories-meta/limited_org/public_repo_on_limited_org.git/objects/21/2f14c8b713de38bd0b3fb23bd288369b01668a similarity index 100% rename from tests/gitea-repositories-meta/limited_org/231/public_repo_on_limited_org.git/objects/21/2f14c8b713de38bd0b3fb23bd288369b01668a rename to tests/gitea-repositories-meta/limited_org/public_repo_on_limited_org.git/objects/21/2f14c8b713de38bd0b3fb23bd288369b01668a diff --git a/tests/gitea-repositories-meta/limited_org/231/public_repo_on_limited_org.git/objects/90/e402c3937a4639725fcc59ca1f529e7dc8506f b/tests/gitea-repositories-meta/limited_org/public_repo_on_limited_org.git/objects/90/e402c3937a4639725fcc59ca1f529e7dc8506f similarity index 100% rename from tests/gitea-repositories-meta/limited_org/231/public_repo_on_limited_org.git/objects/90/e402c3937a4639725fcc59ca1f529e7dc8506f rename to tests/gitea-repositories-meta/limited_org/public_repo_on_limited_org.git/objects/90/e402c3937a4639725fcc59ca1f529e7dc8506f diff --git a/tests/gitea-repositories-meta/limited_org/231/public_repo_on_limited_org.git/objects/ed/d9c1000cd1444efd63e153e3554c8d5656bf65 b/tests/gitea-repositories-meta/limited_org/public_repo_on_limited_org.git/objects/ed/d9c1000cd1444efd63e153e3554c8d5656bf65 similarity index 100% rename from tests/gitea-repositories-meta/limited_org/231/public_repo_on_limited_org.git/objects/ed/d9c1000cd1444efd63e153e3554c8d5656bf65 rename to tests/gitea-repositories-meta/limited_org/public_repo_on_limited_org.git/objects/ed/d9c1000cd1444efd63e153e3554c8d5656bf65 diff --git a/tests/gitea-repositories-meta/limited_org/231/public_repo_on_limited_org.git/refs/heads/master b/tests/gitea-repositories-meta/limited_org/public_repo_on_limited_org.git/refs/heads/master similarity index 100% rename from tests/gitea-repositories-meta/limited_org/231/public_repo_on_limited_org.git/refs/heads/master rename to tests/gitea-repositories-meta/limited_org/public_repo_on_limited_org.git/refs/heads/master diff --git a/tests/gitea-repositories-meta/migration/lfs-test.git/hooks/post-checkout b/tests/gitea-repositories-meta/migration/lfs-test.git/hooks/post-checkout old mode 100755 new mode 100644 diff --git a/tests/gitea-repositories-meta/migration/lfs-test.git/hooks/post-commit b/tests/gitea-repositories-meta/migration/lfs-test.git/hooks/post-commit old mode 100755 new mode 100644 diff --git a/tests/gitea-repositories-meta/migration/lfs-test.git/hooks/post-merge b/tests/gitea-repositories-meta/migration/lfs-test.git/hooks/post-merge old mode 100755 new mode 100644 diff --git a/tests/gitea-repositories-meta/migration/lfs-test.git/hooks/pre-push b/tests/gitea-repositories-meta/migration/lfs-test.git/hooks/pre-push old mode 100755 new mode 100644 diff --git a/tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/COMMITMESSAGE b/tests/gitea-repositories-meta/org26/repo_external_tracker.git/COMMITMESSAGE similarity index 100% rename from tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/COMMITMESSAGE rename to tests/gitea-repositories-meta/org26/repo_external_tracker.git/COMMITMESSAGE diff --git a/tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/COMMIT_EDITMSG b/tests/gitea-repositories-meta/org26/repo_external_tracker.git/COMMIT_EDITMSG similarity index 100% rename from tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/COMMIT_EDITMSG rename to tests/gitea-repositories-meta/org26/repo_external_tracker.git/COMMIT_EDITMSG diff --git a/tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/HEAD b/tests/gitea-repositories-meta/org26/repo_external_tracker.git/HEAD similarity index 100% rename from tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/HEAD rename to tests/gitea-repositories-meta/org26/repo_external_tracker.git/HEAD diff --git a/tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/config b/tests/gitea-repositories-meta/org26/repo_external_tracker.git/config similarity index 94% rename from tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/config rename to tests/gitea-repositories-meta/org26/repo_external_tracker.git/config index 2768a2037e..48ee2884b4 100644 --- a/tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/config +++ b/tests/gitea-repositories-meta/org26/repo_external_tracker.git/config @@ -1,10 +1,10 @@ -[core] - repositoryformatversion = 0 - filemode = false - bare = false - logallrefupdates = true - symlinks = false - ignorecase = true -[user] - name = user2 - email = user2@example.com +[core] + repositoryformatversion = 0 + filemode = false + bare = false + logallrefupdates = true + symlinks = false + ignorecase = true +[user] + name = user2 + email = user2@example.com diff --git a/tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/config.backup b/tests/gitea-repositories-meta/org26/repo_external_tracker.git/config.backup similarity index 100% rename from tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/config.backup rename to tests/gitea-repositories-meta/org26/repo_external_tracker.git/config.backup diff --git a/tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/index b/tests/gitea-repositories-meta/org26/repo_external_tracker.git/index similarity index 100% rename from tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/index rename to tests/gitea-repositories-meta/org26/repo_external_tracker.git/index diff --git a/tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/logs/HEAD b/tests/gitea-repositories-meta/org26/repo_external_tracker.git/logs/HEAD similarity index 100% rename from tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/logs/HEAD rename to tests/gitea-repositories-meta/org26/repo_external_tracker.git/logs/HEAD diff --git a/tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/logs/refs/heads/branch1 b/tests/gitea-repositories-meta/org26/repo_external_tracker.git/logs/refs/heads/branch1 similarity index 100% rename from tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/logs/refs/heads/branch1 rename to tests/gitea-repositories-meta/org26/repo_external_tracker.git/logs/refs/heads/branch1 diff --git a/tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/logs/refs/heads/master b/tests/gitea-repositories-meta/org26/repo_external_tracker.git/logs/refs/heads/master similarity index 100% rename from tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/logs/refs/heads/master rename to tests/gitea-repositories-meta/org26/repo_external_tracker.git/logs/refs/heads/master diff --git a/tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/objects/ba/ea7d6e6b7773a80bcede323cfb21dfe9d4b855 b/tests/gitea-repositories-meta/org26/repo_external_tracker.git/objects/ba/ea7d6e6b7773a80bcede323cfb21dfe9d4b855 similarity index 100% rename from tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/objects/ba/ea7d6e6b7773a80bcede323cfb21dfe9d4b855 rename to tests/gitea-repositories-meta/org26/repo_external_tracker.git/objects/ba/ea7d6e6b7773a80bcede323cfb21dfe9d4b855 diff --git a/tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/objects/c2/a1ad4c931cebe27c7e39176fe7119b5557c9eb b/tests/gitea-repositories-meta/org26/repo_external_tracker.git/objects/c2/a1ad4c931cebe27c7e39176fe7119b5557c9eb similarity index 100% rename from tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/objects/c2/a1ad4c931cebe27c7e39176fe7119b5557c9eb rename to tests/gitea-repositories-meta/org26/repo_external_tracker.git/objects/c2/a1ad4c931cebe27c7e39176fe7119b5557c9eb diff --git a/tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/objects/cd/aca8cf1d36e1e4e508a940f6e157e239beccfa b/tests/gitea-repositories-meta/org26/repo_external_tracker.git/objects/cd/aca8cf1d36e1e4e508a940f6e157e239beccfa similarity index 100% rename from tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/objects/cd/aca8cf1d36e1e4e508a940f6e157e239beccfa rename to tests/gitea-repositories-meta/org26/repo_external_tracker.git/objects/cd/aca8cf1d36e1e4e508a940f6e157e239beccfa diff --git a/tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/refs/heads/branch1 b/tests/gitea-repositories-meta/org26/repo_external_tracker.git/refs/heads/branch1 similarity index 100% rename from tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/refs/heads/branch1 rename to tests/gitea-repositories-meta/org26/repo_external_tracker.git/refs/heads/branch1 diff --git a/tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/refs/heads/master b/tests/gitea-repositories-meta/org26/repo_external_tracker.git/refs/heads/master similarity index 100% rename from tests/gitea-repositories-meta/org26/41/repo_external_tracker_alpha.git/refs/heads/master rename to tests/gitea-repositories-meta/org26/repo_external_tracker.git/refs/heads/master diff --git a/tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/COMMITMESSAGE b/tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/COMMITMESSAGE similarity index 100% rename from tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/COMMITMESSAGE rename to tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/COMMITMESSAGE diff --git a/tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/COMMIT_EDITMSG b/tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/COMMIT_EDITMSG similarity index 100% rename from tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/COMMIT_EDITMSG rename to tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/COMMIT_EDITMSG diff --git a/tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/HEAD b/tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/HEAD similarity index 100% rename from tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/HEAD rename to tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/HEAD diff --git a/tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/config b/tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/config similarity index 94% rename from tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/config rename to tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/config index 2768a2037e..48ee2884b4 100644 --- a/tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/config +++ b/tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/config @@ -1,10 +1,10 @@ -[core] - repositoryformatversion = 0 - filemode = false - bare = false - logallrefupdates = true - symlinks = false - ignorecase = true -[user] - name = user2 - email = user2@example.com +[core] + repositoryformatversion = 0 + filemode = false + bare = false + logallrefupdates = true + symlinks = false + ignorecase = true +[user] + name = user2 + email = user2@example.com diff --git a/tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/config.backup b/tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/config.backup similarity index 100% rename from tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/config.backup rename to tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/config.backup diff --git a/tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/index b/tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/index similarity index 100% rename from tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/index rename to tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/index diff --git a/tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/logs/HEAD b/tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/logs/HEAD similarity index 100% rename from tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/logs/HEAD rename to tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/logs/HEAD diff --git a/tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/logs/refs/heads/branch1 b/tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/logs/refs/heads/branch1 similarity index 100% rename from tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/logs/refs/heads/branch1 rename to tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/logs/refs/heads/branch1 diff --git a/tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/logs/refs/heads/master b/tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/logs/refs/heads/master similarity index 100% rename from tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/logs/refs/heads/master rename to tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/logs/refs/heads/master diff --git a/tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/objects/ba/ea7d6e6b7773a80bcede323cfb21dfe9d4b855 b/tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/objects/ba/ea7d6e6b7773a80bcede323cfb21dfe9d4b855 similarity index 100% rename from tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/objects/ba/ea7d6e6b7773a80bcede323cfb21dfe9d4b855 rename to tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/objects/ba/ea7d6e6b7773a80bcede323cfb21dfe9d4b855 diff --git a/tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/objects/c2/a1ad4c931cebe27c7e39176fe7119b5557c9eb b/tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/objects/c2/a1ad4c931cebe27c7e39176fe7119b5557c9eb similarity index 100% rename from tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/objects/c2/a1ad4c931cebe27c7e39176fe7119b5557c9eb rename to tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/objects/c2/a1ad4c931cebe27c7e39176fe7119b5557c9eb diff --git a/tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/objects/cd/aca8cf1d36e1e4e508a940f6e157e239beccfa b/tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/objects/cd/aca8cf1d36e1e4e508a940f6e157e239beccfa similarity index 100% rename from tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/objects/cd/aca8cf1d36e1e4e508a940f6e157e239beccfa rename to tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/objects/cd/aca8cf1d36e1e4e508a940f6e157e239beccfa diff --git a/tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/refs/heads/branch1 b/tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/refs/heads/branch1 similarity index 100% rename from tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/refs/heads/branch1 rename to tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/refs/heads/branch1 diff --git a/tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/refs/heads/master b/tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/refs/heads/master similarity index 100% rename from tests/gitea-repositories-meta/org26/49/repo_external_tracker.git/refs/heads/master rename to tests/gitea-repositories-meta/org26/repo_external_tracker_alpha.git/refs/heads/master diff --git a/tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/COMMITMESSAGE b/tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/COMMITMESSAGE similarity index 100% rename from tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/COMMITMESSAGE rename to tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/COMMITMESSAGE diff --git a/tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/COMMIT_EDITMSG b/tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/COMMIT_EDITMSG similarity index 100% rename from tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/COMMIT_EDITMSG rename to tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/COMMIT_EDITMSG diff --git a/tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/HEAD b/tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/HEAD similarity index 100% rename from tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/HEAD rename to tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/HEAD diff --git a/tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/config b/tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/config similarity index 94% rename from tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/config rename to tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/config index 2768a2037e..48ee2884b4 100644 --- a/tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/config +++ b/tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/config @@ -1,10 +1,10 @@ -[core] - repositoryformatversion = 0 - filemode = false - bare = false - logallrefupdates = true - symlinks = false - ignorecase = true -[user] - name = user2 - email = user2@example.com +[core] + repositoryformatversion = 0 + filemode = false + bare = false + logallrefupdates = true + symlinks = false + ignorecase = true +[user] + name = user2 + email = user2@example.com diff --git a/tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/config.backup b/tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/config.backup similarity index 100% rename from tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/config.backup rename to tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/config.backup diff --git a/tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/index b/tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/index similarity index 100% rename from tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/index rename to tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/index diff --git a/tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/logs/HEAD b/tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/logs/HEAD similarity index 100% rename from tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/logs/HEAD rename to tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/logs/HEAD diff --git a/tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/logs/refs/heads/branch1 b/tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/logs/refs/heads/branch1 similarity index 100% rename from tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/logs/refs/heads/branch1 rename to tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/logs/refs/heads/branch1 diff --git a/tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/logs/refs/heads/master b/tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/logs/refs/heads/master similarity index 100% rename from tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/logs/refs/heads/master rename to tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/logs/refs/heads/master diff --git a/tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/objects/ba/ea7d6e6b7773a80bcede323cfb21dfe9d4b855 b/tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/objects/ba/ea7d6e6b7773a80bcede323cfb21dfe9d4b855 similarity index 100% rename from tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/objects/ba/ea7d6e6b7773a80bcede323cfb21dfe9d4b855 rename to tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/objects/ba/ea7d6e6b7773a80bcede323cfb21dfe9d4b855 diff --git a/tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/objects/c2/a1ad4c931cebe27c7e39176fe7119b5557c9eb b/tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/objects/c2/a1ad4c931cebe27c7e39176fe7119b5557c9eb similarity index 100% rename from tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/objects/c2/a1ad4c931cebe27c7e39176fe7119b5557c9eb rename to tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/objects/c2/a1ad4c931cebe27c7e39176fe7119b5557c9eb diff --git a/tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/objects/cd/aca8cf1d36e1e4e508a940f6e157e239beccfa b/tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/objects/cd/aca8cf1d36e1e4e508a940f6e157e239beccfa similarity index 100% rename from tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/objects/cd/aca8cf1d36e1e4e508a940f6e157e239beccfa rename to tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/objects/cd/aca8cf1d36e1e4e508a940f6e157e239beccfa diff --git a/tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/refs/heads/branch1 b/tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/refs/heads/branch1 similarity index 100% rename from tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/refs/heads/branch1 rename to tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/refs/heads/branch1 diff --git a/tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/refs/heads/master b/tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/refs/heads/master similarity index 100% rename from tests/gitea-repositories-meta/org26/53/repo_external_tracker_numeric.git/refs/heads/master rename to tests/gitea-repositories-meta/org26/repo_external_tracker_numeric.git/refs/heads/master diff --git a/tests/gitea-repositories-meta/org3/129/repo21.git/COMMIT_EDITMSG b/tests/gitea-repositories-meta/org3/129/repo21.git/COMMIT_EDITMSG deleted file mode 100644 index b1b7161055..0000000000 --- a/tests/gitea-repositories-meta/org3/129/repo21.git/COMMIT_EDITMSG +++ /dev/null @@ -1 +0,0 @@ -init diff --git a/tests/gitea-repositories-meta/org3/129/repo21.git/MERGE_RR b/tests/gitea-repositories-meta/org3/129/repo21.git/MERGE_RR deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/tests/gitea-repositories-meta/org3/129/repo21.git/config b/tests/gitea-repositories-meta/org3/129/repo21.git/config deleted file mode 100644 index 8ad0b1bad6..0000000000 --- a/tests/gitea-repositories-meta/org3/129/repo21.git/config +++ /dev/null @@ -1,6 +0,0 @@ -[core] - repositoryformatversion = 0 - filemode = false - bare = false - logallrefupdates = true - ignorecase = true diff --git a/tests/gitea-repositories-meta/org3/129/repo21.git/description b/tests/gitea-repositories-meta/org3/129/repo21.git/description deleted file mode 100644 index 498b267a8c..0000000000 --- a/tests/gitea-repositories-meta/org3/129/repo21.git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests/gitea-repositories-meta/org3/129/repo21.git/index b/tests/gitea-repositories-meta/org3/129/repo21.git/index deleted file mode 100644 index eac58b57f6..0000000000 Binary files a/tests/gitea-repositories-meta/org3/129/repo21.git/index and /dev/null differ diff --git a/tests/gitea-repositories-meta/org3/129/repo21.git/info/exclude b/tests/gitea-repositories-meta/org3/129/repo21.git/info/exclude deleted file mode 100644 index a5196d1be8..0000000000 --- a/tests/gitea-repositories-meta/org3/129/repo21.git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/tests/gitea-repositories-meta/org3/129/repo21.git/logs/HEAD b/tests/gitea-repositories-meta/org3/129/repo21.git/logs/HEAD deleted file mode 100644 index 0367c0feaa..0000000000 --- a/tests/gitea-repositories-meta/org3/129/repo21.git/logs/HEAD +++ /dev/null @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 3d6e03e974fc3b3cfc74a4af56130015bea97a08 ☙◦ The Tablet ❀ GamerGirlandCo ◦❧ 1763936413 -0500 commit (initial): init diff --git a/tests/gitea-repositories-meta/org3/129/repo21.git/logs/refs/heads/master b/tests/gitea-repositories-meta/org3/129/repo21.git/logs/refs/heads/master deleted file mode 100644 index 0367c0feaa..0000000000 --- a/tests/gitea-repositories-meta/org3/129/repo21.git/logs/refs/heads/master +++ /dev/null @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 3d6e03e974fc3b3cfc74a4af56130015bea97a08 ☙◦ The Tablet ❀ GamerGirlandCo ◦❧ 1763936413 -0500 commit (initial): init diff --git a/tests/gitea-repositories-meta/org3/129/repo21.git/objects/3d/6e03e974fc3b3cfc74a4af56130015bea97a08 b/tests/gitea-repositories-meta/org3/129/repo21.git/objects/3d/6e03e974fc3b3cfc74a4af56130015bea97a08 deleted file mode 100644 index 3d62224f64..0000000000 Binary files a/tests/gitea-repositories-meta/org3/129/repo21.git/objects/3d/6e03e974fc3b3cfc74a4af56130015bea97a08 and /dev/null differ diff --git a/tests/gitea-repositories-meta/org3/129/repo21.git/objects/7c/ff6d68255dfdc0aad670fc52e80f6d1dee5c6b b/tests/gitea-repositories-meta/org3/129/repo21.git/objects/7c/ff6d68255dfdc0aad670fc52e80f6d1dee5c6b deleted file mode 100644 index 1aa6eedb55..0000000000 Binary files a/tests/gitea-repositories-meta/org3/129/repo21.git/objects/7c/ff6d68255dfdc0aad670fc52e80f6d1dee5c6b and /dev/null differ diff --git a/tests/gitea-repositories-meta/org3/129/repo21.git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 b/tests/gitea-repositories-meta/org3/129/repo21.git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 deleted file mode 100644 index 7112238943..0000000000 Binary files a/tests/gitea-repositories-meta/org3/129/repo21.git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 and /dev/null differ diff --git a/tests/gitea-repositories-meta/org3/129/repo21.git/objects/ef/0493b275aa2080237f676d2ef6559246f56636 b/tests/gitea-repositories-meta/org3/129/repo21.git/objects/ef/0493b275aa2080237f676d2ef6559246f56636 deleted file mode 100644 index 86f9cd2948..0000000000 Binary files a/tests/gitea-repositories-meta/org3/129/repo21.git/objects/ef/0493b275aa2080237f676d2ef6559246f56636 and /dev/null differ diff --git a/tests/gitea-repositories-meta/org3/129/repo21.git/refs/heads/master b/tests/gitea-repositories-meta/org3/129/repo21.git/refs/heads/master deleted file mode 100644 index 0836a8e712..0000000000 --- a/tests/gitea-repositories-meta/org3/129/repo21.git/refs/heads/master +++ /dev/null @@ -1 +0,0 @@ -3d6e03e974fc3b3cfc74a4af56130015bea97a08 diff --git a/tests/gitea-repositories-meta/org3/129/repo21.git/HEAD b/tests/gitea-repositories-meta/org3/repo3.git/HEAD similarity index 100% rename from tests/gitea-repositories-meta/org3/129/repo21.git/HEAD rename to tests/gitea-repositories-meta/org3/repo3.git/HEAD diff --git a/tests/gitea-repositories-meta/org3/129/repo3.git/config b/tests/gitea-repositories-meta/org3/repo3.git/config similarity index 100% rename from tests/gitea-repositories-meta/org3/129/repo3.git/config rename to tests/gitea-repositories-meta/org3/repo3.git/config diff --git a/tests/gitea-repositories-meta/org3/129/repo3.git/hooks/post-receive b/tests/gitea-repositories-meta/org3/repo3.git/hooks/post-receive similarity index 100% rename from tests/gitea-repositories-meta/org3/129/repo3.git/hooks/post-receive rename to tests/gitea-repositories-meta/org3/repo3.git/hooks/post-receive diff --git a/tests/gitea-repositories-meta/org3/129/repo3.git/hooks/post-receive.d/gitea b/tests/gitea-repositories-meta/org3/repo3.git/hooks/post-receive.d/gitea similarity index 100% rename from tests/gitea-repositories-meta/org3/129/repo3.git/hooks/post-receive.d/gitea rename to tests/gitea-repositories-meta/org3/repo3.git/hooks/post-receive.d/gitea diff --git a/tests/gitea-repositories-meta/org3/129/repo3.git/hooks/pre-receive b/tests/gitea-repositories-meta/org3/repo3.git/hooks/pre-receive similarity index 100% rename from tests/gitea-repositories-meta/org3/129/repo3.git/hooks/pre-receive rename to tests/gitea-repositories-meta/org3/repo3.git/hooks/pre-receive diff --git a/tests/gitea-repositories-meta/org3/129/repo3.git/hooks/pre-receive.d/gitea b/tests/gitea-repositories-meta/org3/repo3.git/hooks/pre-receive.d/gitea similarity index 100% rename from tests/gitea-repositories-meta/org3/129/repo3.git/hooks/pre-receive.d/gitea rename to tests/gitea-repositories-meta/org3/repo3.git/hooks/pre-receive.d/gitea diff --git a/tests/gitea-repositories-meta/org3/129/repo3.git/hooks/update b/tests/gitea-repositories-meta/org3/repo3.git/hooks/update similarity index 100% rename from tests/gitea-repositories-meta/org3/129/repo3.git/hooks/update rename to tests/gitea-repositories-meta/org3/repo3.git/hooks/update diff --git a/tests/gitea-repositories-meta/org3/129/repo3.git/hooks/update.d/gitea b/tests/gitea-repositories-meta/org3/repo3.git/hooks/update.d/gitea similarity index 100% rename from tests/gitea-repositories-meta/org3/129/repo3.git/hooks/update.d/gitea rename to tests/gitea-repositories-meta/org3/repo3.git/hooks/update.d/gitea diff --git a/tests/gitea-repositories-meta/org3/129/repo3.git/objects/20/ade30d25e0ecaeec84e7f542a8456900858240 b/tests/gitea-repositories-meta/org3/repo3.git/objects/20/ade30d25e0ecaeec84e7f542a8456900858240 similarity index 100% rename from tests/gitea-repositories-meta/org3/129/repo3.git/objects/20/ade30d25e0ecaeec84e7f542a8456900858240 rename to tests/gitea-repositories-meta/org3/repo3.git/objects/20/ade30d25e0ecaeec84e7f542a8456900858240 diff --git a/tests/gitea-repositories-meta/org3/129/repo3.git/objects/27/74debeea6dc742cc4971a92db0e08b95b60588 b/tests/gitea-repositories-meta/org3/repo3.git/objects/27/74debeea6dc742cc4971a92db0e08b95b60588 similarity index 100% rename from tests/gitea-repositories-meta/org3/129/repo3.git/objects/27/74debeea6dc742cc4971a92db0e08b95b60588 rename to tests/gitea-repositories-meta/org3/repo3.git/objects/27/74debeea6dc742cc4971a92db0e08b95b60588 diff --git a/tests/gitea-repositories-meta/org3/129/repo3.git/objects/2a/47ca4b614a9f5a43abbd5ad851a54a616ffee6 b/tests/gitea-repositories-meta/org3/repo3.git/objects/2a/47ca4b614a9f5a43abbd5ad851a54a616ffee6 similarity index 100% rename from tests/gitea-repositories-meta/org3/129/repo3.git/objects/2a/47ca4b614a9f5a43abbd5ad851a54a616ffee6 rename to tests/gitea-repositories-meta/org3/repo3.git/objects/2a/47ca4b614a9f5a43abbd5ad851a54a616ffee6 diff --git a/tests/gitea-repositories-meta/org3/129/repo3.git/objects/2f/9b22fd3159a43b7b4e5dd806fcd544edf8716f b/tests/gitea-repositories-meta/org3/repo3.git/objects/2f/9b22fd3159a43b7b4e5dd806fcd544edf8716f similarity index 100% rename from tests/gitea-repositories-meta/org3/129/repo3.git/objects/2f/9b22fd3159a43b7b4e5dd806fcd544edf8716f rename to tests/gitea-repositories-meta/org3/repo3.git/objects/2f/9b22fd3159a43b7b4e5dd806fcd544edf8716f diff --git a/tests/gitea-repositories-meta/org3/129/repo3.git/objects/d2/2b4d4daa5be07329fcef6ed458f00cf3392da0 b/tests/gitea-repositories-meta/org3/repo3.git/objects/d2/2b4d4daa5be07329fcef6ed458f00cf3392da0 similarity index 100% rename from tests/gitea-repositories-meta/org3/129/repo3.git/objects/d2/2b4d4daa5be07329fcef6ed458f00cf3392da0 rename to tests/gitea-repositories-meta/org3/repo3.git/objects/d2/2b4d4daa5be07329fcef6ed458f00cf3392da0 diff --git a/tests/gitea-repositories-meta/org3/129/repo3.git/objects/d5/6a3073c1dbb7b15963110a049d50cdb5db99fc b/tests/gitea-repositories-meta/org3/repo3.git/objects/d5/6a3073c1dbb7b15963110a049d50cdb5db99fc similarity index 100% rename from tests/gitea-repositories-meta/org3/129/repo3.git/objects/d5/6a3073c1dbb7b15963110a049d50cdb5db99fc rename to tests/gitea-repositories-meta/org3/repo3.git/objects/d5/6a3073c1dbb7b15963110a049d50cdb5db99fc diff --git a/tests/gitea-repositories-meta/org3/129/repo3.git/objects/ec/f0db3c1ec806522de4b491fb9a3c7457398c61 b/tests/gitea-repositories-meta/org3/repo3.git/objects/ec/f0db3c1ec806522de4b491fb9a3c7457398c61 similarity index 100% rename from tests/gitea-repositories-meta/org3/129/repo3.git/objects/ec/f0db3c1ec806522de4b491fb9a3c7457398c61 rename to tests/gitea-repositories-meta/org3/repo3.git/objects/ec/f0db3c1ec806522de4b491fb9a3c7457398c61 diff --git a/tests/gitea-repositories-meta/org3/129/repo3.git/objects/ee/16d127df463aa491e08958120f2108b02468df b/tests/gitea-repositories-meta/org3/repo3.git/objects/ee/16d127df463aa491e08958120f2108b02468df similarity index 100% rename from tests/gitea-repositories-meta/org3/129/repo3.git/objects/ee/16d127df463aa491e08958120f2108b02468df rename to tests/gitea-repositories-meta/org3/repo3.git/objects/ee/16d127df463aa491e08958120f2108b02468df diff --git a/tests/gitea-repositories-meta/org3/129/repo3.git/refs/heads/master b/tests/gitea-repositories-meta/org3/repo3.git/refs/heads/master similarity index 100% rename from tests/gitea-repositories-meta/org3/129/repo3.git/refs/heads/master rename to tests/gitea-repositories-meta/org3/repo3.git/refs/heads/master diff --git a/tests/gitea-repositories-meta/org3/129/repo3.git/refs/heads/test_branch b/tests/gitea-repositories-meta/org3/repo3.git/refs/heads/test_branch similarity index 100% rename from tests/gitea-repositories-meta/org3/129/repo3.git/refs/heads/test_branch rename to tests/gitea-repositories-meta/org3/repo3.git/refs/heads/test_branch diff --git a/tests/gitea-repositories-meta/org3/129/repo3.git/HEAD b/tests/gitea-repositories-meta/org3/repo5.git/HEAD similarity index 100% rename from tests/gitea-repositories-meta/org3/129/repo3.git/HEAD rename to tests/gitea-repositories-meta/org3/repo5.git/HEAD diff --git a/tests/gitea-repositories-meta/org3/139/repo5.git/config b/tests/gitea-repositories-meta/org3/repo5.git/config similarity index 100% rename from tests/gitea-repositories-meta/org3/139/repo5.git/config rename to tests/gitea-repositories-meta/org3/repo5.git/config diff --git a/tests/gitea-repositories-meta/org3/139/repo5.git/hooks/post-receive b/tests/gitea-repositories-meta/org3/repo5.git/hooks/post-receive similarity index 100% rename from tests/gitea-repositories-meta/org3/139/repo5.git/hooks/post-receive rename to tests/gitea-repositories-meta/org3/repo5.git/hooks/post-receive diff --git a/tests/gitea-repositories-meta/org3/139/repo5.git/hooks/post-receive.d/gitea b/tests/gitea-repositories-meta/org3/repo5.git/hooks/post-receive.d/gitea similarity index 100% rename from tests/gitea-repositories-meta/org3/139/repo5.git/hooks/post-receive.d/gitea rename to tests/gitea-repositories-meta/org3/repo5.git/hooks/post-receive.d/gitea diff --git a/tests/gitea-repositories-meta/org3/139/repo5.git/hooks/pre-receive b/tests/gitea-repositories-meta/org3/repo5.git/hooks/pre-receive similarity index 100% rename from tests/gitea-repositories-meta/org3/139/repo5.git/hooks/pre-receive rename to tests/gitea-repositories-meta/org3/repo5.git/hooks/pre-receive diff --git a/tests/gitea-repositories-meta/org3/139/repo5.git/hooks/pre-receive.d/gitea b/tests/gitea-repositories-meta/org3/repo5.git/hooks/pre-receive.d/gitea similarity index 100% rename from tests/gitea-repositories-meta/org3/139/repo5.git/hooks/pre-receive.d/gitea rename to tests/gitea-repositories-meta/org3/repo5.git/hooks/pre-receive.d/gitea diff --git a/tests/gitea-repositories-meta/org3/139/repo5.git/hooks/update b/tests/gitea-repositories-meta/org3/repo5.git/hooks/update similarity index 100% rename from tests/gitea-repositories-meta/org3/139/repo5.git/hooks/update rename to tests/gitea-repositories-meta/org3/repo5.git/hooks/update diff --git a/tests/gitea-repositories-meta/org3/139/repo5.git/hooks/update.d/gitea b/tests/gitea-repositories-meta/org3/repo5.git/hooks/update.d/gitea similarity index 100% rename from tests/gitea-repositories-meta/org3/139/repo5.git/hooks/update.d/gitea rename to tests/gitea-repositories-meta/org3/repo5.git/hooks/update.d/gitea diff --git a/tests/gitea-repositories-meta/org3/139/repo5.git/objects/20/ade30d25e0ecaeec84e7f542a8456900858240 b/tests/gitea-repositories-meta/org3/repo5.git/objects/20/ade30d25e0ecaeec84e7f542a8456900858240 similarity index 100% rename from tests/gitea-repositories-meta/org3/139/repo5.git/objects/20/ade30d25e0ecaeec84e7f542a8456900858240 rename to tests/gitea-repositories-meta/org3/repo5.git/objects/20/ade30d25e0ecaeec84e7f542a8456900858240 diff --git a/tests/gitea-repositories-meta/org3/139/repo5.git/objects/27/74debeea6dc742cc4971a92db0e08b95b60588 b/tests/gitea-repositories-meta/org3/repo5.git/objects/27/74debeea6dc742cc4971a92db0e08b95b60588 similarity index 100% rename from tests/gitea-repositories-meta/org3/139/repo5.git/objects/27/74debeea6dc742cc4971a92db0e08b95b60588 rename to tests/gitea-repositories-meta/org3/repo5.git/objects/27/74debeea6dc742cc4971a92db0e08b95b60588 diff --git a/tests/gitea-repositories-meta/org3/139/repo5.git/objects/2a/47ca4b614a9f5a43abbd5ad851a54a616ffee6 b/tests/gitea-repositories-meta/org3/repo5.git/objects/2a/47ca4b614a9f5a43abbd5ad851a54a616ffee6 similarity index 100% rename from tests/gitea-repositories-meta/org3/139/repo5.git/objects/2a/47ca4b614a9f5a43abbd5ad851a54a616ffee6 rename to tests/gitea-repositories-meta/org3/repo5.git/objects/2a/47ca4b614a9f5a43abbd5ad851a54a616ffee6 diff --git a/tests/gitea-repositories-meta/org3/139/repo5.git/objects/2f/9b22fd3159a43b7b4e5dd806fcd544edf8716f b/tests/gitea-repositories-meta/org3/repo5.git/objects/2f/9b22fd3159a43b7b4e5dd806fcd544edf8716f similarity index 100% rename from tests/gitea-repositories-meta/org3/139/repo5.git/objects/2f/9b22fd3159a43b7b4e5dd806fcd544edf8716f rename to tests/gitea-repositories-meta/org3/repo5.git/objects/2f/9b22fd3159a43b7b4e5dd806fcd544edf8716f diff --git a/tests/gitea-repositories-meta/org3/139/repo5.git/objects/d2/2b4d4daa5be07329fcef6ed458f00cf3392da0 b/tests/gitea-repositories-meta/org3/repo5.git/objects/d2/2b4d4daa5be07329fcef6ed458f00cf3392da0 similarity index 100% rename from tests/gitea-repositories-meta/org3/139/repo5.git/objects/d2/2b4d4daa5be07329fcef6ed458f00cf3392da0 rename to tests/gitea-repositories-meta/org3/repo5.git/objects/d2/2b4d4daa5be07329fcef6ed458f00cf3392da0 diff --git a/tests/gitea-repositories-meta/org3/139/repo5.git/objects/d5/6a3073c1dbb7b15963110a049d50cdb5db99fc b/tests/gitea-repositories-meta/org3/repo5.git/objects/d5/6a3073c1dbb7b15963110a049d50cdb5db99fc similarity index 100% rename from tests/gitea-repositories-meta/org3/139/repo5.git/objects/d5/6a3073c1dbb7b15963110a049d50cdb5db99fc rename to tests/gitea-repositories-meta/org3/repo5.git/objects/d5/6a3073c1dbb7b15963110a049d50cdb5db99fc diff --git a/tests/gitea-repositories-meta/org3/139/repo5.git/objects/ec/f0db3c1ec806522de4b491fb9a3c7457398c61 b/tests/gitea-repositories-meta/org3/repo5.git/objects/ec/f0db3c1ec806522de4b491fb9a3c7457398c61 similarity index 100% rename from tests/gitea-repositories-meta/org3/139/repo5.git/objects/ec/f0db3c1ec806522de4b491fb9a3c7457398c61 rename to tests/gitea-repositories-meta/org3/repo5.git/objects/ec/f0db3c1ec806522de4b491fb9a3c7457398c61 diff --git a/tests/gitea-repositories-meta/org3/139/repo5.git/objects/ee/16d127df463aa491e08958120f2108b02468df b/tests/gitea-repositories-meta/org3/repo5.git/objects/ee/16d127df463aa491e08958120f2108b02468df similarity index 100% rename from tests/gitea-repositories-meta/org3/139/repo5.git/objects/ee/16d127df463aa491e08958120f2108b02468df rename to tests/gitea-repositories-meta/org3/repo5.git/objects/ee/16d127df463aa491e08958120f2108b02468df diff --git a/tests/gitea-repositories-meta/org3/139/repo5.git/refs/heads/master b/tests/gitea-repositories-meta/org3/repo5.git/refs/heads/master similarity index 100% rename from tests/gitea-repositories-meta/org3/139/repo5.git/refs/heads/master rename to tests/gitea-repositories-meta/org3/repo5.git/refs/heads/master diff --git a/tests/gitea-repositories-meta/org3/139/repo5.git/refs/heads/test_branch b/tests/gitea-repositories-meta/org3/repo5.git/refs/heads/test_branch similarity index 100% rename from tests/gitea-repositories-meta/org3/139/repo5.git/refs/heads/test_branch rename to tests/gitea-repositories-meta/org3/repo5.git/refs/heads/test_branch diff --git a/tests/gitea-repositories-meta/org3/139/repo5.git/HEAD b/tests/gitea-repositories-meta/org41/repo61.git/HEAD similarity index 100% rename from tests/gitea-repositories-meta/org3/139/repo5.git/HEAD rename to tests/gitea-repositories-meta/org41/repo61.git/HEAD diff --git a/tests/gitea-repositories-meta/org41/90/repo61.git/config b/tests/gitea-repositories-meta/org41/repo61.git/config similarity index 100% rename from tests/gitea-repositories-meta/org41/90/repo61.git/config rename to tests/gitea-repositories-meta/org41/repo61.git/config diff --git a/tests/gitea-repositories-meta/org41/90/repo61.git/objects/.keep b/tests/gitea-repositories-meta/org41/repo61.git/objects/.keep similarity index 100% rename from tests/gitea-repositories-meta/org41/90/repo61.git/objects/.keep rename to tests/gitea-repositories-meta/org41/repo61.git/objects/.keep diff --git a/tests/gitea-repositories-meta/org41/90/repo61.git/refs/.keep b/tests/gitea-repositories-meta/org41/repo61.git/refs/.keep similarity index 100% rename from tests/gitea-repositories-meta/org41/90/repo61.git/refs/.keep rename to tests/gitea-repositories-meta/org41/repo61.git/refs/.keep diff --git a/tests/gitea-repositories-meta/org42/106/search-by-path.git/GIT_COLA_MSG b/tests/gitea-repositories-meta/org42/search-by-path.git/GIT_COLA_MSG similarity index 100% rename from tests/gitea-repositories-meta/org42/106/search-by-path.git/GIT_COLA_MSG rename to tests/gitea-repositories-meta/org42/search-by-path.git/GIT_COLA_MSG diff --git a/tests/gitea-repositories-meta/org41/90/repo61.git/HEAD b/tests/gitea-repositories-meta/org42/search-by-path.git/HEAD similarity index 100% rename from tests/gitea-repositories-meta/org41/90/repo61.git/HEAD rename to tests/gitea-repositories-meta/org42/search-by-path.git/HEAD diff --git a/tests/gitea-repositories-meta/org42/106/search-by-path.git/config b/tests/gitea-repositories-meta/org42/search-by-path.git/config similarity index 100% rename from tests/gitea-repositories-meta/org42/106/search-by-path.git/config rename to tests/gitea-repositories-meta/org42/search-by-path.git/config diff --git a/tests/gitea-repositories-meta/org42/106/search-by-path.git/description b/tests/gitea-repositories-meta/org42/search-by-path.git/description similarity index 100% rename from tests/gitea-repositories-meta/org42/106/search-by-path.git/description rename to tests/gitea-repositories-meta/org42/search-by-path.git/description diff --git a/tests/gitea-repositories-meta/org42/106/search-by-path.git/hooks/post-receive b/tests/gitea-repositories-meta/org42/search-by-path.git/hooks/post-receive similarity index 100% rename from tests/gitea-repositories-meta/org42/106/search-by-path.git/hooks/post-receive rename to tests/gitea-repositories-meta/org42/search-by-path.git/hooks/post-receive diff --git a/tests/gitea-repositories-meta/org42/106/search-by-path.git/hooks/post-receive.d/gitea b/tests/gitea-repositories-meta/org42/search-by-path.git/hooks/post-receive.d/gitea similarity index 100% rename from tests/gitea-repositories-meta/org42/106/search-by-path.git/hooks/post-receive.d/gitea rename to tests/gitea-repositories-meta/org42/search-by-path.git/hooks/post-receive.d/gitea diff --git a/tests/gitea-repositories-meta/org42/106/search-by-path.git/hooks/pre-receive b/tests/gitea-repositories-meta/org42/search-by-path.git/hooks/pre-receive similarity index 100% rename from tests/gitea-repositories-meta/org42/106/search-by-path.git/hooks/pre-receive rename to tests/gitea-repositories-meta/org42/search-by-path.git/hooks/pre-receive diff --git a/tests/gitea-repositories-meta/org42/106/search-by-path.git/hooks/pre-receive.d/gitea b/tests/gitea-repositories-meta/org42/search-by-path.git/hooks/pre-receive.d/gitea similarity index 100% rename from tests/gitea-repositories-meta/org42/106/search-by-path.git/hooks/pre-receive.d/gitea rename to tests/gitea-repositories-meta/org42/search-by-path.git/hooks/pre-receive.d/gitea diff --git a/tests/gitea-repositories-meta/org42/106/search-by-path.git/hooks/proc-receive b/tests/gitea-repositories-meta/org42/search-by-path.git/hooks/proc-receive similarity index 100% rename from tests/gitea-repositories-meta/org42/106/search-by-path.git/hooks/proc-receive rename to tests/gitea-repositories-meta/org42/search-by-path.git/hooks/proc-receive diff --git a/tests/gitea-repositories-meta/org42/106/search-by-path.git/hooks/proc-receive.d/gitea b/tests/gitea-repositories-meta/org42/search-by-path.git/hooks/proc-receive.d/gitea similarity index 100% rename from tests/gitea-repositories-meta/org42/106/search-by-path.git/hooks/proc-receive.d/gitea rename to tests/gitea-repositories-meta/org42/search-by-path.git/hooks/proc-receive.d/gitea diff --git a/tests/gitea-repositories-meta/org42/106/search-by-path.git/hooks/update b/tests/gitea-repositories-meta/org42/search-by-path.git/hooks/update similarity index 100% rename from tests/gitea-repositories-meta/org42/106/search-by-path.git/hooks/update rename to tests/gitea-repositories-meta/org42/search-by-path.git/hooks/update diff --git a/tests/gitea-repositories-meta/org42/106/search-by-path.git/hooks/update.d/gitea b/tests/gitea-repositories-meta/org42/search-by-path.git/hooks/update.d/gitea similarity index 100% rename from tests/gitea-repositories-meta/org42/106/search-by-path.git/hooks/update.d/gitea rename to tests/gitea-repositories-meta/org42/search-by-path.git/hooks/update.d/gitea diff --git a/tests/gitea-repositories-meta/org42/106/search-by-path.git/info/refs b/tests/gitea-repositories-meta/org42/search-by-path.git/info/refs similarity index 100% rename from tests/gitea-repositories-meta/org42/106/search-by-path.git/info/refs rename to tests/gitea-repositories-meta/org42/search-by-path.git/info/refs diff --git a/tests/gitea-repositories-meta/org42/106/search-by-path.git/logs/refs/heads/master b/tests/gitea-repositories-meta/org42/search-by-path.git/logs/refs/heads/master similarity index 100% rename from tests/gitea-repositories-meta/org42/106/search-by-path.git/logs/refs/heads/master rename to tests/gitea-repositories-meta/org42/search-by-path.git/logs/refs/heads/master diff --git a/tests/gitea-repositories-meta/org42/106/search-by-path.git/objects/info/packs b/tests/gitea-repositories-meta/org42/search-by-path.git/objects/info/packs similarity index 100% rename from tests/gitea-repositories-meta/org42/106/search-by-path.git/objects/info/packs rename to tests/gitea-repositories-meta/org42/search-by-path.git/objects/info/packs diff --git a/tests/gitea-repositories-meta/org42/106/search-by-path.git/objects/pack/pack-a7bef76cf6e2b46bc816936ab69306fb10aea571.bitmap b/tests/gitea-repositories-meta/org42/search-by-path.git/objects/pack/pack-a7bef76cf6e2b46bc816936ab69306fb10aea571.bitmap similarity index 100% rename from tests/gitea-repositories-meta/org42/106/search-by-path.git/objects/pack/pack-a7bef76cf6e2b46bc816936ab69306fb10aea571.bitmap rename to tests/gitea-repositories-meta/org42/search-by-path.git/objects/pack/pack-a7bef76cf6e2b46bc816936ab69306fb10aea571.bitmap diff --git a/tests/gitea-repositories-meta/org42/106/search-by-path.git/objects/pack/pack-a7bef76cf6e2b46bc816936ab69306fb10aea571.idx b/tests/gitea-repositories-meta/org42/search-by-path.git/objects/pack/pack-a7bef76cf6e2b46bc816936ab69306fb10aea571.idx similarity index 100% rename from tests/gitea-repositories-meta/org42/106/search-by-path.git/objects/pack/pack-a7bef76cf6e2b46bc816936ab69306fb10aea571.idx rename to tests/gitea-repositories-meta/org42/search-by-path.git/objects/pack/pack-a7bef76cf6e2b46bc816936ab69306fb10aea571.idx diff --git a/tests/gitea-repositories-meta/org42/106/search-by-path.git/objects/pack/pack-a7bef76cf6e2b46bc816936ab69306fb10aea571.pack b/tests/gitea-repositories-meta/org42/search-by-path.git/objects/pack/pack-a7bef76cf6e2b46bc816936ab69306fb10aea571.pack similarity index 100% rename from tests/gitea-repositories-meta/org42/106/search-by-path.git/objects/pack/pack-a7bef76cf6e2b46bc816936ab69306fb10aea571.pack rename to tests/gitea-repositories-meta/org42/search-by-path.git/objects/pack/pack-a7bef76cf6e2b46bc816936ab69306fb10aea571.pack diff --git a/tests/gitea-repositories-meta/org42/106/search-by-path.git/objects/pack/pack-a7bef76cf6e2b46bc816936ab69306fb10aea571.rev b/tests/gitea-repositories-meta/org42/search-by-path.git/objects/pack/pack-a7bef76cf6e2b46bc816936ab69306fb10aea571.rev similarity index 100% rename from tests/gitea-repositories-meta/org42/106/search-by-path.git/objects/pack/pack-a7bef76cf6e2b46bc816936ab69306fb10aea571.rev rename to tests/gitea-repositories-meta/org42/search-by-path.git/objects/pack/pack-a7bef76cf6e2b46bc816936ab69306fb10aea571.rev diff --git a/tests/gitea-repositories-meta/org42/106/search-by-path.git/packed-refs b/tests/gitea-repositories-meta/org42/search-by-path.git/packed-refs similarity index 100% rename from tests/gitea-repositories-meta/org42/106/search-by-path.git/packed-refs rename to tests/gitea-repositories-meta/org42/search-by-path.git/packed-refs diff --git a/tests/gitea-repositories-meta/org42/106/search-by-path.git/refs/.keep b/tests/gitea-repositories-meta/org42/search-by-path.git/refs/.keep similarity index 100% rename from tests/gitea-repositories-meta/org42/106/search-by-path.git/refs/.keep rename to tests/gitea-repositories-meta/org42/search-by-path.git/refs/.keep diff --git a/tests/gitea-repositories-meta/privated_org/352/private_repo_on_private_org.git/HEAD b/tests/gitea-repositories-meta/privated_org/352/private_repo_on_private_org.git/HEAD deleted file mode 100644 index cb089cd89a..0000000000 --- a/tests/gitea-repositories-meta/privated_org/352/private_repo_on_private_org.git/HEAD +++ /dev/null @@ -1 +0,0 @@ -ref: refs/heads/master diff --git a/tests/gitea-repositories-meta/org42/106/search-by-path.git/HEAD b/tests/gitea-repositories-meta/privated_org/private_repo_on_private_org.git/HEAD similarity index 100% rename from tests/gitea-repositories-meta/org42/106/search-by-path.git/HEAD rename to tests/gitea-repositories-meta/privated_org/private_repo_on_private_org.git/HEAD diff --git a/tests/gitea-repositories-meta/privated_org/340/public_repo_on_private_org.git/config b/tests/gitea-repositories-meta/privated_org/private_repo_on_private_org.git/config similarity index 100% rename from tests/gitea-repositories-meta/privated_org/340/public_repo_on_private_org.git/config rename to tests/gitea-repositories-meta/privated_org/private_repo_on_private_org.git/config diff --git a/tests/gitea-repositories-meta/privated_org/352/private_repo_on_private_org.git/objects/6e/75c9f89da9a9b93f4f36e61ed092f7a1625ba0 b/tests/gitea-repositories-meta/privated_org/private_repo_on_private_org.git/objects/6e/75c9f89da9a9b93f4f36e61ed092f7a1625ba0 similarity index 100% rename from tests/gitea-repositories-meta/privated_org/352/private_repo_on_private_org.git/objects/6e/75c9f89da9a9b93f4f36e61ed092f7a1625ba0 rename to tests/gitea-repositories-meta/privated_org/private_repo_on_private_org.git/objects/6e/75c9f89da9a9b93f4f36e61ed092f7a1625ba0 diff --git a/tests/gitea-repositories-meta/privated_org/352/private_repo_on_private_org.git/objects/7f/eb6f9dd600e17a04f48a76cfa0a56a3f30e2c1 b/tests/gitea-repositories-meta/privated_org/private_repo_on_private_org.git/objects/7f/eb6f9dd600e17a04f48a76cfa0a56a3f30e2c1 similarity index 100% rename from tests/gitea-repositories-meta/privated_org/352/private_repo_on_private_org.git/objects/7f/eb6f9dd600e17a04f48a76cfa0a56a3f30e2c1 rename to tests/gitea-repositories-meta/privated_org/private_repo_on_private_org.git/objects/7f/eb6f9dd600e17a04f48a76cfa0a56a3f30e2c1 diff --git a/tests/gitea-repositories-meta/privated_org/352/private_repo_on_private_org.git/objects/b7/91b41c0ae8cb3c4b12f3fd8c3709c2481d9e37 b/tests/gitea-repositories-meta/privated_org/private_repo_on_private_org.git/objects/b7/91b41c0ae8cb3c4b12f3fd8c3709c2481d9e37 similarity index 100% rename from tests/gitea-repositories-meta/privated_org/352/private_repo_on_private_org.git/objects/b7/91b41c0ae8cb3c4b12f3fd8c3709c2481d9e37 rename to tests/gitea-repositories-meta/privated_org/private_repo_on_private_org.git/objects/b7/91b41c0ae8cb3c4b12f3fd8c3709c2481d9e37 diff --git a/tests/gitea-repositories-meta/privated_org/352/private_repo_on_private_org.git/refs/heads/master b/tests/gitea-repositories-meta/privated_org/private_repo_on_private_org.git/refs/heads/master similarity index 100% rename from tests/gitea-repositories-meta/privated_org/352/private_repo_on_private_org.git/refs/heads/master rename to tests/gitea-repositories-meta/privated_org/private_repo_on_private_org.git/refs/heads/master diff --git a/tests/gitea-repositories-meta/privated_org/340/public_repo_on_private_org.git/HEAD b/tests/gitea-repositories-meta/privated_org/public_repo_on_private_org.git/HEAD similarity index 100% rename from tests/gitea-repositories-meta/privated_org/340/public_repo_on_private_org.git/HEAD rename to tests/gitea-repositories-meta/privated_org/public_repo_on_private_org.git/HEAD diff --git a/tests/gitea-repositories-meta/privated_org/352/private_repo_on_private_org.git/config b/tests/gitea-repositories-meta/privated_org/public_repo_on_private_org.git/config similarity index 100% rename from tests/gitea-repositories-meta/privated_org/352/private_repo_on_private_org.git/config rename to tests/gitea-repositories-meta/privated_org/public_repo_on_private_org.git/config diff --git a/tests/gitea-repositories-meta/privated_org/340/public_repo_on_private_org.git/objects/04/f99c528b643b9175a4b156cdfc13aba6b43853 b/tests/gitea-repositories-meta/privated_org/public_repo_on_private_org.git/objects/04/f99c528b643b9175a4b156cdfc13aba6b43853 similarity index 100% rename from tests/gitea-repositories-meta/privated_org/340/public_repo_on_private_org.git/objects/04/f99c528b643b9175a4b156cdfc13aba6b43853 rename to tests/gitea-repositories-meta/privated_org/public_repo_on_private_org.git/objects/04/f99c528b643b9175a4b156cdfc13aba6b43853 diff --git a/tests/gitea-repositories-meta/privated_org/340/public_repo_on_private_org.git/objects/86/de16d8658f5c0a17ec6aa313871295d7072f78 b/tests/gitea-repositories-meta/privated_org/public_repo_on_private_org.git/objects/86/de16d8658f5c0a17ec6aa313871295d7072f78 similarity index 100% rename from tests/gitea-repositories-meta/privated_org/340/public_repo_on_private_org.git/objects/86/de16d8658f5c0a17ec6aa313871295d7072f78 rename to tests/gitea-repositories-meta/privated_org/public_repo_on_private_org.git/objects/86/de16d8658f5c0a17ec6aa313871295d7072f78 diff --git a/tests/gitea-repositories-meta/privated_org/340/public_repo_on_private_org.git/objects/bf/19fd4707acb403c4aca44f126ab69142ac59ce b/tests/gitea-repositories-meta/privated_org/public_repo_on_private_org.git/objects/bf/19fd4707acb403c4aca44f126ab69142ac59ce similarity index 100% rename from tests/gitea-repositories-meta/privated_org/340/public_repo_on_private_org.git/objects/bf/19fd4707acb403c4aca44f126ab69142ac59ce rename to tests/gitea-repositories-meta/privated_org/public_repo_on_private_org.git/objects/bf/19fd4707acb403c4aca44f126ab69142ac59ce diff --git a/tests/gitea-repositories-meta/privated_org/340/public_repo_on_private_org.git/refs/heads/master b/tests/gitea-repositories-meta/privated_org/public_repo_on_private_org.git/refs/heads/master similarity index 100% rename from tests/gitea-repositories-meta/privated_org/340/public_repo_on_private_org.git/refs/heads/master rename to tests/gitea-repositories-meta/privated_org/public_repo_on_private_org.git/refs/heads/master diff --git a/tests/integration/actions_approve_test.go b/tests/integration/actions_approve_test.go index 2d7770533b..3f2c02f77a 100644 --- a/tests/integration/actions_approve_test.go +++ b/tests/integration/actions_approve_test.go @@ -34,7 +34,7 @@ func TestApproveAllRunsOnPullRequestPage(t *testing.T) { apiBaseRepo := createActionsTestRepo(t, user2Token, "approve-all-runs", false) baseRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiBaseRepo.ID}) - user2APICtx := NewAPITestContext(t, baseRepo.OwnerName, baseRepo.Name, baseRepo.GroupID, auth_model.AccessTokenScopeWriteRepository) + user2APICtx := NewAPITestContext(t, baseRepo.OwnerName, baseRepo.Name, auth_model.AccessTokenScopeWriteRepository) defer doAPIDeleteRepository(user2APICtx)(t) runner := newMockRunner() @@ -51,7 +51,7 @@ jobs: - run: echo unit-test ` opts1 := getWorkflowCreateFileOptions(user2, baseRepo.DefaultBranch, "create %s"+wf1TreePath, wf1FileContent) - createWorkflowFile(t, user2Token, baseRepo.OwnerName, baseRepo.Name, baseRepo.GroupID, wf1TreePath, opts1) + createWorkflowFile(t, user2Token, baseRepo.OwnerName, baseRepo.Name, wf1TreePath, opts1) wf2TreePath := ".gitea/workflows/pull_2.yml" wf2FileContent := `name: Pull 2 on: pull_request @@ -62,7 +62,7 @@ jobs: - run: echo integration-test ` opts2 := getWorkflowCreateFileOptions(user2, baseRepo.DefaultBranch, "create %s"+wf2TreePath, wf2FileContent) - createWorkflowFile(t, user2Token, baseRepo.OwnerName, baseRepo.Name, baseRepo.GroupID, wf2TreePath, opts2) + createWorkflowFile(t, user2Token, baseRepo.OwnerName, baseRepo.Name, wf2TreePath, opts2) // user4 forks the repo req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/forks", baseRepo.OwnerName, baseRepo.Name), @@ -73,7 +73,7 @@ jobs: var apiForkRepo api.Repository DecodeJSON(t, resp, &apiForkRepo) forkRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiForkRepo.ID}) - user4APICtx := NewAPITestContext(t, user4.Name, forkRepo.Name, forkRepo.GroupID, auth_model.AccessTokenScopeWriteRepository) + user4APICtx := NewAPITestContext(t, user4.Name, forkRepo.Name, auth_model.AccessTokenScopeWriteRepository) defer doAPIDeleteRepository(user4APICtx)(t) // user4 creates a pull request from branch "bugfix/user4" diff --git a/tests/integration/actions_concurrency_test.go b/tests/integration/actions_concurrency_test.go index 17f071bdc0..d5c5321b77 100644 --- a/tests/integration/actions_concurrency_test.go +++ b/tests/integration/actions_concurrency_test.go @@ -34,11 +34,12 @@ func TestWorkflowConcurrency(t *testing.T) { apiRepo := createActionsTestRepo(t, token, "actions-concurrency", false) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID}) - httpContext := NewAPITestContext(t, user2.Name, repo.Name, repo.GroupID, auth_model.AccessTokenScopeWriteRepository) + httpContext := NewAPITestContext(t, user2.Name, repo.Name, auth_model.AccessTokenScopeWriteRepository) defer doAPIDeleteRepository(httpContext)(t) runner := newMockRunner() runner.registerAsRepoRunner(t, user2.Name, repo.Name, "mock-runner", []string{"ubuntu-latest"}, false) + // add a variable for test req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/actions/variables/myvar", user2.Name, repo.Name), &api.CreateVariableOption{ @@ -49,7 +50,7 @@ func TestWorkflowConcurrency(t *testing.T) { wf1TreePath := ".gitea/workflows/concurrent-workflow-1.yml" wf1FileContent := `name: concurrent-workflow-1 -on: +on: push: paths: - '.gitea/workflows/concurrent-workflow-1.yml' @@ -63,7 +64,7 @@ jobs: ` wf2TreePath := ".gitea/workflows/concurrent-workflow-2.yml" wf2FileContent := `name: concurrent-workflow-2 -on: +on: push: paths: - '.gitea/workflows/concurrent-workflow-2.yml' @@ -77,7 +78,7 @@ jobs: ` wf3TreePath := ".gitea/workflows/concurrent-workflow-3.yml" wf3FileContent := `name: concurrent-workflow-3 -on: +on: push: paths: - '.gitea/workflows/concurrent-workflow-3.yml' @@ -91,7 +92,7 @@ jobs: ` // push workflow1 opts1 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create "+wf1TreePath, wf1FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf1TreePath, opts1) + createWorkflowFile(t, token, user2.Name, repo.Name, wf1TreePath, opts1) // fetch and exec workflow1 task := runner.fetchTask(t) _, _, run := getTaskAndJobAndRunByTaskID(t, task.Id) @@ -104,7 +105,7 @@ jobs: // push workflow2 opts2 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create "+wf2TreePath, wf2FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf2TreePath, opts2) + createWorkflowFile(t, token, user2.Name, repo.Name, wf2TreePath, opts2) // fetch workflow2 task = runner.fetchTask(t) _, _, run = getTaskAndJobAndRunByTaskID(t, task.Id) @@ -113,7 +114,7 @@ jobs: // push workflow3 opts3 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create "+wf3TreePath, wf3FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf3TreePath, opts3) + createWorkflowFile(t, token, user2.Name, repo.Name, wf3TreePath, opts3) runner.fetchNoTask(t) // exec workflow2 @@ -141,7 +142,7 @@ func TestWorkflowConcurrencyShort(t *testing.T) { apiRepo := createActionsTestRepo(t, token, "actions-concurrency", false) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID}) - httpContext := NewAPITestContext(t, user2.Name, repo.Name, repo.GroupID, auth_model.AccessTokenScopeWriteRepository) + httpContext := NewAPITestContext(t, user2.Name, repo.Name, auth_model.AccessTokenScopeWriteRepository) defer doAPIDeleteRepository(httpContext)(t) runner := newMockRunner() @@ -157,7 +158,7 @@ func TestWorkflowConcurrencyShort(t *testing.T) { wf1TreePath := ".gitea/workflows/concurrent-workflow-1.yml" wf1FileContent := `name: concurrent-workflow-1 -on: +on: push: paths: - '.gitea/workflows/concurrent-workflow-1.yml' @@ -170,7 +171,7 @@ jobs: ` wf2TreePath := ".gitea/workflows/concurrent-workflow-2.yml" wf2FileContent := `name: concurrent-workflow-2 -on: +on: push: paths: - '.gitea/workflows/concurrent-workflow-2.yml' @@ -183,7 +184,7 @@ jobs: ` wf3TreePath := ".gitea/workflows/concurrent-workflow-3.yml" wf3FileContent := `name: concurrent-workflow-3 -on: +on: push: paths: - '.gitea/workflows/concurrent-workflow-3.yml' @@ -196,7 +197,7 @@ jobs: ` // push workflow1 opts1 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create "+wf1TreePath, wf1FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf1TreePath, opts1) + createWorkflowFile(t, token, user2.Name, repo.Name, wf1TreePath, opts1) // fetch and exec workflow1 task := runner.fetchTask(t) _, _, run := getTaskAndJobAndRunByTaskID(t, task.Id) @@ -209,7 +210,7 @@ jobs: // push workflow2 opts2 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create "+wf2TreePath, wf2FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf2TreePath, opts2) + createWorkflowFile(t, token, user2.Name, repo.Name, wf2TreePath, opts2) // fetch workflow2 task = runner.fetchTask(t) _, _, run = getTaskAndJobAndRunByTaskID(t, task.Id) @@ -218,7 +219,7 @@ jobs: // push workflow3 opts3 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create "+wf3TreePath, wf3FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf3TreePath, opts3) + createWorkflowFile(t, token, user2.Name, repo.Name, wf3TreePath, opts3) runner.fetchNoTask(t) // exec workflow2 @@ -246,7 +247,7 @@ func TestWorkflowConcurrencyShortJson(t *testing.T) { apiRepo := createActionsTestRepo(t, token, "actions-concurrency", false) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID}) - httpContext := NewAPITestContext(t, user2.Name, repo.Name, repo.GroupID, auth_model.AccessTokenScopeWriteRepository) + httpContext := NewAPITestContext(t, user2.Name, repo.Name, auth_model.AccessTokenScopeWriteRepository) defer doAPIDeleteRepository(httpContext)(t) runner := newMockRunner() @@ -262,7 +263,7 @@ func TestWorkflowConcurrencyShortJson(t *testing.T) { wf1TreePath := ".gitea/workflows/concurrent-workflow-1.yml" wf1FileContent := `name: concurrent-workflow-1 -on: +on: push: paths: - '.gitea/workflows/concurrent-workflow-1.yml' @@ -279,7 +280,7 @@ jobs: ` wf2TreePath := ".gitea/workflows/concurrent-workflow-2.yml" wf2FileContent := `name: concurrent-workflow-2 -on: +on: push: paths: - '.gitea/workflows/concurrent-workflow-2.yml' @@ -296,7 +297,7 @@ jobs: ` wf3TreePath := ".gitea/workflows/concurrent-workflow-3.yml" wf3FileContent := `name: concurrent-workflow-3 -on: +on: push: paths: - '.gitea/workflows/concurrent-workflow-3.yml' @@ -313,7 +314,7 @@ jobs: ` // push workflow1 opts1 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create "+wf1TreePath, wf1FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf1TreePath, opts1) + createWorkflowFile(t, token, user2.Name, repo.Name, wf1TreePath, opts1) // fetch and exec workflow1 task := runner.fetchTask(t) _, _, run := getTaskAndJobAndRunByTaskID(t, task.Id) @@ -326,7 +327,7 @@ jobs: // push workflow2 opts2 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create "+wf2TreePath, wf2FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf2TreePath, opts2) + createWorkflowFile(t, token, user2.Name, repo.Name, wf2TreePath, opts2) // fetch workflow2 task = runner.fetchTask(t) _, _, run = getTaskAndJobAndRunByTaskID(t, task.Id) @@ -335,7 +336,7 @@ jobs: // push workflow3 opts3 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create "+wf3TreePath, wf3FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf3TreePath, opts3) + createWorkflowFile(t, token, user2.Name, repo.Name, wf3TreePath, opts3) runner.fetchNoTask(t) // exec workflow2 @@ -367,7 +368,7 @@ func TestPullRequestWorkflowConcurrency(t *testing.T) { apiBaseRepo := createActionsTestRepo(t, user2Token, "actions-concurrency", false) baseRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiBaseRepo.ID}) - user2APICtx := NewAPITestContext(t, baseRepo.OwnerName, baseRepo.Name, baseRepo.GroupID, auth_model.AccessTokenScopeWriteRepository) + user2APICtx := NewAPITestContext(t, baseRepo.OwnerName, baseRepo.Name, auth_model.AccessTokenScopeWriteRepository) defer doAPIDeleteRepository(user2APICtx)(t) runner := newMockRunner() @@ -387,7 +388,7 @@ jobs: - run: echo 'test the pull' ` opts1 := getWorkflowCreateFileOptions(user2, baseRepo.DefaultBranch, "create %s"+wfTreePath, wfFileContent) - createWorkflowFile(t, user2Token, baseRepo.OwnerName, baseRepo.Name, baseRepo.GroupID, wfTreePath, opts1) + createWorkflowFile(t, user2Token, baseRepo.OwnerName, baseRepo.Name, wfTreePath, opts1) // user2 creates a pull request doAPICreateFile(user2APICtx, "user2-fix.txt", &api.CreateFileOptions{ FileOptions: api.FileOptions{ @@ -424,7 +425,7 @@ jobs: var apiForkRepo api.Repository DecodeJSON(t, resp, &apiForkRepo) forkRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiForkRepo.ID}) - user4APICtx := NewAPITestContext(t, user4.Name, forkRepo.Name, forkRepo.GroupID, auth_model.AccessTokenScopeWriteRepository) + user4APICtx := NewAPITestContext(t, user4.Name, forkRepo.Name, auth_model.AccessTokenScopeWriteRepository) defer doAPIDeleteRepository(user4APICtx)(t) // user4 creates a pull request from branch "bugfix/bbb" @@ -508,7 +509,7 @@ func TestJobConcurrency(t *testing.T) { apiRepo := createActionsTestRepo(t, token, "actions-concurrency", false) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID}) - httpContext := NewAPITestContext(t, user2.Name, repo.Name, repo.GroupID, auth_model.AccessTokenScopeWriteRepository) + httpContext := NewAPITestContext(t, user2.Name, repo.Name, auth_model.AccessTokenScopeWriteRepository) defer doAPIDeleteRepository(httpContext)(t) runner1 := newMockRunner() @@ -526,7 +527,7 @@ func TestJobConcurrency(t *testing.T) { wf1TreePath := ".gitea/workflows/concurrent-workflow-1.yml" wf1FileContent := `name: concurrent-workflow-1 -on: +on: push: paths: - '.gitea/workflows/concurrent-workflow-1.yml' @@ -540,7 +541,7 @@ jobs: ` wf2TreePath := ".gitea/workflows/concurrent-workflow-2.yml" wf2FileContent := `name: concurrent-workflow-2 -on: +on: push: paths: - '.gitea/workflows/concurrent-workflow-2.yml' @@ -548,7 +549,7 @@ jobs: wf2-job1: runs-on: runner2 outputs: - version: ${{ steps.version_step.outputs.app_version }} + version: ${{ steps.version_step.outputs.app_version }} steps: - id: version_step run: echo "app_version=v1.23.0" >> "$GITHUB_OUTPUT" @@ -562,7 +563,7 @@ jobs: ` wf3TreePath := ".gitea/workflows/concurrent-workflow-3.yml" wf3FileContent := `name: concurrent-workflow-3 -on: +on: push: paths: - '.gitea/workflows/concurrent-workflow-3.yml' @@ -577,9 +578,9 @@ jobs: ` opts1 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create %s"+wf1TreePath, wf1FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf1TreePath, opts1) + createWorkflowFile(t, token, user2.Name, repo.Name, wf1TreePath, opts1) opts2 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create %s"+wf2TreePath, wf2FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf2TreePath, opts2) + createWorkflowFile(t, token, user2.Name, repo.Name, wf2TreePath, opts2) // fetch wf1-job1 wf1Job1Task := runner1.fetchTask(t) @@ -607,7 +608,7 @@ jobs: assert.Equal(t, actions_model.StatusRunning, wf2Job2ActionJob.Status) // push workflow3 to trigger wf3-job1 opts3 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create %s"+wf3TreePath, wf3FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf3TreePath, opts3) + createWorkflowFile(t, token, user2.Name, repo.Name, wf3TreePath, opts3) // fetch wf3-job1 wf3Job1Task := runner1.fetchTask(t) _, wf3Job1ActionJob, _ := getTaskAndJobAndRunByTaskID(t, wf3Job1Task.Id) @@ -662,7 +663,7 @@ func TestMatrixConcurrency(t *testing.T) { apiRepo := createActionsTestRepo(t, token, "actions-concurrency", false) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID}) - httpContext := NewAPITestContext(t, user2.Name, repo.Name, repo.GroupID, auth_model.AccessTokenScopeWriteRepository) + httpContext := NewAPITestContext(t, user2.Name, repo.Name, auth_model.AccessTokenScopeWriteRepository) defer doAPIDeleteRepository(httpContext)(t) linuxRunner := newMockRunner() @@ -674,7 +675,7 @@ func TestMatrixConcurrency(t *testing.T) { wf1TreePath := ".gitea/workflows/concurrent-workflow-1.yml" wf1FileContent := `name: concurrent-workflow-1 -on: +on: push: paths: - '.gitea/workflows/concurrent-workflow-1.yml' @@ -692,7 +693,7 @@ jobs: wf2TreePath := ".gitea/workflows/concurrent-workflow-2.yml" wf2FileContent := `name: concurrent-workflow-2 -on: +on: push: paths: - '.gitea/workflows/concurrent-workflow-2.yml' @@ -709,7 +710,7 @@ jobs: ` opts1 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create "+wf1TreePath, wf1FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf1TreePath, opts1) + createWorkflowFile(t, token, user2.Name, repo.Name, wf1TreePath, opts1) job1WinTask := windowsRunner.fetchTask(t) job1LinuxTask := linuxRunner.fetchTask(t) @@ -723,7 +724,7 @@ jobs: assert.Equal(t, "job-os-linux", job1LinuxJob.ConcurrencyGroup) opts2 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create "+wf2TreePath, wf2FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf2TreePath, opts2) + createWorkflowFile(t, token, user2.Name, repo.Name, wf2TreePath, opts2) job2DarwinTask := darwinRunner.fetchTask(t) _, job2DarwinJob, _ := getTaskAndJobAndRunByTaskID(t, job2DarwinTask.Id) assert.Equal(t, "wf2-job (darwin)", job2DarwinJob.Name) @@ -755,7 +756,7 @@ func TestWorkflowDispatchConcurrency(t *testing.T) { apiRepo := createActionsTestRepo(t, token, "actions-concurrency", false) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID}) - httpContext := NewAPITestContext(t, user2.Name, repo.Name, repo.GroupID, auth_model.AccessTokenScopeWriteRepository) + httpContext := NewAPITestContext(t, user2.Name, repo.Name, auth_model.AccessTokenScopeWriteRepository) defer doAPIDeleteRepository(httpContext)(t) runner := newMockRunner() @@ -791,7 +792,7 @@ jobs: ` opts1 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create %s"+wf1TreePath, wf1FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf1TreePath, opts1) + createWorkflowFile(t, token, user2.Name, repo.Name, wf1TreePath, opts1) // run the workflow with appVersion=v1.21 and cancel=false urlStr := fmt.Sprintf("/%s/%s/actions/run?workflow=%s", user2.Name, repo.Name, "workflow-dispatch-concurrency.yml") @@ -845,7 +846,7 @@ func TestWorkflowDispatchRerunAllJobsConcurrency(t *testing.T) { apiRepo := createActionsTestRepo(t, token, "actions-concurrency", false) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID}) - httpContext := NewAPITestContext(t, user2.Name, repo.Name, repo.GroupID, auth_model.AccessTokenScopeWriteRepository) + httpContext := NewAPITestContext(t, user2.Name, repo.Name, auth_model.AccessTokenScopeWriteRepository) defer doAPIDeleteRepository(httpContext)(t) runner := newMockRunner() @@ -881,7 +882,7 @@ jobs: ` opts1 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create %s"+wf1TreePath, wf1FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf1TreePath, opts1) + createWorkflowFile(t, token, user2.Name, repo.Name, wf1TreePath, opts1) // run the workflow with appVersion=v1.21 and cancel=false urlStr := fmt.Sprintf("/%s/%s/actions/run?workflow=%s", user2.Name, repo.Name, "workflow-dispatch-concurrency.yml") @@ -983,7 +984,7 @@ func TestWorkflowDispatchRerunSingleJobConcurrency(t *testing.T) { apiRepo := createActionsTestRepo(t, token, "actions-concurrency", false) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID}) - httpContext := NewAPITestContext(t, user2.Name, repo.Name, repo.GroupID, auth_model.AccessTokenScopeWriteRepository) + httpContext := NewAPITestContext(t, user2.Name, repo.Name, auth_model.AccessTokenScopeWriteRepository) defer doAPIDeleteRepository(httpContext)(t) runner := newMockRunner() @@ -1019,7 +1020,7 @@ jobs: ` opts1 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create %s"+wf1TreePath, wf1FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf1TreePath, opts1) + createWorkflowFile(t, token, user2.Name, repo.Name, wf1TreePath, opts1) // run the workflow with appVersion=v1.21 and cancel=false urlStr := fmt.Sprintf("/%s/%s/actions/run?workflow=%s", user2.Name, repo.Name, "workflow-dispatch-concurrency.yml") @@ -1118,7 +1119,7 @@ func TestScheduleConcurrency(t *testing.T) { apiRepo := createActionsTestRepo(t, token, "actions-concurrency", false) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID}) - httpContext := NewAPITestContext(t, user2.Name, repo.Name, repo.GroupID, auth_model.AccessTokenScopeWriteRepository) + httpContext := NewAPITestContext(t, user2.Name, repo.Name, auth_model.AccessTokenScopeWriteRepository) defer doAPIDeleteRepository(httpContext)(t) runner := newMockRunner() @@ -1141,7 +1142,7 @@ jobs: ` opts1 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create %s"+wf1TreePath, wf1FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf1TreePath, opts1) + createWorkflowFile(t, token, user2.Name, repo.Name, wf1TreePath, opts1) // fetch the task triggered by push task1 := runner.fetchTask(t) @@ -1220,7 +1221,7 @@ func TestWorkflowAndJobConcurrency(t *testing.T) { apiRepo := createActionsTestRepo(t, token, "actions-concurrency", false) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID}) - httpContext := NewAPITestContext(t, user2.Name, repo.Name, repo.GroupID, auth_model.AccessTokenScopeWriteRepository) + httpContext := NewAPITestContext(t, user2.Name, repo.Name, auth_model.AccessTokenScopeWriteRepository) defer doAPIDeleteRepository(httpContext)(t) runner1 := newMockRunner() @@ -1230,7 +1231,7 @@ func TestWorkflowAndJobConcurrency(t *testing.T) { wf1TreePath := ".gitea/workflows/concurrent-workflow-1.yml" wf1FileContent := `name: concurrent-workflow-1 -on: +on: push: paths: - '.gitea/workflows/concurrent-workflow-1.yml' @@ -1252,7 +1253,7 @@ jobs: ` wf2TreePath := ".gitea/workflows/concurrent-workflow-2.yml" wf2FileContent := `name: concurrent-workflow-2 -on: +on: push: paths: - '.gitea/workflows/concurrent-workflow-2.yml' @@ -1274,7 +1275,7 @@ jobs: ` wf3TreePath := ".gitea/workflows/concurrent-workflow-3.yml" wf3FileContent := `name: concurrent-workflow-3 -on: +on: push: paths: - '.gitea/workflows/concurrent-workflow-3.yml' @@ -1291,7 +1292,7 @@ jobs: wf4TreePath := ".gitea/workflows/concurrent-workflow-4.yml" wf4FileContent := `name: concurrent-workflow-4 -on: +on: push: paths: - '.gitea/workflows/concurrent-workflow-4.yml' @@ -1309,7 +1310,7 @@ jobs: // push workflow 1 opts1 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create %s"+wf1TreePath, wf1FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf1TreePath, opts1) + createWorkflowFile(t, token, user2.Name, repo.Name, wf1TreePath, opts1) // fetch wf1-job1 and wf1-job2 w1j1Task := runner1.fetchTask(t) @@ -1325,7 +1326,7 @@ jobs: // push workflow 2 opts2 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create %s"+wf2TreePath, wf2FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf2TreePath, opts2) + createWorkflowFile(t, token, user2.Name, repo.Name, wf2TreePath, opts2) // cannot fetch wf2-job1 and wf2-job2 because workflow-2 is blocked by workflow-1's concurrency group "workflow-group-1" runner1.fetchNoTask(t) runner2.fetchNoTask(t) @@ -1336,7 +1337,7 @@ jobs: // push workflow 3 opts3 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create %s"+wf3TreePath, wf3FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf3TreePath, opts3) + createWorkflowFile(t, token, user2.Name, repo.Name, wf3TreePath, opts3) // cannot fetch wf3-job1 because it is blocked by wf1-job1's concurrency group "job-group-1" runner1.fetchNoTask(t) // query wf3-job1 from db and check its status @@ -1375,7 +1376,7 @@ jobs: // push workflow-4 opts4 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create %s"+wf4TreePath, wf4FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf4TreePath, opts4) + createWorkflowFile(t, token, user2.Name, repo.Name, wf4TreePath, opts4) // cannot fetch wf4-job1 because it is blocked by workflow-3's concurrency group "workflow-group-2" runner2.fetchNoTask(t) @@ -1409,7 +1410,7 @@ func TestCancelConcurrentRun(t *testing.T) { apiRepo := createActionsTestRepo(t, user2Token, "actions-concurrency", false) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID}) - user2APICtx := NewAPITestContext(t, repo.OwnerName, repo.Name, repo.GroupID, auth_model.AccessTokenScopeWriteRepository) + user2APICtx := NewAPITestContext(t, repo.OwnerName, repo.Name, auth_model.AccessTokenScopeWriteRepository) defer doAPIDeleteRepository(user2APICtx)(t) runner := newMockRunner() @@ -1429,7 +1430,7 @@ jobs: - run: echo 'test' ` opts1 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create %s"+wfTreePath, wfFileContent) - createWorkflowFile(t, user2Token, repo.OwnerName, repo.Name, repo.GroupID, wfTreePath, opts1) + createWorkflowFile(t, user2Token, repo.OwnerName, repo.Name, wfTreePath, opts1) // fetch and check the first task task1 := runner.fetchTask(t) @@ -1486,7 +1487,7 @@ func TestAbandonConcurrentRun(t *testing.T) { apiRepo := createActionsTestRepo(t, user2Token, "actions-concurrency", false) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID}) - user2APICtx := NewAPITestContext(t, repo.OwnerName, repo.Name, repo.GroupID, auth_model.AccessTokenScopeWriteRepository) + user2APICtx := NewAPITestContext(t, repo.OwnerName, repo.Name, auth_model.AccessTokenScopeWriteRepository) defer doAPIDeleteRepository(user2APICtx)(t) runner := newMockRunner() @@ -1494,7 +1495,7 @@ func TestAbandonConcurrentRun(t *testing.T) { wf1TreePath := ".gitea/workflows/workflow-1.yml" wf1FileContent := `name: Workflow-1 -on: +on: push: paths: - '.gitea/workflows/workflow-1.yml' @@ -1513,7 +1514,7 @@ jobs: wf2TreePath := ".gitea/workflows/workflow-2.yml" wf2FileContent := `name: Workflow-2 -on: +on: push: paths: - '.gitea/workflows/workflow-2.yml' @@ -1527,7 +1528,7 @@ jobs: ` // push workflow1 opts1 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create %s"+wf1TreePath, wf1FileContent) - createWorkflowFile(t, user2Token, repo.OwnerName, repo.Name, repo.GroupID, wf1TreePath, opts1) + createWorkflowFile(t, user2Token, repo.OwnerName, repo.Name, wf1TreePath, opts1) // fetch wf1-job1 w1j1Task := runner.fetchTask(t) @@ -1545,7 +1546,7 @@ jobs: // push workflow2 opts2 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create %s"+wf2TreePath, wf2FileContent) - createWorkflowFile(t, user2Token, repo.OwnerName, repo.Name, repo.GroupID, wf2TreePath, opts2) + createWorkflowFile(t, user2Token, repo.OwnerName, repo.Name, wf2TreePath, opts2) // query run2 from db and check its status run2 := unittest.AssertExistsAndLoadBean(t, &actions_model.ActionRun{RepoID: repo.ID, WorkflowID: "workflow-2.yml"}) @@ -1585,7 +1586,7 @@ func TestRunAndJobWithSameConcurrencyGroup(t *testing.T) { apiRepo := createActionsTestRepo(t, token, "actions-concurrency", false) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID}) - httpContext := NewAPITestContext(t, user2.Name, repo.Name, repo.GroupID, auth_model.AccessTokenScopeWriteRepository) + httpContext := NewAPITestContext(t, user2.Name, repo.Name, auth_model.AccessTokenScopeWriteRepository) defer doAPIDeleteRepository(httpContext)(t) runner := newMockRunner() @@ -1593,7 +1594,7 @@ func TestRunAndJobWithSameConcurrencyGroup(t *testing.T) { wf1TreePath := ".gitea/workflows/concurrent-workflow-1.yml" wf1FileContent := `name: concurrent-workflow-1 -on: +on: push: paths: - '.gitea/workflows/concurrent-workflow-1.yml' @@ -1607,7 +1608,7 @@ jobs: ` wf2TreePath := ".gitea/workflows/concurrent-workflow-2.yml" wf2FileContent := `name: concurrent-workflow-2 -on: +on: push: paths: - '.gitea/workflows/concurrent-workflow-2.yml' @@ -1621,7 +1622,7 @@ jobs: ` wf3TreePath := ".gitea/workflows/concurrent-workflow-3.yml" wf3FileContent := `name: concurrent-workflow-3 -on: +on: push: paths: - '.gitea/workflows/concurrent-workflow-3.yml' @@ -1636,7 +1637,7 @@ jobs: ` // push workflow1 opts1 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create "+wf1TreePath, wf1FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf1TreePath, opts1) + createWorkflowFile(t, token, user2.Name, repo.Name, wf1TreePath, opts1) // fetch run1 task := runner.fetchTask(t) _, job1, run1 := getTaskAndJobAndRunByTaskID(t, task.Id) @@ -1645,7 +1646,7 @@ jobs: // push workflow2 opts2 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create "+wf2TreePath, wf2FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf2TreePath, opts2) + createWorkflowFile(t, token, user2.Name, repo.Name, wf2TreePath, opts2) // cannot fetch run2 because run1 is still running runner.fetchNoTask(t) run2 := unittest.AssertExistsAndLoadBean(t, &actions_model.ActionRun{RepoID: repo.ID, WorkflowID: "concurrent-workflow-2.yml"}) @@ -1664,7 +1665,7 @@ jobs: // push workflow3 opts3 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create "+wf3TreePath, wf3FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf3TreePath, opts3) + createWorkflowFile(t, token, user2.Name, repo.Name, wf3TreePath, opts3) // fetch run3 task3 := runner.fetchTask(t) _, job3, run3 := getTaskAndJobAndRunByTaskID(t, task3.Id) diff --git a/tests/integration/actions_delete_run_test.go b/tests/integration/actions_delete_run_test.go index a8647ad4de..1abcf44fd3 100644 --- a/tests/integration/actions_delete_run_test.go +++ b/tests/integration/actions_delete_run_test.go @@ -120,7 +120,7 @@ jobs: runner.registerAsRepoRunner(t, user2.Name, apiRepo.Name, "mock-runner", []string{"ubuntu-latest"}, false) opts := getWorkflowCreateFileOptions(user2, apiRepo.DefaultBranch, "create "+testCase.treePath, testCase.fileContent) - createWorkflowFile(t, token, user2.Name, apiRepo.Name, apiRepo.GroupID, testCase.treePath, opts) + createWorkflowFile(t, token, user2.Name, apiRepo.Name, testCase.treePath, opts) var runID int64 for i := 0; i < len(testCase.outcomes); i++ { diff --git a/tests/integration/actions_inputs_test.go b/tests/integration/actions_inputs_test.go index 88fd4ff696..9e29be3432 100644 --- a/tests/integration/actions_inputs_test.go +++ b/tests/integration/actions_inputs_test.go @@ -26,7 +26,7 @@ func TestWorkflowWithInputsContext(t *testing.T) { apiRepo := createActionsTestRepo(t, token, "actions-inputs-context", false) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID}) - httpContext := NewAPITestContext(t, user2.Name, repo.Name, repo.GroupID, auth_model.AccessTokenScopeWriteRepository) + httpContext := NewAPITestContext(t, user2.Name, repo.Name, auth_model.AccessTokenScopeWriteRepository) defer doAPIDeleteRepository(httpContext)(t) wRunner := newMockRunner() @@ -57,7 +57,7 @@ jobs: ` opts1 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create %s"+wf1TreePath, wf1FileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wf1TreePath, opts1) + createWorkflowFile(t, token, user2.Name, repo.Name, wf1TreePath, opts1) // run the workflow with os=windows urlStr := fmt.Sprintf("/%s/%s/actions/run?workflow=%s", user2.Name, repo.Name, "test-inputs-context.yml") diff --git a/tests/integration/actions_job_test.go b/tests/integration/actions_job_test.go index 1a4cb95f80..3da290f1d3 100644 --- a/tests/integration/actions_job_test.go +++ b/tests/integration/actions_job_test.go @@ -142,7 +142,7 @@ jobs: t.Run("test "+tc.treePath, func(t *testing.T) { // create the workflow file opts := getWorkflowCreateFileOptions(user2, apiRepo.DefaultBranch, "create "+tc.treePath, tc.fileContent) - fileResp := createWorkflowFile(t, token, user2.Name, apiRepo.Name, apiRepo.GroupID, tc.treePath, opts) + fileResp := createWorkflowFile(t, token, user2.Name, apiRepo.Name, tc.treePath, opts) // fetch and execute task for i := 0; i < len(tc.outcomes); i++ { @@ -154,8 +154,7 @@ jobs: } // check result - - req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/actions/tasks", user2.Name, maybeGroupSegment(apiRepo.GroupID), apiRepo.Name)). + req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/actions/tasks", user2.Name, apiRepo.Name)). AddTokenAuth(token) resp := MakeRequest(t, req, http.StatusOK) var actionTaskRespAfter api.ActionTaskResponse @@ -325,7 +324,7 @@ jobs: for _, tc := range testCases { t.Run("test "+tc.treePath, func(t *testing.T) { opts := getWorkflowCreateFileOptions(user2, apiRepo.DefaultBranch, "create "+tc.treePath, tc.fileContent) - createWorkflowFile(t, token, user2.Name, apiRepo.Name, apiRepo.GroupID, tc.treePath, opts) + createWorkflowFile(t, token, user2.Name, apiRepo.Name, tc.treePath, opts) for i := 0; i < len(tc.outcomes); i++ { task := runner.fetchTask(t) @@ -442,7 +441,7 @@ jobs: - run: echo %s `, workflowName, workflowName) opts := getWorkflowCreateFileOptions(user, apiRepo.DefaultBranch, "create workflow", wfContent) - createWorkflowFile(t, authToken, user.Name, apiRepo.Name, apiRepo.GroupID, wfTreePath, opts) + createWorkflowFile(t, authToken, user.Name, apiRepo.Name, wfTreePath, opts) return &runnerDisableEnableTestData{ repo: apiRepo, @@ -454,7 +453,7 @@ jobs: func triggerRunnerDisableEnableRun(t *testing.T, user *user_model.User, authToken string, repo *api.Repository, treePath string) { t.Helper() opts := getWorkflowCreateFileOptions(user, repo.DefaultBranch, "second push", "second run") - createWorkflowFile(t, authToken, user.Name, repo.Name, repo.GroupID, treePath, opts) + createWorkflowFile(t, authToken, user.Name, repo.Name, treePath, opts) } func getRepoRunnerID(t *testing.T, authToken, ownerName, repoName string) int64 { @@ -475,7 +474,7 @@ func TestActionsGiteaContext(t *testing.T) { apiBaseRepo := createActionsTestRepo(t, user2Token, "actions-gitea-context", false) baseRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiBaseRepo.ID}) - user2APICtx := NewAPITestContext(t, baseRepo.OwnerName, baseRepo.Name, baseRepo.GroupID, auth_model.AccessTokenScopeWriteRepository) + user2APICtx := NewAPITestContext(t, baseRepo.OwnerName, baseRepo.Name, auth_model.AccessTokenScopeWriteRepository) runner := newMockRunner() runner.registerAsRepoRunner(t, baseRepo.OwnerName, baseRepo.Name, "mock-runner", []string{"ubuntu-latest"}, false) @@ -491,7 +490,7 @@ jobs: - run: echo 'test the pull' ` opts := getWorkflowCreateFileOptions(user2, baseRepo.DefaultBranch, "create "+wfTreePath, wfFileContent) - createWorkflowFile(t, user2Token, baseRepo.OwnerName, baseRepo.Name, baseRepo.GroupID, wfTreePath, opts) + createWorkflowFile(t, user2Token, baseRepo.OwnerName, baseRepo.Name, wfTreePath, opts) // user2 creates a pull request doAPICreateFile(user2APICtx, "user2-patch.txt", &api.CreateFileOptions{ FileOptions: api.FileOptions{ @@ -559,7 +558,7 @@ func TestActionsGiteaContextEphemeral(t *testing.T) { apiBaseRepo := createActionsTestRepo(t, user2Token, "actions-gitea-context", false) baseRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiBaseRepo.ID}) - user2APICtx := NewAPITestContext(t, baseRepo.OwnerName, baseRepo.Name, baseRepo.GroupID, auth_model.AccessTokenScopeWriteRepository) + user2APICtx := NewAPITestContext(t, baseRepo.OwnerName, baseRepo.Name, auth_model.AccessTokenScopeWriteRepository) runner := newMockRunner() runner.registerAsRepoRunner(t, baseRepo.OwnerName, baseRepo.Name, "mock-runner", []string{"ubuntu-latest"}, true) @@ -583,7 +582,7 @@ jobs: - run: echo 'test the pull' ` opts := getWorkflowCreateFileOptions(user2, baseRepo.DefaultBranch, "create "+wfTreePath, wfFileContent) - createWorkflowFile(t, user2Token, baseRepo.OwnerName, baseRepo.Name, baseRepo.GroupID, wfTreePath, opts) + createWorkflowFile(t, user2Token, baseRepo.OwnerName, baseRepo.Name, wfTreePath, opts) // user2 creates a pull request doAPICreateFile(user2APICtx, "user2-patch.txt", &api.CreateFileOptions{ FileOptions: api.FileOptions{ @@ -735,8 +734,8 @@ func getWorkflowCreateFileOptions(u *user_model.User, branch, msg, content strin } } -func createWorkflowFile(t *testing.T, authToken, ownerName, repoName string, groupID int64, treePath string, opts *api.CreateFileOptions) *api.FileResponse { - req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", ownerName, maybeGroupSegment(groupID), repoName, treePath), opts). +func createWorkflowFile(t *testing.T, authToken, ownerName, repoName, treePath string, opts *api.CreateFileOptions) *api.FileResponse { + req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", ownerName, repoName, treePath), opts). AddTokenAuth(authToken) resp := MakeRequest(t, req, http.StatusCreated) var fileResponse api.FileResponse diff --git a/tests/integration/actions_job_token_test.go b/tests/integration/actions_job_token_test.go index d2cc87e54d..14e2bfafb1 100644 --- a/tests/integration/actions_job_token_test.go +++ b/tests/integration/actions_job_token_test.go @@ -418,7 +418,7 @@ jobs: - run: echo "test perms" ` opts := getWorkflowCreateFileOptions(user2, repo1.DefaultBranch, "create "+wfTreePath, wfFileContent) - createWorkflowFile(t, token, user2.Name, repo1.Name, repo1.GroupID, wfTreePath, opts) + createWorkflowFile(t, token, user2.Name, repo1.Name, wfTreePath, opts) task1 := runner1.fetchTask(t) task1Token := task1.Secrets["GITEA_TOKEN"] diff --git a/tests/integration/actions_log_test.go b/tests/integration/actions_log_test.go index 1465d4ae51..962d30ba60 100644 --- a/tests/integration/actions_log_test.go +++ b/tests/integration/actions_log_test.go @@ -166,7 +166,7 @@ jobs: // create the workflow file opts := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create "+tc.treePath, tc.fileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, tc.treePath, opts) + createWorkflowFile(t, token, user2.Name, repo.Name, tc.treePath, opts) // fetch and execute tasks for _, outcome := range tc.outcome { @@ -198,8 +198,7 @@ jobs: } // download task logs from API and check content - - req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/actions/jobs/%d/logs", user2.Name, maybeGroupSegment(repo.GroupID), repo.Name, job.ID)). + req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/actions/jobs/%d/logs", user2.Name, repo.Name, job.ID)). AddTokenAuth(token) resp = MakeRequest(t, req, http.StatusOK) logTextLines = strings.Split(strings.TrimSpace(resp.Body.String()), "\n") diff --git a/tests/integration/actions_rerun_test.go b/tests/integration/actions_rerun_test.go index a555e11249..09326ef0e8 100644 --- a/tests/integration/actions_rerun_test.go +++ b/tests/integration/actions_rerun_test.go @@ -25,7 +25,7 @@ func TestActionsRerun(t *testing.T) { apiRepo := createActionsTestRepo(t, token, "actions-rerun", false) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID}) - httpContext := NewAPITestContext(t, user2.Name, repo.Name, repo.GroupID, auth_model.AccessTokenScopeWriteRepository) + httpContext := NewAPITestContext(t, user2.Name, repo.Name, auth_model.AccessTokenScopeWriteRepository) defer doAPIDeleteRepository(httpContext)(t) runner := newMockRunner() @@ -33,7 +33,7 @@ func TestActionsRerun(t *testing.T) { wfTreePath := ".gitea/workflows/actions-rerun-workflow-1.yml" wfFileContent := `name: actions-rerun-workflow-1 -on: +on: push: paths: - '.gitea/workflows/actions-rerun-workflow-1.yml' @@ -50,7 +50,7 @@ jobs: ` opts := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create"+wfTreePath, wfFileContent) - createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wfTreePath, opts) + createWorkflowFile(t, token, user2.Name, repo.Name, wfTreePath, opts) // fetch and exec job1 job1Task := runner.fetchTask(t) diff --git a/tests/integration/actions_schedule_test.go b/tests/integration/actions_schedule_test.go index 6609819328..43c44ede55 100644 --- a/tests/integration/actions_schedule_test.go +++ b/tests/integration/actions_schedule_test.go @@ -88,7 +88,7 @@ jobs: assert.NoError(t, err) // merge pull request - testPullMerge(t, testContext.Session, repo.OwnerName, repo.Name, repo.GroupID, strconv.FormatInt(apiPull.Index, 10), MergeOptions{ + testPullMerge(t, testContext.Session, repo.OwnerName, repo.Name, strconv.FormatInt(apiPull.Index, 10), MergeOptions{ Style: mergeStyle, }) @@ -164,7 +164,7 @@ func testScheduleUpdateMirrorSync(t *testing.T) { assert.True(t, mirrorRepo.IsMirror) mirrorRepo, err = repo_service.MigrateRepositoryGitData(t.Context(), user, mirrorRepo, opts, nil) assert.NoError(t, err) - mirrorContext := NewAPITestContext(t, user.Name, mirrorRepo.Name, mirrorRepo.GroupID, auth_model.AccessTokenScopeWriteRepository) + mirrorContext := NewAPITestContext(t, user.Name, mirrorRepo.Name, auth_model.AccessTokenScopeWriteRepository) // enable actions unit for mirror repo assert.False(t, mirrorRepo.UnitEnabled(t.Context(), unit_model.TypeActions)) @@ -238,7 +238,7 @@ func doTestScheduleUpdate(t *testing.T, updateTrigger scheduleUpdateTrigger) { apiRepo := createActionsTestRepo(t, token, "actions-schedule", false) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID}) assert.NoError(t, repo.LoadAttributes(t.Context())) - httpContext := NewAPITestContext(t, user2.Name, repo.Name, repo.GroupID, auth_model.AccessTokenScopeWriteRepository) + httpContext := NewAPITestContext(t, user2.Name, repo.Name, auth_model.AccessTokenScopeWriteRepository) defer doAPIDeleteRepository(httpContext)(t) wfTreePath := ".gitea/workflows/actions-schedule.yml" @@ -254,7 +254,7 @@ jobs: ` opts1 := getWorkflowCreateFileOptions(user2, repo.DefaultBranch, "create "+wfTreePath, wfFileContent) - apiFileResp := createWorkflowFile(t, token, user2.Name, repo.Name, repo.GroupID, wfTreePath, opts1) + apiFileResp := createWorkflowFile(t, token, user2.Name, repo.Name, wfTreePath, opts1) actionSchedule := unittest.AssertExistsAndLoadBean(t, &actions_model.ActionSchedule{RepoID: repo.ID, CommitSHA: apiFileResp.Commit.SHA}) scheduleSpec := unittest.AssertExistsAndLoadBean(t, &actions_model.ActionScheduleSpec{RepoID: repo.ID, ScheduleID: actionSchedule.ID}) diff --git a/tests/integration/actions_trigger_test.go b/tests/integration/actions_trigger_test.go index 0919d62bfa..e63e1b26a4 100644 --- a/tests/integration/actions_trigger_test.go +++ b/tests/integration/actions_trigger_test.go @@ -61,7 +61,7 @@ func TestPullRequestTargetEvent(t *testing.T) { assert.NotEmpty(t, baseRepo) // add user4 as the collaborator - ctx := NewAPITestContext(t, baseRepo.OwnerName, baseRepo.Name, baseRepo.GroupID, auth_model.AccessTokenScopeWriteRepository) + ctx := NewAPITestContext(t, baseRepo.OwnerName, baseRepo.Name, auth_model.AccessTokenScopeWriteRepository) t.Run("AddUser4AsCollaboratorWithReadAccess", doAPIAddCollaborator(ctx, "user4", perm.AccessModeRead)) // create the forked repo @@ -487,7 +487,7 @@ func TestPullRequestCommitStatusEvent(t *testing.T) { assert.NotEmpty(t, repo) // add user4 as the collaborator - ctx := NewAPITestContext(t, repo.OwnerName, repo.Name, repo.GroupID, auth_model.AccessTokenScopeWriteRepository) + ctx := NewAPITestContext(t, repo.OwnerName, repo.Name, auth_model.AccessTokenScopeWriteRepository) t.Run("AddUser4AsCollaboratorWithReadAccess", doAPIAddCollaborator(ctx, "user4", perm.AccessModeRead)) // add the workflow file to the repo @@ -1542,7 +1542,7 @@ func TestClosePullRequestWithPath(t *testing.T) { // create the base repo apiBaseRepo := createActionsTestRepo(t, user2Token, "close-pull-request-with-path", false) baseRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiBaseRepo.ID}) - user2APICtx := NewAPITestContext(t, baseRepo.OwnerName, baseRepo.Name, baseRepo.GroupID, auth_model.AccessTokenScopeWriteRepository) + user2APICtx := NewAPITestContext(t, baseRepo.OwnerName, baseRepo.Name, auth_model.AccessTokenScopeWriteRepository) // init the workflow wfTreePath := ".gitea/workflows/pull.yml" @@ -1560,10 +1560,10 @@ jobs: - run: echo 'Hello World' ` opts1 := getWorkflowCreateFileOptions(user2, baseRepo.DefaultBranch, "create "+wfTreePath, wfFileContent) - createWorkflowFile(t, user2Token, baseRepo.OwnerName, baseRepo.Name, baseRepo.GroupID, wfTreePath, opts1) + createWorkflowFile(t, user2Token, baseRepo.OwnerName, baseRepo.Name, wfTreePath, opts1) // user4 forks the repo - req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/forks", baseRepo.OwnerName, maybeGroupSegment(baseRepo.GroupID), baseRepo.Name), + req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/forks", baseRepo.OwnerName, baseRepo.Name), &api.CreateForkOption{ Name: new("close-pull-request-with-path-fork"), }).AddTokenAuth(user4Token) @@ -1571,7 +1571,7 @@ jobs: var apiForkRepo api.Repository DecodeJSON(t, resp, &apiForkRepo) forkRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiForkRepo.ID}) - user4APICtx := NewAPITestContext(t, user4.Name, forkRepo.Name, forkRepo.GroupID, auth_model.AccessTokenScopeWriteRepository) + user4APICtx := NewAPITestContext(t, user4.Name, forkRepo.Name, auth_model.AccessTokenScopeWriteRepository) // user4 creates a pull request to add file "app/main.go" doAPICreateFile(user4APICtx, "app/main.go", &api.CreateFileOptions{ @@ -1765,13 +1765,13 @@ func TestPullRequestWithPathsRebase(t *testing.T) { repoName := "actions-pr-paths-rebase" apiRepo := createActionsTestRepo(t, token, repoName, false) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID}) - apiCtx := NewAPITestContext(t, "user2", repoName, repo.GroupID, auth_model.AccessTokenScopeWriteRepository) + apiCtx := NewAPITestContext(t, "user2", repoName, auth_model.AccessTokenScopeWriteRepository) runner := newMockRunner() runner.registerAsRepoRunner(t, "user2", repoName, "mock-runner", []string{"ubuntu-latest"}, false) // init files and dirs - testCreateFile(t, session, repo.GroupID, "user2", repoName, repo.DefaultBranch, "", "dir1/dir1.txt", "1") - testCreateFile(t, session, repo.GroupID, "user2", repoName, repo.DefaultBranch, "", "dir2/dir2.txt", "2") + testCreateFile(t, session, "user2", repoName, repo.DefaultBranch, "", "dir1/dir1.txt", "1") + testCreateFile(t, session, "user2", repoName, repo.DefaultBranch, "", "dir2/dir2.txt", "2") wfFileContent := `name: ci on: pull_request: @@ -1783,10 +1783,10 @@ jobs: steps: - run: echo 'ci' ` - testCreateFile(t, session, repo.GroupID, "user2", repoName, repo.DefaultBranch, "", ".gitea/workflows/ci.yml", wfFileContent) + testCreateFile(t, session, "user2", repoName, repo.DefaultBranch, "", ".gitea/workflows/ci.yml", wfFileContent) // create a PR to modify "dir1/dir1.txt", the workflow will be triggered - testEditFileToNewBranch(t, session, repo.GroupID, "user2", repoName, repo.DefaultBranch, "update-dir1", "dir1/dir1.txt", "11") + testEditFileToNewBranch(t, session, "user2", repoName, repo.DefaultBranch, "update-dir1", "dir1/dir1.txt", "11") _, err := doAPICreatePullRequest(apiCtx, "user2", repoName, repo.DefaultBranch, "update-dir1")(t) assert.NoError(t, err) pr1Task := runner.fetchTask(t) @@ -1794,12 +1794,12 @@ jobs: assert.Equal(t, webhook_module.HookEventPullRequest, pr1Run.Event) // create a PR to modify "dir2/dir2.txt" then update main branch and rebase, the workflow will not be triggered - testEditFileToNewBranch(t, session, repo.GroupID, "user2", repoName, repo.DefaultBranch, "update-dir2", "dir2/dir2.txt", "22") + testEditFileToNewBranch(t, session, "user2", repoName, repo.DefaultBranch, "update-dir2", "dir2/dir2.txt", "22") apiPull, err := doAPICreatePullRequest(apiCtx, "user2", repoName, repo.DefaultBranch, "update-dir2")(t) runner.fetchNoTask(t) assert.NoError(t, err) // change the file in "dir1" - testEditFile(t, session, repo.GroupID, "user2", repoName, repo.DefaultBranch, "dir1/dir1.txt", "11") + testEditFile(t, session, "user2", repoName, repo.DefaultBranch, "dir1/dir1.txt", "11") // update by rebase req := NewRequest(t, "POST", fmt.Sprintf("/%s/%s/pulls/%d/update?style=rebase", "user2", repoName, apiPull.Index)) session.MakeRequest(t, req, http.StatusSeeOther) diff --git a/tests/integration/api_branch_test.go b/tests/integration/api_branch_test.go index 2b61d0a52b..9ad6bd58e1 100644 --- a/tests/integration/api_branch_test.go +++ b/tests/integration/api_branch_test.go @@ -115,7 +115,7 @@ func TestAPICreateBranch(t *testing.T) { func testAPICreateBranches(t *testing.T, giteaURL *url.URL) { username := "user2" - ctx := NewAPITestContext(t, username, "my-noo-repo", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + ctx := NewAPITestContext(t, username, "my-noo-repo", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) giteaURL.Path = ctx.GitPath() t.Run("CreateRepo", doAPICreateRepository(ctx, false)) @@ -166,15 +166,14 @@ func testAPICreateBranches(t *testing.T, giteaURL *url.URL) { for _, test := range testCases { session := ctx.Session t.Run(test.NewBranch, func(t *testing.T) { - testAPICreateBranch(t, session, 0, "user2", "my-noo-repo", test.OldBranch, test.NewBranch, test.ExpectedHTTPStatus) + testAPICreateBranch(t, session, "user2", "my-noo-repo", test.OldBranch, test.NewBranch, test.ExpectedHTTPStatus) }) } } -func testAPICreateBranch(t testing.TB, session *TestSession, groupID int64, user, repo, oldBranch, newBranch string, status int) bool { +func testAPICreateBranch(t testing.TB, session *TestSession, user, repo, oldBranch, newBranch string, status int) bool { token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) - - req := NewRequestWithJSON(t, "POST", "/api/v1/repos/"+user+"/"+maybeGroupSegment(groupID)+repo+"/branches", &api.CreateBranchRepoOption{ + req := NewRequestWithJSON(t, "POST", "/api/v1/repos/"+user+"/"+repo+"/branches", &api.CreateBranchRepoOption{ BranchName: newBranch, OldBranchName: oldBranch, }).AddTokenAuth(token) @@ -421,10 +420,10 @@ func TestAPICreateBranchWithSyncBranches(t *testing.T) { assert.NoError(t, err) onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { - ctx := NewAPITestContext(t, "user2", "repo1", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + ctx := NewAPITestContext(t, "user2", "repo1", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) giteaURL.Path = ctx.GitPath() - testAPICreateBranch(t, ctx.Session, 0, "user2", "repo1", "", "new_branch", http.StatusCreated) + testAPICreateBranch(t, ctx.Session, "user2", "repo1", "", "new_branch", http.StatusCreated) }) branches, err = db.Find[git_model.Branch](t.Context(), git_model.FindBranchOptions{ diff --git a/tests/integration/api_comment_attachment_test.go b/tests/integration/api_comment_attachment_test.go index 826b970df6..ae90331962 100644 --- a/tests/integration/api_comment_attachment_test.go +++ b/tests/integration/api_comment_attachment_test.go @@ -36,17 +36,17 @@ func TestAPIGetCommentAttachment(t *testing.T) { repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 4}) repoOwner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) token := getUserToken(t, repoOwner.Name, auth_model.AccessTokenScopeWriteIssue) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/issues/comments/%d/assets/%d", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, comment.ID, attachment.ID). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/issues/comments/%d/assets/%d", repoOwner.Name, repo.Name, comment.ID, attachment.ID). AddTokenAuth(token) MakeRequest(t, req, http.StatusNotFound) }) session := loginUser(t, repoOwner.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeReadIssue) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/issues/comments/%d/assets/%d", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, comment.ID, attachment.ID). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/issues/comments/%d/assets/%d", repoOwner.Name, repo.Name, comment.ID, attachment.ID). AddTokenAuth(token) session.MakeRequest(t, req, http.StatusOK) - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/issues/comments/%d/assets/%d", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, comment.ID, attachment.ID). + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/issues/comments/%d/assets/%d", repoOwner.Name, repo.Name, comment.ID, attachment.ID). AddTokenAuth(token) resp := session.MakeRequest(t, req, http.StatusOK) @@ -71,7 +71,7 @@ func TestAPIListCommentAttachments(t *testing.T) { session := loginUser(t, repoOwner.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeReadIssue) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/issues/comments/%d/assets", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, comment.ID). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/issues/comments/%d/assets", repoOwner.Name, repo.Name, comment.ID). AddTokenAuth(token) resp := session.MakeRequest(t, req, http.StatusOK) @@ -105,7 +105,7 @@ func TestAPICreateCommentAttachment(t *testing.T) { err = writer.Close() assert.NoError(t, err) - req := NewRequestWithBody(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/comments/%d/assets", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, comment.ID), body). + req := NewRequestWithBody(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/issues/comments/%d/assets", repoOwner.Name, repo.Name, comment.ID), body). AddTokenAuth(token). SetHeader("Content-Type", writer.FormDataContentType()) resp := session.MakeRequest(t, req, http.StatusCreated) @@ -137,7 +137,7 @@ func TestAPICreateCommentAttachmentWithUnallowedFile(t *testing.T) { err = writer.Close() assert.NoError(t, err) - req := NewRequestWithBody(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/comments/%d/assets", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, comment.ID), body). + req := NewRequestWithBody(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/issues/comments/%d/assets", repoOwner.Name, repo.Name, comment.ID), body). AddTokenAuth(token). SetHeader("Content-Type", writer.FormDataContentType()) @@ -202,7 +202,7 @@ func TestAPIDeleteCommentAttachment(t *testing.T) { session := loginUser(t, repoOwner.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteIssue) - req := NewRequest(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/comments/%d/assets/%d", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, comment.ID, attachment.ID)). + req := NewRequest(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s/issues/comments/%d/assets/%d", repoOwner.Name, repo.Name, comment.ID, attachment.ID)). AddTokenAuth(token) session.MakeRequest(t, req, http.StatusNoContent) diff --git a/tests/integration/api_comment_test.go b/tests/integration/api_comment_test.go index d0249d6884..c7f9c85f7c 100644 --- a/tests/integration/api_comment_test.go +++ b/tests/integration/api_comment_test.go @@ -30,7 +30,7 @@ func TestAPIListRepoComments(t *testing.T) { repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: issue.RepoID}) repoOwner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) - link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/comments", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name)) + link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/issues/comments", repoOwner.Name, repo.Name)) req := NewRequest(t, "GET", link.String()) resp := MakeRequest(t, req, http.StatusOK) @@ -76,7 +76,7 @@ func TestAPIListIssueComments(t *testing.T) { repoOwner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) token := getUserToken(t, repoOwner.Name, auth_model.AccessTokenScopeReadIssue) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/issues/%d/comments", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, issue.Index). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/issues/%d/comments", repoOwner.Name, repo.Name, issue.Index). AddTokenAuth(token) resp := MakeRequest(t, req, http.StatusOK) @@ -115,7 +115,7 @@ func TestAPICreateComment(t *testing.T) { issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 1}) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: issue.RepoID}) - req := NewRequestWithValues(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d/comments", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, issue.Index), map[string]string{ + req := NewRequestWithValues(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/comments", repo.OwnerName, repo.Name, issue.Index), map[string]string{ "body": commentBody, }).AddTokenAuth(getUserToken(t, user34.Name, auth_model.AccessTokenScopeWriteRepository)) MakeRequest(t, req, http.StatusForbidden) @@ -128,7 +128,7 @@ func TestAPICreateComment(t *testing.T) { issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 13}) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: issue.RepoID}) - req := NewRequestWithValues(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d/comments", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, issue.Index), map[string]string{ + req := NewRequestWithValues(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/comments", repo.OwnerName, repo.Name, issue.Index), map[string]string{ "body": commentBody, }).AddTokenAuth(getUserToken(t, user34.Name, auth_model.AccessTokenScopeWriteRepository)) MakeRequest(t, req, http.StatusForbidden) @@ -144,9 +144,9 @@ func TestAPIGetComment(t *testing.T) { repoOwner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) token := getUserToken(t, repoOwner.Name, auth_model.AccessTokenScopeReadIssue) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/issues/comments/%d", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, comment.ID) + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/issues/comments/%d", repoOwner.Name, repo.Name, comment.ID) MakeRequest(t, req, http.StatusOK) - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/issues/comments/%d", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, comment.ID). + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/issues/comments/%d", repoOwner.Name, repo.Name, comment.ID). AddTokenAuth(token) resp := MakeRequest(t, req, http.StatusOK) @@ -183,7 +183,7 @@ func TestAPIGetSystemUserComment(t *testing.T) { }) assert.NoError(t, err) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/issues/comments/%d", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, comment.ID) + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/issues/comments/%d", repoOwner.Name, repo.Name, comment.ID) resp := MakeRequest(t, req, http.StatusOK) var apiComment api.Comment @@ -251,13 +251,13 @@ func TestAPIDeleteComment(t *testing.T) { repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 4}) repoOwner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) token := getUserToken(t, repoOwner.Name, auth_model.AccessTokenScopeWriteIssue) - req := NewRequestf(t, "DELETE", "/api/v1/repos/%s/%s%s/issues/comments/%d", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, comment.ID). + req := NewRequestf(t, "DELETE", "/api/v1/repos/%s/%s/issues/comments/%d", repoOwner.Name, repo.Name, comment.ID). AddTokenAuth(token) MakeRequest(t, req, http.StatusNotFound) }) token := getUserToken(t, repoOwner.Name, auth_model.AccessTokenScopeWriteIssue) - req := NewRequestf(t, "DELETE", "/api/v1/repos/%s/%s%s/issues/comments/%d", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, comment.ID). + req := NewRequestf(t, "DELETE", "/api/v1/repos/%s/%s/issues/comments/%d", repoOwner.Name, repo.Name, comment.ID). AddTokenAuth(token) MakeRequest(t, req, http.StatusNoContent) @@ -273,7 +273,7 @@ func TestAPIListIssueTimeline(t *testing.T) { repoOwner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) // make request - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/issues/%d/timeline", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, issue.Index) + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/issues/%d/timeline", repoOwner.Name, repo.Name, issue.Index) resp := MakeRequest(t, req, http.StatusOK) // check if lens of list returned by API and diff --git a/tests/integration/api_helper_for_declarative_test.go b/tests/integration/api_helper_for_declarative_test.go index c6266470eb..b30cdfd0fc 100644 --- a/tests/integration/api_helper_for_declarative_test.go +++ b/tests/integration/api_helper_for_declarative_test.go @@ -29,10 +29,9 @@ type APITestContext struct { Token string Username string ExpectedCode int - GroupID int64 } -func NewAPITestContext(t *testing.T, username, reponame string, groupID int64, scope ...auth.AccessTokenScope) APITestContext { +func NewAPITestContext(t *testing.T, username, reponame string, scope ...auth.AccessTokenScope) APITestContext { session := loginUser(t, username) if len(scope) == 0 { // FIXME: legacy logic: no scope means all @@ -42,7 +41,6 @@ func NewAPITestContext(t *testing.T, username, reponame string, groupID int64, s return APITestContext{ Session: session, Token: token, - GroupID: groupID, Username: username, Reponame: reponame, } @@ -62,7 +60,6 @@ func doAPICreateRepository(ctx APITestContext, empty bool, callback ...func(*tes Template: true, Gitignores: "", License: "WTFPL", - GroupID: ctx.GroupID, Readme: "Default", } req := NewRequestWithJSON(t, "POST", "/api/v1/user/repos", createRepoOption). diff --git a/tests/integration/api_issue_attachment_test.go b/tests/integration/api_issue_attachment_test.go index 8b2eb30c8b..12acaeae5d 100644 --- a/tests/integration/api_issue_attachment_test.go +++ b/tests/integration/api_issue_attachment_test.go @@ -32,7 +32,7 @@ func TestAPIGetIssueAttachment(t *testing.T) { session := loginUser(t, repoOwner.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeReadIssue) - req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d/assets/%d", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, issue.Index, attachment.ID)). + req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/assets/%d", repoOwner.Name, repo.Name, issue.Index, attachment.ID)). AddTokenAuth(token) resp := session.MakeRequest(t, req, http.StatusOK) apiAttachment := new(api.Attachment) @@ -52,7 +52,7 @@ func TestAPIListIssueAttachments(t *testing.T) { session := loginUser(t, repoOwner.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeReadIssue) - req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d/assets", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, issue.Index)). + req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/assets", repoOwner.Name, repo.Name, issue.Index)). AddTokenAuth(token) resp := session.MakeRequest(t, req, http.StatusOK) apiAttachment := new([]api.Attachment) @@ -82,7 +82,7 @@ func TestAPICreateIssueAttachment(t *testing.T) { err = writer.Close() assert.NoError(t, err) - req := NewRequestWithBody(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d/assets", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, issue.Index), body). + req := NewRequestWithBody(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/assets", repoOwner.Name, repo.Name, issue.Index), body). AddTokenAuth(token) req.Header.Add("Content-Type", writer.FormDataContentType()) resp := session.MakeRequest(t, req, http.StatusCreated) @@ -113,7 +113,7 @@ func TestAPICreateIssueAttachmentWithUnallowedFile(t *testing.T) { err = writer.Close() assert.NoError(t, err) - req := NewRequestWithBody(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d/assets", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, issue.Index), body). + req := NewRequestWithBody(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/assets", repoOwner.Name, repo.Name, issue.Index), body). AddTokenAuth(token) req.Header.Add("Content-Type", writer.FormDataContentType()) @@ -156,7 +156,7 @@ func TestAPIEditIssueAttachmentWithUnallowedFile(t *testing.T) { token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteIssue) filename := "file.bad" - urlStr := fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d/assets/%d", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, issue.Index, attachment.ID) + urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/assets/%d", repoOwner.Name, repo.Name, issue.Index, attachment.ID) req := NewRequestWithValues(t, "PATCH", urlStr, map[string]string{ "name": filename, }).AddTokenAuth(token) @@ -175,7 +175,7 @@ func TestAPIDeleteIssueAttachment(t *testing.T) { session := loginUser(t, repoOwner.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteIssue) - req := NewRequest(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d/assets/%d", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, issue.Index, attachment.ID)). + req := NewRequest(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/assets/%d", repoOwner.Name, repo.Name, issue.Index, attachment.ID)). AddTokenAuth(token) session.MakeRequest(t, req, http.StatusNoContent) diff --git a/tests/integration/api_issue_config_test.go b/tests/integration/api_issue_config_test.go index db3d7f821e..f6045e1a80 100644 --- a/tests/integration/api_issue_config_test.go +++ b/tests/integration/api_issue_config_test.go @@ -150,7 +150,7 @@ func TestAPIRepoValidateIssueConfig(t *testing.T) { repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 49}) owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) - urlStr := fmt.Sprintf("/api/v1/repos/%s/%s%s/issue_config/validate", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name) + urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issue_config/validate", owner.Name, repo.Name) t.Run("Valid", func(t *testing.T) { req := NewRequest(t, "GET", urlStr) diff --git a/tests/integration/api_issue_dependency_test.go b/tests/integration/api_issue_dependency_test.go index e537fc1bdb..fc2615be42 100644 --- a/tests/integration/api_issue_dependency_test.go +++ b/tests/integration/api_issue_dependency_test.go @@ -50,10 +50,9 @@ func TestAPICreateIssueDependencyCrossRepoPermission(t *testing.T) { url := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/dependencies", "user2", "repo1", targetIssue.Index) dependencyMeta := &api.IssueMeta{ - Owner: "org3", - Name: "repo3", - GroupID: 129, - Index: dependencyIssue.Index, + Owner: "org3", + Name: "repo3", + Index: dependencyIssue.Index, } user40 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 40}) @@ -112,10 +111,9 @@ func TestAPIDeleteIssueDependencyCrossRepoPermission(t *testing.T) { url := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/dependencies", "user2", "repo1", targetIssue.Index) dependencyMeta := &api.IssueMeta{ - Owner: "org3", - Name: "repo3", - GroupID: 129, - Index: dependencyIssue.Index, + Owner: "org3", + Name: "repo3", + Index: dependencyIssue.Index, } user40 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 40}) diff --git a/tests/integration/api_issue_label_test.go b/tests/integration/api_issue_label_test.go index 1b15ba794c..4324fd37d9 100644 --- a/tests/integration/api_issue_label_test.go +++ b/tests/integration/api_issue_label_test.go @@ -26,7 +26,7 @@ func TestAPIModifyLabels(t *testing.T) { owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) session := loginUser(t, owner.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteIssue) - urlStr := fmt.Sprintf("/api/v1/repos/%s/%s%s/labels", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name) + urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/labels", owner.Name, repo.Name) // CreateLabel req := NewRequestWithJSON(t, "POST", urlStr, &api.CreateLabelOption{ @@ -62,7 +62,7 @@ func TestAPIModifyLabels(t *testing.T) { assert.Len(t, apiLabels, 2) // GetLabel - singleURLStr := fmt.Sprintf("/api/v1/repos/%s/%s%s/labels/%d", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name, dbLabel.ID) + singleURLStr := fmt.Sprintf("/api/v1/repos/%s/%s/labels/%d", owner.Name, repo.Name, dbLabel.ID) req = NewRequest(t, "GET", singleURLStr). AddTokenAuth(token) resp = MakeRequest(t, req, http.StatusOK) @@ -127,7 +127,7 @@ func TestAPIAddIssueLabelsWithLabelNames(t *testing.T) { token := getTokenForLoggedInUser(t, user1Session, auth_model.AccessTokenScopeWriteIssue) // add the org label and the repo label to the issue - urlStr := fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d/labels", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name, issue.Index) + urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/labels", owner.Name, repo.Name, issue.Index) req := NewRequestWithJSON(t, "POST", urlStr, &api.IssueLabelsOption{ Labels: []any{repoLabel.Name, orgLabel.Name}, }).AddTokenAuth(token) diff --git a/tests/integration/api_issue_lock_test.go b/tests/integration/api_issue_lock_test.go index 724b73d2f3..47b1f2cf0d 100644 --- a/tests/integration/api_issue_lock_test.go +++ b/tests/integration/api_issue_lock_test.go @@ -27,7 +27,7 @@ func TestAPILockIssue(t *testing.T) { assert.False(t, issueBefore.IsLocked) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: issueBefore.RepoID}) owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) - urlStr := fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d/lock", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name, issueBefore.Index) + urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/lock", owner.Name, repo.Name, issueBefore.Index) session := loginUser(t, owner.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteIssue) @@ -50,7 +50,7 @@ func TestAPILockIssue(t *testing.T) { issueBefore := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 1}) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: issueBefore.RepoID}) owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) - urlStr := fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d/lock", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name, issueBefore.Index) + urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/lock", owner.Name, repo.Name, issueBefore.Index) session := loginUser(t, owner.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteIssue) diff --git a/tests/integration/api_issue_milestone_test.go b/tests/integration/api_issue_milestone_test.go index ad798b9298..1196c8d358 100644 --- a/tests/integration/api_issue_milestone_test.go +++ b/tests/integration/api_issue_milestone_test.go @@ -34,7 +34,7 @@ func TestAPIIssuesMilestone(t *testing.T) { // update values of issue milestoneState := "closed" - urlStr := fmt.Sprintf("/api/v1/repos/%s/%s%s/milestones/%d", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name, milestone.ID) + urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/milestones/%d", owner.Name, repo.Name, milestone.ID) req := NewRequestWithJSON(t, "PATCH", urlStr, structs.EditMilestoneOption{ State: &milestoneState, }).AddTokenAuth(token) @@ -50,7 +50,7 @@ func TestAPIIssuesMilestone(t *testing.T) { DecodeJSON(t, resp, &apiMilestone2) assert.EqualValues(t, "closed", apiMilestone2.State) - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/milestones", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name), structs.CreateMilestoneOption{ + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/milestones", owner.Name, repo.Name), structs.CreateMilestoneOption{ Title: "wow", Description: "closed one", State: "closed", @@ -62,27 +62,27 @@ func TestAPIIssuesMilestone(t *testing.T) { assert.Nil(t, apiMilestone.Deadline) var apiMilestones []structs.Milestone - req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/milestones?state=%s", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name, "all")). + req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/milestones?state=%s", owner.Name, repo.Name, "all")). AddTokenAuth(token) resp = MakeRequest(t, req, http.StatusOK) DecodeJSON(t, resp, &apiMilestones) assert.Len(t, apiMilestones, 4) assert.Nil(t, apiMilestones[0].Deadline) - req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/milestones/%s", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name, apiMilestones[2].Title)). + req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/milestones/%s", owner.Name, repo.Name, apiMilestones[2].Title)). AddTokenAuth(token) resp = MakeRequest(t, req, http.StatusOK) DecodeJSON(t, resp, &apiMilestone) assert.Equal(t, apiMilestones[2], apiMilestone) - req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/milestones?state=%s&name=%s", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name, "all", "milestone2")). + req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/milestones?state=%s&name=%s", owner.Name, repo.Name, "all", "milestone2")). AddTokenAuth(token) resp = MakeRequest(t, req, http.StatusOK) DecodeJSON(t, resp, &apiMilestones) assert.Len(t, apiMilestones, 1) assert.Equal(t, int64(2), apiMilestones[0].ID) - req = NewRequest(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s%s/milestones/%d", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name, apiMilestone.ID)). + req = NewRequest(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s/milestones/%d", owner.Name, repo.Name, apiMilestone.ID)). AddTokenAuth(token) MakeRequest(t, req, http.StatusNoContent) } diff --git a/tests/integration/api_issue_pin_test.go b/tests/integration/api_issue_pin_test.go index b25e6f9557..c1bfa5aa0e 100644 --- a/tests/integration/api_issue_pin_test.go +++ b/tests/integration/api_issue_pin_test.go @@ -32,12 +32,12 @@ func TestAPIPinIssue(t *testing.T) { token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteIssue) // Pin the Issue - req := NewRequest(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d/pin", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, issue.Index)). + req := NewRequest(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/pin", repo.OwnerName, repo.Name, issue.Index)). AddTokenAuth(token) MakeRequest(t, req, http.StatusNoContent) // Check if the Issue is pinned - req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, issue.Index)) + req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d", repo.OwnerName, repo.Name, issue.Index)) resp := MakeRequest(t, req, http.StatusOK) var issueAPI api.Issue DecodeJSON(t, resp, &issueAPI) @@ -57,24 +57,24 @@ func TestAPIUnpinIssue(t *testing.T) { token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteIssue) // Pin the Issue - req := NewRequest(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d/pin", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, issue.Index)). + req := NewRequest(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/pin", repo.OwnerName, repo.Name, issue.Index)). AddTokenAuth(token) MakeRequest(t, req, http.StatusNoContent) // Check if the Issue is pinned - req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, issue.Index)) + req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d", repo.OwnerName, repo.Name, issue.Index)) resp := MakeRequest(t, req, http.StatusOK) var issueAPI api.Issue DecodeJSON(t, resp, &issueAPI) assert.Equal(t, 1, issueAPI.PinOrder) // Unpin the Issue - req = NewRequest(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d/pin", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, issue.Index)). + req = NewRequest(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/pin", repo.OwnerName, repo.Name, issue.Index)). AddTokenAuth(token) MakeRequest(t, req, http.StatusNoContent) // Check if the Issue is no longer pinned - req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, issue.Index)) + req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d", repo.OwnerName, repo.Name, issue.Index)) resp = MakeRequest(t, req, http.StatusOK) DecodeJSON(t, resp, &issueAPI) assert.Equal(t, 0, issueAPI.PinOrder) @@ -94,36 +94,36 @@ func TestAPIMoveIssuePin(t *testing.T) { token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteIssue) // Pin the first Issue - req := NewRequest(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d/pin", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, issue.Index)). + req := NewRequest(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/pin", repo.OwnerName, repo.Name, issue.Index)). AddTokenAuth(token) MakeRequest(t, req, http.StatusNoContent) // Check if the first Issue is pinned at position 1 - req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, issue.Index)) + req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d", repo.OwnerName, repo.Name, issue.Index)) resp := MakeRequest(t, req, http.StatusOK) var issueAPI api.Issue DecodeJSON(t, resp, &issueAPI) assert.Equal(t, 1, issueAPI.PinOrder) // Pin the second Issue - req = NewRequest(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d/pin", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, issue2.Index)). + req = NewRequest(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/pin", repo.OwnerName, repo.Name, issue2.Index)). AddTokenAuth(token) MakeRequest(t, req, http.StatusNoContent) // Move the first Issue to position 2 - req = NewRequest(t, "PATCH", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d/pin/2", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, issue.Index)). + req = NewRequest(t, "PATCH", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/pin/2", repo.OwnerName, repo.Name, issue.Index)). AddTokenAuth(token) MakeRequest(t, req, http.StatusNoContent) // Check if the first Issue is pinned at position 2 - req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, issue.Index)) + req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d", repo.OwnerName, repo.Name, issue.Index)) resp = MakeRequest(t, req, http.StatusOK) var issueAPI3 api.Issue DecodeJSON(t, resp, &issueAPI3) assert.Equal(t, 2, issueAPI3.PinOrder) // Check if the second Issue is pinned at position 1 - req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, issue2.Index)) + req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d", repo.OwnerName, repo.Name, issue2.Index)) resp = MakeRequest(t, req, http.StatusOK) var issueAPI4 api.Issue DecodeJSON(t, resp, &issueAPI4) @@ -143,12 +143,12 @@ func TestAPIListPinnedIssues(t *testing.T) { token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteIssue) // Pin the Issue - req := NewRequest(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d/pin", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, issue.Index)). + req := NewRequest(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/pin", repo.OwnerName, repo.Name, issue.Index)). AddTokenAuth(token) MakeRequest(t, req, http.StatusNoContent) // Check if the Issue is in the List - req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/pinned", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name)) + req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/issues/pinned", repo.OwnerName, repo.Name)) resp := MakeRequest(t, req, http.StatusOK) var issueList []api.Issue DecodeJSON(t, resp, &issueList) @@ -164,7 +164,7 @@ func TestAPIListPinnedPullrequests(t *testing.T) { repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}) - req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/pinned", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name)) + req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/pulls/pinned", repo.OwnerName, repo.Name)) resp := MakeRequest(t, req, http.StatusOK) var prList []api.PullRequest DecodeJSON(t, resp, &prList) @@ -178,7 +178,7 @@ func TestAPINewPinAllowed(t *testing.T) { repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}) owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) - req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/new_pin_allowed", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name)) + req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/new_pin_allowed", owner.Name, repo.Name)) resp := MakeRequest(t, req, http.StatusOK) var newPinsAllowed api.NewIssuePinsAllowed diff --git a/tests/integration/api_issue_reaction_test.go b/tests/integration/api_issue_reaction_test.go index 3b94ef367a..d099e72edb 100644 --- a/tests/integration/api_issue_reaction_test.go +++ b/tests/integration/api_issue_reaction_test.go @@ -118,7 +118,7 @@ func TestAPICommentReactions(t *testing.T) { repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 4}) repoOwner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) token := getUserToken(t, repoOwner.Name, auth_model.AccessTokenScopeWriteIssue) - urlStr := fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/comments/%d/reactions", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, comment.ID) + urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/comments/%d/reactions", repoOwner.Name, repo.Name, comment.ID) req = NewRequestWithJSON(t, "POST", urlStr, &api.EditReactionOption{ Reaction: "+1", }).AddTokenAuth(token) diff --git a/tests/integration/api_issue_subscription_test.go b/tests/integration/api_issue_subscription_test.go index 0980a80643..3862a13894 100644 --- a/tests/integration/api_issue_subscription_test.go +++ b/tests/integration/api_issue_subscription_test.go @@ -36,7 +36,7 @@ func TestAPIIssueSubscriptions(t *testing.T) { testSubscription := func(issue *issues_model.Issue, isWatching bool) { issueRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: issue.RepoID}) - req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d/subscriptions/check", issueRepo.OwnerName, maybeGroupSegment(issueRepo.GroupID), issueRepo.Name, issue.Index)). + req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/subscriptions/check", issueRepo.OwnerName, issueRepo.Name, issue.Index)). AddTokenAuth(token) resp := MakeRequest(t, req, http.StatusOK) wi := new(api.WatchInfo) @@ -56,7 +56,7 @@ func TestAPIIssueSubscriptions(t *testing.T) { testSubscription(issue5, false) issue1Repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: issue1.RepoID}) - urlStr := fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d/subscriptions/%s", issue1Repo.OwnerName, maybeGroupSegment(issue1Repo.GroupID), issue1Repo.Name, issue1.Index, owner.Name) + urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/subscriptions/%s", issue1Repo.OwnerName, issue1Repo.Name, issue1.Index, owner.Name) req := NewRequest(t, "DELETE", urlStr). AddTokenAuth(token) MakeRequest(t, req, http.StatusCreated) @@ -68,7 +68,7 @@ func TestAPIIssueSubscriptions(t *testing.T) { testSubscription(issue1, false) issue5Repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: issue5.RepoID}) - urlStr = fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d/subscriptions/%s", issue5Repo.OwnerName, maybeGroupSegment(issue5Repo.GroupID), issue5Repo.Name, issue5.Index, owner.Name) + urlStr = fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/subscriptions/%s", issue5Repo.OwnerName, issue5Repo.Name, issue5.Index, owner.Name) req = NewRequest(t, "PUT", urlStr). AddTokenAuth(token) MakeRequest(t, req, http.StatusCreated) diff --git a/tests/integration/api_issue_test.go b/tests/integration/api_issue_test.go index 163da0a9e1..8dc9e31cfa 100644 --- a/tests/integration/api_issue_test.go +++ b/tests/integration/api_issue_test.go @@ -43,7 +43,7 @@ func testAPIListIssues(t *testing.T) { session := loginUser(t, owner.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeReadIssue) - link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s%s/issues", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name)) + link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/issues", owner.Name, repo.Name)) link.RawQuery = url.Values{"token": {token}, "state": {"all"}}.Encode() resp := MakeRequest(t, NewRequest(t, "GET", link.String()), http.StatusOK) @@ -91,7 +91,7 @@ func testAPIListIssuesPublicOnly(t *testing.T) { session := loginUser(t, owner1.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeReadIssue) - link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s%s/issues", owner1.Name, maybeGroupSegment(repo1.GroupID), repo1.Name)) + link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/issues", owner1.Name, repo1.Name)) link.RawQuery = url.Values{"state": {"all"}}.Encode() req := NewRequest(t, "GET", link.String()).AddTokenAuth(token) MakeRequest(t, req, http.StatusOK) @@ -101,7 +101,7 @@ func testAPIListIssuesPublicOnly(t *testing.T) { session = loginUser(t, owner2.Name) token = getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeReadIssue) - link, _ = url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s%s/issues", owner2.Name, maybeGroupSegment(repo2.GroupID), repo2.Name)) + link, _ = url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/issues", owner2.Name, repo2.Name)) link.RawQuery = url.Values{"state": {"all"}}.Encode() req = NewRequest(t, "GET", link.String()).AddTokenAuth(token) MakeRequest(t, req, http.StatusOK) @@ -119,7 +119,7 @@ func testAPICreateIssue(t *testing.T) { session := loginUser(t, owner.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteIssue) - urlStr := fmt.Sprintf("/api/v1/repos/%s/%s%s/issues", owner.Name, maybeGroupSegment(repoBefore.GroupID), repoBefore.Name) + urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues", owner.Name, repoBefore.Name) req := NewRequestWithJSON(t, "POST", urlStr, &api.CreateIssueOption{ Body: body, Title: title, @@ -168,7 +168,7 @@ func testAPICreateIssueParallel(t *testing.T) { session := loginUser(t, owner.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteIssue) - urlStr := fmt.Sprintf("/api/v1/repos/%s/%s%s/issues", owner.Name, maybeGroupSegment(repoBefore.GroupID), repoBefore.Name) + urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues", owner.Name, repoBefore.Name) var wg sync.WaitGroup for i := range 10 { @@ -220,7 +220,7 @@ func testAPIEditIssue(t *testing.T) { body := "new content!" title := "new title from api set" - urlStr := fmt.Sprintf("/api/v1/repos/%s/%s%s/issues/%d", owner.Name, maybeGroupSegment(repoBefore.GroupID), repoBefore.Name, issueBefore.Index) + urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d", owner.Name, repoBefore.Name, issueBefore.Index) req := NewRequestWithJSON(t, "PATCH", urlStr, api.EditIssueOption{ State: &issueState, RemoveDeadline: &removeDeadline, diff --git a/tests/integration/api_keys_test.go b/tests/integration/api_keys_test.go index 12c4080822..3162051acc 100644 --- a/tests/integration/api_keys_test.go +++ b/tests/integration/api_keys_test.go @@ -55,7 +55,7 @@ func TestCreateReadOnlyDeployKey(t *testing.T) { session := loginUser(t, repoOwner.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) - keysURL := fmt.Sprintf("/api/v1/repos/%s/%s%s/keys", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name) + keysURL := fmt.Sprintf("/api/v1/repos/%s/%s/keys", repoOwner.Name, repo.Name) rawKeyBody := api.CreateKeyOption{ Title: "read-only", Key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC4cn+iXnA4KvcQYSV88vGn0Yi91vG47t1P7okprVmhNTkipNRIHWr6WdCO4VDr/cvsRkuVJAsLO2enwjGWWueOO6BodiBgyAOZ/5t5nJNMCNuLGT5UIo/RI1b0WRQwxEZTRjt6mFNw6lH14wRd8ulsr9toSWBPMOGWoYs1PDeDL0JuTjL+tr1SZi/EyxCngpYszKdXllJEHyI79KQgeD0Vt3pTrkbNVTOEcCNqZePSVmUH8X8Vhugz3bnE0/iE9Pb5fkWO9c4AnM1FgI/8Bvp27Fw2ShryIXuR6kKvUqhVMTuOSDHwu6A8jLE5Owt3GAYugDpDYuwTVNGrHLXKpPzrGGPE/jPmaLCMZcsdkec95dYeU3zKODEm8UQZFhmJmDeWVJ36nGrGZHL4J5aTTaeFUJmmXDaJYiJ+K2/ioKgXqnXvltu0A9R8/LGy4nrTJRr4JMLuJFoUXvGm1gXQ70w2LSpk6yl71RNC0hCtsBe8BP8IhYCM0EP5jh7eCMQZNvM= nocomment\n", @@ -76,7 +76,7 @@ func TestCreateReadOnlyDeployKey(t *testing.T) { // Using the ID of a key that does not belong to the repository must fail { - req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/keys/%d", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, newDeployKey.ID)). + req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/keys/%d", repoOwner.Name, repo.Name, newDeployKey.ID)). AddTokenAuth(token) MakeRequest(t, req, http.StatusOK) @@ -95,7 +95,7 @@ func TestCreateReadWriteDeployKey(t *testing.T) { session := loginUser(t, repoOwner.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) - keysURL := fmt.Sprintf("/api/v1/repos/%s/%s%s/keys", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name) + keysURL := fmt.Sprintf("/api/v1/repos/%s/%s/keys", repoOwner.Name, repo.Name) rawKeyBody := api.CreateKeyOption{ Title: "read-write", Key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC4cn+iXnA4KvcQYSV88vGn0Yi91vG47t1P7okprVmhNTkipNRIHWr6WdCO4VDr/cvsRkuVJAsLO2enwjGWWueOO6BodiBgyAOZ/5t5nJNMCNuLGT5UIo/RI1b0WRQwxEZTRjt6mFNw6lH14wRd8ulsr9toSWBPMOGWoYs1PDeDL0JuTjL+tr1SZi/EyxCngpYszKdXllJEHyI79KQgeD0Vt3pTrkbNVTOEcCNqZePSVmUH8X8Vhugz3bnE0/iE9Pb5fkWO9c4AnM1FgI/8Bvp27Fw2ShryIXuR6kKvUqhVMTuOSDHwu6A8jLE5Owt3GAYugDpDYuwTVNGrHLXKpPzrGGPE/jPmaLCMZcsdkec95dYeU3zKODEm8UQZFhmJmDeWVJ36nGrGZHL4J5aTTaeFUJmmXDaJYiJ+K2/ioKgXqnXvltu0A9R8/LGy4nrTJRr4JMLuJFoUXvGm1gXQ70w2LSpk6yl71RNC0hCtsBe8BP8IhYCM0EP5jh7eCMQZNvM= nocomment\n", diff --git a/tests/integration/api_notification_test.go b/tests/integration/api_notification_test.go index 398cd7c417..0c17ece55d 100644 --- a/tests/integration/api_notification_test.go +++ b/tests/integration/api_notification_test.go @@ -63,7 +63,7 @@ func TestAPINotification(t *testing.T) { assert.False(t, apiNL[2].Pinned) // -- GET /repos/{owner}/{repo}/notifications -- - req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/notifications?status-types=unread", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name)). + req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/notifications?status-types=unread", user2.Name, repo1.Name)). AddTokenAuth(token) resp = MakeRequest(t, req, http.StatusOK) DecodeJSON(t, resp, &apiNL) @@ -72,7 +72,7 @@ func TestAPINotification(t *testing.T) { assert.EqualValues(t, 4, apiNL[0].ID) // -- GET /repos/{owner}/{repo}/notifications -- multiple status-types - req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/notifications?status-types=unread&status-types=pinned", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name)). + req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/notifications?status-types=unread&status-types=pinned", user2.Name, repo1.Name)). AddTokenAuth(token) resp = MakeRequest(t, req, http.StatusOK) DecodeJSON(t, resp, &apiNL) @@ -129,7 +129,7 @@ func TestAPINotification(t *testing.T) { assert.Len(t, apiNL, 2) lastReadAt := "2000-01-01T00%3A50%3A01%2B00%3A00" // 946687801 <- only Notification 4 is in this filter ... - req = NewRequest(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s%s/notifications?last_read_at=%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, lastReadAt)). + req = NewRequest(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s/notifications?last_read_at=%s", user2.Name, repo1.Name, lastReadAt)). AddTokenAuth(token) MakeRequest(t, req, http.StatusResetContent) diff --git a/tests/integration/api_packages_cargo_test.go b/tests/integration/api_packages_cargo_test.go index be62300290..d7a89e446d 100644 --- a/tests/integration/api_packages_cargo_test.go +++ b/tests/integration/api_packages_cargo_test.go @@ -71,7 +71,7 @@ func testPackageCargo(t *testing.T, _ *neturl.URL) { err := cargo_service.InitializeIndexRepository(t.Context(), user, user) assert.NoError(t, err) - repo, err := repo_model.GetRepositoryByOwnerAndName(t.Context(), user.Name, cargo_service.IndexRepositoryName, 0) + repo, err := repo_model.GetRepositoryByOwnerAndName(t.Context(), user.Name, cargo_service.IndexRepositoryName) assert.NotNil(t, repo) assert.NoError(t, err) diff --git a/tests/integration/api_private_serv_test.go b/tests/integration/api_private_serv_test.go index 898a429c0a..b0dd0cf049 100644 --- a/tests/integration/api_private_serv_test.go +++ b/tests/integration/api_private_serv_test.go @@ -43,7 +43,7 @@ func TestAPIPrivateServ(t *testing.T) { defer cancel() // Can push to a repo we own - results, extra := private.ServCommand(ctx, 1, "user2", "repo1", 0, perm.AccessModeWrite, "git-upload-pack", "") + results, extra := private.ServCommand(ctx, 1, "user2", "repo1", perm.AccessModeWrite, "git-upload-pack", "") assert.NoError(t, extra.Error) assert.False(t, results.IsWiki) assert.Zero(t, results.DeployKeyID) @@ -56,17 +56,17 @@ func TestAPIPrivateServ(t *testing.T) { assert.Equal(t, int64(1), results.RepoID) // Cannot push to a private repo we're not associated with - results, extra = private.ServCommand(ctx, 1, "user15", "big_test_private_1", 0, perm.AccessModeWrite, "git-upload-pack", "") + results, extra = private.ServCommand(ctx, 1, "user15", "big_test_private_1", perm.AccessModeWrite, "git-upload-pack", "") assert.Error(t, extra.Error) assert.Empty(t, results) // Cannot pull from a private repo we're not associated with - results, extra = private.ServCommand(ctx, 1, "user15", "big_test_private_1", 0, perm.AccessModeRead, "git-upload-pack", "") + results, extra = private.ServCommand(ctx, 1, "user15", "big_test_private_1", perm.AccessModeRead, "git-upload-pack", "") assert.Error(t, extra.Error) assert.Empty(t, results) // Can pull from a public repo we're not associated with - results, extra = private.ServCommand(ctx, 1, "user15", "big_test_public_1", 0, perm.AccessModeRead, "git-upload-pack", "") + results, extra = private.ServCommand(ctx, 1, "user15", "big_test_public_1", perm.AccessModeRead, "git-upload-pack", "") assert.NoError(t, extra.Error) assert.False(t, results.IsWiki) assert.Zero(t, results.DeployKeyID) @@ -79,7 +79,7 @@ func TestAPIPrivateServ(t *testing.T) { assert.Equal(t, int64(17), results.RepoID) // Cannot push to a public repo we're not associated with - results, extra = private.ServCommand(ctx, 1, "user15", "big_test_public_1", 0, perm.AccessModeWrite, "git-upload-pack", "") + results, extra = private.ServCommand(ctx, 1, "user15", "big_test_public_1", perm.AccessModeWrite, "git-upload-pack", "") assert.Error(t, extra.Error) assert.Empty(t, results) @@ -88,7 +88,7 @@ func TestAPIPrivateServ(t *testing.T) { assert.NoError(t, err) // Can pull from repo we're a deploy key for - results, extra = private.ServCommand(ctx, deployKey.KeyID, "user15", "big_test_private_1", 0, perm.AccessModeRead, "git-upload-pack", "") + results, extra = private.ServCommand(ctx, deployKey.KeyID, "user15", "big_test_private_1", perm.AccessModeRead, "git-upload-pack", "") assert.NoError(t, extra.Error) assert.False(t, results.IsWiki) assert.NotZero(t, results.DeployKeyID) @@ -101,17 +101,17 @@ func TestAPIPrivateServ(t *testing.T) { assert.Equal(t, int64(19), results.RepoID) // Cannot push to a private repo with reading key - results, extra = private.ServCommand(ctx, deployKey.KeyID, "user15", "big_test_private_1", 0, perm.AccessModeWrite, "git-upload-pack", "") + results, extra = private.ServCommand(ctx, deployKey.KeyID, "user15", "big_test_private_1", perm.AccessModeWrite, "git-upload-pack", "") assert.Error(t, extra.Error) assert.Empty(t, results) // Cannot pull from a private repo we're not associated with - results, extra = private.ServCommand(ctx, deployKey.ID, "user15", "big_test_private_2", 0, perm.AccessModeRead, "git-upload-pack", "") + results, extra = private.ServCommand(ctx, deployKey.ID, "user15", "big_test_private_2", perm.AccessModeRead, "git-upload-pack", "") assert.Error(t, extra.Error) assert.Empty(t, results) // Cannot pull from a public repo we're not associated with - results, extra = private.ServCommand(ctx, deployKey.ID, "user15", "big_test_public_1", 0, perm.AccessModeRead, "git-upload-pack", "") + results, extra = private.ServCommand(ctx, deployKey.ID, "user15", "big_test_public_1", perm.AccessModeRead, "git-upload-pack", "") assert.Error(t, extra.Error) assert.Empty(t, results) @@ -120,12 +120,12 @@ func TestAPIPrivateServ(t *testing.T) { assert.NoError(t, err) // Cannot push to a private repo with reading key - results, extra = private.ServCommand(ctx, deployKey.KeyID, "user15", "big_test_private_1", 0, perm.AccessModeWrite, "git-upload-pack", "") + results, extra = private.ServCommand(ctx, deployKey.KeyID, "user15", "big_test_private_1", perm.AccessModeWrite, "git-upload-pack", "") assert.Error(t, extra.Error) assert.Empty(t, results) // Can pull from repo we're a writing deploy key for - results, extra = private.ServCommand(ctx, deployKey.KeyID, "user15", "big_test_private_2", 0, perm.AccessModeRead, "git-upload-pack", "") + results, extra = private.ServCommand(ctx, deployKey.KeyID, "user15", "big_test_private_2", perm.AccessModeRead, "git-upload-pack", "") assert.NoError(t, extra.Error) assert.False(t, results.IsWiki) assert.NotZero(t, results.DeployKeyID) @@ -138,7 +138,7 @@ func TestAPIPrivateServ(t *testing.T) { assert.Equal(t, int64(20), results.RepoID) // Can push to repo we're a writing deploy key for - results, extra = private.ServCommand(ctx, deployKey.KeyID, "user15", "big_test_private_2", 0, perm.AccessModeWrite, "git-upload-pack", "") + results, extra = private.ServCommand(ctx, deployKey.KeyID, "user15", "big_test_private_2", perm.AccessModeWrite, "git-upload-pack", "") assert.NoError(t, extra.Error) assert.False(t, results.IsWiki) assert.NotZero(t, results.DeployKeyID) diff --git a/tests/integration/api_pull_commits_test.go b/tests/integration/api_pull_commits_test.go index 9a99562cd5..05143fcf25 100644 --- a/tests/integration/api_pull_commits_test.go +++ b/tests/integration/api_pull_commits_test.go @@ -23,7 +23,7 @@ func TestAPIPullCommits(t *testing.T) { assert.NoError(t, pr.LoadIssue(t.Context())) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: pr.HeadRepoID}) - req := NewRequestf(t, http.MethodGet, "/api/v1/repos/%s/%s%s/pulls/%d/commits", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pr.Index) + req := NewRequestf(t, http.MethodGet, "/api/v1/repos/%s/%s/pulls/%d/commits", repo.OwnerName, repo.Name, pr.Index) resp := MakeRequest(t, req, http.StatusOK) var commits []*api.Commit diff --git a/tests/integration/api_pull_review_test.go b/tests/integration/api_pull_review_test.go index 187d6ef139..51402b5098 100644 --- a/tests/integration/api_pull_review_test.go +++ b/tests/integration/api_pull_review_test.go @@ -36,7 +36,7 @@ func TestAPIPullReview(t *testing.T) { // test ListPullReviews session := loginUser(t, "user2") token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) - req := NewRequestf(t, http.MethodGet, "/api/v1/repos/%s/%s%s/pulls/%d/reviews", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index). + req := NewRequestf(t, http.MethodGet, "/api/v1/repos/%s/%s/pulls/%d/reviews", repo.OwnerName, repo.Name, pullIssue.Index). AddTokenAuth(token) resp := MakeRequest(t, req, http.StatusOK) @@ -61,14 +61,14 @@ func TestAPIPullReview(t *testing.T) { assert.True(t, reviews[5].Official) // test GetPullReview - req = NewRequestf(t, http.MethodGet, "/api/v1/repos/%s/%s%s/pulls/%d/reviews/%d", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index, reviews[3].ID). + req = NewRequestf(t, http.MethodGet, "/api/v1/repos/%s/%s/pulls/%d/reviews/%d", repo.OwnerName, repo.Name, pullIssue.Index, reviews[3].ID). AddTokenAuth(token) resp = MakeRequest(t, req, http.StatusOK) var review api.PullReview DecodeJSON(t, resp, &review) assert.Equal(t, *reviews[3], review) - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/pulls/%d/reviews/%d", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index, reviews[5].ID). + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/pulls/%d/reviews/%d", repo.OwnerName, repo.Name, pullIssue.Index, reviews[5].ID). AddTokenAuth(token) resp = MakeRequest(t, req, http.StatusOK) DecodeJSON(t, resp, &review) @@ -76,7 +76,7 @@ func TestAPIPullReview(t *testing.T) { // test GetPullReviewComments comment := unittest.AssertExistsAndLoadBean(t, &issues_model.Comment{ID: 7}) - req = NewRequestf(t, http.MethodGet, "/api/v1/repos/%s/%s%s/pulls/%d/reviews/%d/comments", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index, 10). + req = NewRequestf(t, http.MethodGet, "/api/v1/repos/%s/%s/pulls/%d/reviews/%d/comments", repo.OwnerName, repo.Name, pullIssue.Index, 10). AddTokenAuth(token) resp = MakeRequest(t, req, http.StatusOK) var reviewComments []*api.PullReviewComment @@ -89,7 +89,7 @@ func TestAPIPullReview(t *testing.T) { assert.Equal(t, comment.HTMLURL(t.Context()), reviewComments[0].HTMLURL) // test CreatePullReview - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/reviews", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index), &api.CreatePullReviewOptions{ + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/reviews", repo.OwnerName, repo.Name, pullIssue.Index), &api.CreatePullReviewOptions{ Body: "body1", // Event: "" # will result in PENDING Comments: []api.CreatePullReviewComment{ @@ -118,7 +118,7 @@ func TestAPIPullReview(t *testing.T) { assert.Equal(t, 3, review.CodeCommentsCount) // test SubmitPullReview - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/reviews/%d", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index, review.ID), &api.SubmitPullReviewOptions{ + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/reviews/%d", repo.OwnerName, repo.Name, pullIssue.Index, review.ID), &api.SubmitPullReviewOptions{ Event: "APPROVED", Body: "just two nits", }).AddTokenAuth(token) @@ -129,7 +129,7 @@ func TestAPIPullReview(t *testing.T) { assert.Equal(t, 3, review.CodeCommentsCount) // test dismiss review - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/reviews/%d/dismissals", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index, review.ID), &api.DismissPullReviewOptions{ + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/reviews/%d/dismissals", repo.OwnerName, repo.Name, pullIssue.Index, review.ID), &api.DismissPullReviewOptions{ Message: "test", }).AddTokenAuth(token) resp = MakeRequest(t, req, http.StatusOK) @@ -138,7 +138,7 @@ func TestAPIPullReview(t *testing.T) { assert.True(t, review.Dismissed) // test dismiss review - req = NewRequest(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/reviews/%d/undismissals", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index, review.ID)). + req = NewRequest(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/reviews/%d/undismissals", repo.OwnerName, repo.Name, pullIssue.Index, review.ID)). AddTokenAuth(token) resp = MakeRequest(t, req, http.StatusOK) DecodeJSON(t, resp, &review) @@ -146,7 +146,7 @@ func TestAPIPullReview(t *testing.T) { assert.False(t, review.Dismissed) // test DeletePullReview - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/reviews", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index), &api.CreatePullReviewOptions{ + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/reviews", repo.OwnerName, repo.Name, pullIssue.Index), &api.CreatePullReviewOptions{ Body: "just a comment", Event: "COMMENT", }).AddTokenAuth(token) @@ -154,12 +154,12 @@ func TestAPIPullReview(t *testing.T) { DecodeJSON(t, resp, &review) assert.EqualValues(t, "COMMENT", review.State) assert.Equal(t, 0, review.CodeCommentsCount) - req = NewRequestf(t, http.MethodDelete, "/api/v1/repos/%s/%s%s/pulls/%d/reviews/%d", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index, review.ID). + req = NewRequestf(t, http.MethodDelete, "/api/v1/repos/%s/%s/pulls/%d/reviews/%d", repo.OwnerName, repo.Name, pullIssue.Index, review.ID). AddTokenAuth(token) MakeRequest(t, req, http.StatusNoContent) // test CreatePullReview Comment without body but with comments - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/reviews", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index), &api.CreatePullReviewOptions{ + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/reviews", repo.OwnerName, repo.Name, pullIssue.Index), &api.CreatePullReviewOptions{ // Body: "", Event: "COMMENT", Comments: []api.CreatePullReviewComment{ @@ -187,7 +187,7 @@ func TestAPIPullReview(t *testing.T) { // test CreatePullReview Comment with body but without comments commentBody := "This is a body of the comment." - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/reviews", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index), &api.CreatePullReviewOptions{ + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/reviews", repo.OwnerName, repo.Name, pullIssue.Index), &api.CreatePullReviewOptions{ Body: commentBody, Event: "COMMENT", Comments: []api.CreatePullReviewComment{}, @@ -201,7 +201,7 @@ func TestAPIPullReview(t *testing.T) { assert.False(t, commentReview.Dismissed) // test CreatePullReview Comment without body and no comments - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/reviews", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index), &api.CreatePullReviewOptions{ + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/reviews", repo.OwnerName, repo.Name, pullIssue.Index), &api.CreatePullReviewOptions{ Body: "", Event: "COMMENT", Comments: []api.CreatePullReviewComment{}, @@ -217,7 +217,7 @@ func TestAPIPullReview(t *testing.T) { assert.NoError(t, pullIssue12.LoadAttributes(t.Context())) repo3 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: pullIssue12.RepoID}) - req = NewRequestf(t, http.MethodGet, "/api/v1/repos/%s/%s%s/pulls/%d/reviews", repo3.OwnerName, maybeGroupSegment(repo3.GroupID), repo3.Name, pullIssue12.Index). + req = NewRequestf(t, http.MethodGet, "/api/v1/repos/%s/%s/pulls/%d/reviews", repo3.OwnerName, repo3.Name, pullIssue12.Index). AddTokenAuth(token) resp = MakeRequest(t, req, http.StatusOK) DecodeJSON(t, resp, &reviews) @@ -245,19 +245,19 @@ func TestAPIPullReviewRequest(t *testing.T) { // Test add Review Request session := loginUser(t, "user2") token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) - req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/requested_reviewers", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index), &api.PullReviewRequestOptions{ + req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers", repo.OwnerName, repo.Name, pullIssue.Index), &api.PullReviewRequestOptions{ Reviewers: []string{"user4@example.com", "user8"}, }).AddTokenAuth(token) MakeRequest(t, req, http.StatusCreated) // poster of pr can't be reviewer - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/requested_reviewers", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index), &api.PullReviewRequestOptions{ + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers", repo.OwnerName, repo.Name, pullIssue.Index), &api.PullReviewRequestOptions{ Reviewers: []string{"user1"}, }).AddTokenAuth(token) MakeRequest(t, req, http.StatusUnprocessableEntity) // test user not exist - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/requested_reviewers", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index), &api.PullReviewRequestOptions{ + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers", repo.OwnerName, repo.Name, pullIssue.Index), &api.PullReviewRequestOptions{ Reviewers: []string{"testOther"}, }).AddTokenAuth(token) MakeRequest(t, req, http.StatusNotFound) @@ -266,18 +266,18 @@ func TestAPIPullReviewRequest(t *testing.T) { session2 := loginUser(t, "user4") token2 := getTokenForLoggedInUser(t, session2, auth_model.AccessTokenScopeWriteRepository) - req = NewRequestWithJSON(t, http.MethodDelete, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/requested_reviewers", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index), &api.PullReviewRequestOptions{ + req = NewRequestWithJSON(t, http.MethodDelete, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers", repo.OwnerName, repo.Name, pullIssue.Index), &api.PullReviewRequestOptions{ Reviewers: []string{"user4"}, }).AddTokenAuth(token2) MakeRequest(t, req, http.StatusNoContent) // doer is not admin - req = NewRequestWithJSON(t, http.MethodDelete, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/requested_reviewers", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index), &api.PullReviewRequestOptions{ + req = NewRequestWithJSON(t, http.MethodDelete, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers", repo.OwnerName, repo.Name, pullIssue.Index), &api.PullReviewRequestOptions{ Reviewers: []string{"user8"}, }).AddTokenAuth(token2) MakeRequest(t, req, http.StatusUnprocessableEntity) - req = NewRequestWithJSON(t, http.MethodDelete, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/requested_reviewers", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index), &api.PullReviewRequestOptions{ + req = NewRequestWithJSON(t, http.MethodDelete, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers", repo.OwnerName, repo.Name, pullIssue.Index), &api.PullReviewRequestOptions{ Reviewers: []string{"user8"}, }).AddTokenAuth(token) MakeRequest(t, req, http.StatusNoContent) @@ -288,12 +288,12 @@ func TestAPIPullReviewRequest(t *testing.T) { pull21Repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: pullIssue21.RepoID}) // repo60 user38Session := loginUser(t, "user38") user38Token := getTokenForLoggedInUser(t, user38Session, auth_model.AccessTokenScopeWriteRepository) - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/requested_reviewers", pull21Repo.OwnerName, maybeGroupSegment(pull21Repo.GroupID), pull21Repo.Name, pullIssue21.Index), &api.PullReviewRequestOptions{ + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers", pull21Repo.OwnerName, pull21Repo.Name, pullIssue21.Index), &api.PullReviewRequestOptions{ Reviewers: []string{"user4@example.com"}, }).AddTokenAuth(user38Token) MakeRequest(t, req, http.StatusCreated) - req = NewRequestWithJSON(t, http.MethodDelete, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/requested_reviewers", pull21Repo.OwnerName, maybeGroupSegment(pull21Repo.GroupID), pull21Repo.Name, pullIssue21.Index), &api.PullReviewRequestOptions{ + req = NewRequestWithJSON(t, http.MethodDelete, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers", pull21Repo.OwnerName, pull21Repo.Name, pullIssue21.Index), &api.PullReviewRequestOptions{ Reviewers: []string{"user4@example.com"}, }).AddTokenAuth(user38Token) MakeRequest(t, req, http.StatusNoContent) @@ -301,12 +301,12 @@ func TestAPIPullReviewRequest(t *testing.T) { // the poster of the PR can add/remove a review request user39Session := loginUser(t, "user39") user39Token := getTokenForLoggedInUser(t, user39Session, auth_model.AccessTokenScopeWriteRepository) - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/requested_reviewers", pull21Repo.OwnerName, maybeGroupSegment(pull21Repo.GroupID), pull21Repo.Name, pullIssue21.Index), &api.PullReviewRequestOptions{ + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers", pull21Repo.OwnerName, pull21Repo.Name, pullIssue21.Index), &api.PullReviewRequestOptions{ Reviewers: []string{"user8"}, }).AddTokenAuth(user39Token) MakeRequest(t, req, http.StatusCreated) - req = NewRequestWithJSON(t, http.MethodDelete, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/requested_reviewers", pull21Repo.OwnerName, maybeGroupSegment(pull21Repo.GroupID), pull21Repo.Name, pullIssue21.Index), &api.PullReviewRequestOptions{ + req = NewRequestWithJSON(t, http.MethodDelete, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers", pull21Repo.OwnerName, pull21Repo.Name, pullIssue21.Index), &api.PullReviewRequestOptions{ Reviewers: []string{"user8"}, }).AddTokenAuth(user39Token) MakeRequest(t, req, http.StatusNoContent) @@ -315,12 +315,12 @@ func TestAPIPullReviewRequest(t *testing.T) { pullIssue22 := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 22}) assert.NoError(t, pullIssue22.LoadAttributes(t.Context())) pull22Repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: pullIssue22.RepoID}) // repo61 - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/requested_reviewers", pull22Repo.OwnerName, maybeGroupSegment(pull22Repo.GroupID), pull22Repo.Name, pullIssue22.Index), &api.PullReviewRequestOptions{ + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers", pull22Repo.OwnerName, pull22Repo.Name, pullIssue22.Index), &api.PullReviewRequestOptions{ Reviewers: []string{"user38"}, }).AddTokenAuth(user39Token) // user39 is from a team with read permission on pull requests unit MakeRequest(t, req, http.StatusCreated) - req = NewRequestWithJSON(t, http.MethodDelete, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/requested_reviewers", pull22Repo.OwnerName, maybeGroupSegment(pull22Repo.GroupID), pull22Repo.Name, pullIssue22.Index), &api.PullReviewRequestOptions{ + req = NewRequestWithJSON(t, http.MethodDelete, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers", pull22Repo.OwnerName, pull22Repo.Name, pullIssue22.Index), &api.PullReviewRequestOptions{ Reviewers: []string{"user38"}, }).AddTokenAuth(user39Token) // user39 is from a team with read permission on pull requests unit MakeRequest(t, req, http.StatusNoContent) @@ -331,35 +331,35 @@ func TestAPIPullReviewRequest(t *testing.T) { repo3 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: pullIssue12.RepoID}) // Test add Team Review Request - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/requested_reviewers", repo3.OwnerName, maybeGroupSegment(repo3.GroupID), repo3.Name, pullIssue12.Index), &api.PullReviewRequestOptions{ + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers", repo3.OwnerName, repo3.Name, pullIssue12.Index), &api.PullReviewRequestOptions{ TeamReviewers: []string{"team1", "owners"}, }).AddTokenAuth(token) MakeRequest(t, req, http.StatusCreated) // Test add Team Review Request to not allowned - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/requested_reviewers", repo3.OwnerName, maybeGroupSegment(repo3.GroupID), repo3.Name, pullIssue12.Index), &api.PullReviewRequestOptions{ + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers", repo3.OwnerName, repo3.Name, pullIssue12.Index), &api.PullReviewRequestOptions{ TeamReviewers: []string{"test_team"}, }).AddTokenAuth(token) MakeRequest(t, req, http.StatusUnprocessableEntity) // Test add Team Review Request to not exist - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/requested_reviewers", repo3.OwnerName, maybeGroupSegment(repo3.GroupID), repo3.Name, pullIssue12.Index), &api.PullReviewRequestOptions{ + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers", repo3.OwnerName, repo3.Name, pullIssue12.Index), &api.PullReviewRequestOptions{ TeamReviewers: []string{"not_exist_team"}, }).AddTokenAuth(token) MakeRequest(t, req, http.StatusNotFound) // Test Remove team Review Request - req = NewRequestWithJSON(t, http.MethodDelete, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/requested_reviewers", repo3.OwnerName, maybeGroupSegment(repo3.GroupID), repo3.Name, pullIssue12.Index), &api.PullReviewRequestOptions{ + req = NewRequestWithJSON(t, http.MethodDelete, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers", repo3.OwnerName, repo3.Name, pullIssue12.Index), &api.PullReviewRequestOptions{ TeamReviewers: []string{"team1"}, }).AddTokenAuth(token) MakeRequest(t, req, http.StatusNoContent) // empty request test - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/requested_reviewers", repo3.OwnerName, maybeGroupSegment(repo3.GroupID), repo3.Name, pullIssue12.Index), &api.PullReviewRequestOptions{}). + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers", repo3.OwnerName, repo3.Name, pullIssue12.Index), &api.PullReviewRequestOptions{}). AddTokenAuth(token) MakeRequest(t, req, http.StatusCreated) - req = NewRequestWithJSON(t, http.MethodDelete, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/requested_reviewers", repo3.OwnerName, maybeGroupSegment(repo3.GroupID), repo3.Name, pullIssue12.Index), &api.PullReviewRequestOptions{}). + req = NewRequestWithJSON(t, http.MethodDelete, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers", repo3.OwnerName, repo3.Name, pullIssue12.Index), &api.PullReviewRequestOptions{}). AddTokenAuth(token) MakeRequest(t, req, http.StatusNoContent) } @@ -452,7 +452,7 @@ func TestAPIPullReviewStayDismissed(t *testing.T) { token8 := getTokenForLoggedInUser(t, session8, auth_model.AccessTokenScopeWriteRepository) // user2 request user8 - req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/requested_reviewers", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index), &api.PullReviewRequestOptions{ + req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers", repo.OwnerName, repo.Name, pullIssue.Index), &api.PullReviewRequestOptions{ Reviewers: []string{user8.LoginName}, }).AddTokenAuth(token2) MakeRequest(t, req, http.StatusCreated) @@ -462,7 +462,7 @@ func TestAPIPullReviewStayDismissed(t *testing.T) { pullIssue.ID, user8.ID, 0, 1, 1, false) // user2 request user8 again, it is expected to be ignored - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/requested_reviewers", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index), &api.PullReviewRequestOptions{ + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers", repo.OwnerName, repo.Name, pullIssue.Index), &api.PullReviewRequestOptions{ Reviewers: []string{user8.LoginName}, }).AddTokenAuth(token2) MakeRequest(t, req, http.StatusCreated) @@ -472,7 +472,7 @@ func TestAPIPullReviewStayDismissed(t *testing.T) { pullIssue.ID, user8.ID, 0, 1, 1, false) // user8 reviews it as accept - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/reviews", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index), &api.CreatePullReviewOptions{ + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/reviews", repo.OwnerName, repo.Name, pullIssue.Index), &api.CreatePullReviewOptions{ Event: "APPROVED", Body: "lgtm", }).AddTokenAuth(token8) @@ -488,7 +488,7 @@ func TestAPIPullReviewStayDismissed(t *testing.T) { assert.NoError(t, err) // user2 request user8 again - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/requested_reviewers", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index), &api.PullReviewRequestOptions{ + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/requested_reviewers", repo.OwnerName, repo.Name, pullIssue.Index), &api.PullReviewRequestOptions{ Reviewers: []string{user8.LoginName}, }).AddTokenAuth(token2) MakeRequest(t, req, http.StatusCreated) @@ -508,7 +508,7 @@ func TestAPIPullReviewStayDismissed(t *testing.T) { pullIssue.ID, user8.ID, 1, 0, 1, false) // add a new valid approval - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/reviews", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index), &api.CreatePullReviewOptions{ + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/reviews", repo.OwnerName, repo.Name, pullIssue.Index), &api.CreatePullReviewOptions{ Event: "APPROVED", Body: "lgtm", }).AddTokenAuth(token8) @@ -519,7 +519,7 @@ func TestAPIPullReviewStayDismissed(t *testing.T) { pullIssue.ID, user8.ID, 1, 0, 2, true) // now add a change request witch should dismiss the approval - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/reviews", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name, pullIssue.Index), &api.CreatePullReviewOptions{ + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/reviews", repo.OwnerName, repo.Name, pullIssue.Index), &api.CreatePullReviewOptions{ Event: "REQUEST_CHANGES", Body: "please change XYZ", }).AddTokenAuth(token8) diff --git a/tests/integration/api_pull_test.go b/tests/integration/api_pull_test.go index 8396d09f72..39b54296e0 100644 --- a/tests/integration/api_pull_test.go +++ b/tests/integration/api_pull_test.go @@ -41,9 +41,9 @@ func TestAPIViewPulls(t *testing.T) { repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}) owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) - ctx := NewAPITestContext(t, "user2", repo.Name, repo.GroupID, auth_model.AccessTokenScopeReadRepository) + ctx := NewAPITestContext(t, "user2", repo.Name, auth_model.AccessTokenScopeReadRepository) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/pulls?state=all", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/pulls?state=all", owner.Name, repo.Name). AddTokenAuth(ctx.Token) resp := ctx.Session.MakeRequest(t, req, http.StatusOK) @@ -150,9 +150,9 @@ func TestAPIViewPullsByBaseHead(t *testing.T) { repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}) owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) - ctx := NewAPITestContext(t, "user2", repo.Name, repo.GroupID, auth_model.AccessTokenScopeReadRepository) + ctx := NewAPITestContext(t, "user2", repo.Name, auth_model.AccessTokenScopeReadRepository) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/pulls/master/branch2", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/pulls/master/branch2", owner.Name, repo.Name). AddTokenAuth(ctx.Token) resp := ctx.Session.MakeRequest(t, req, http.StatusOK) @@ -161,7 +161,7 @@ func TestAPIViewPullsByBaseHead(t *testing.T) { assert.EqualValues(t, 3, pull.Index) assert.EqualValues(t, 2, pull.ID) - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/pulls/master/branch-not-exist", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name). + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/pulls/master/branch-not-exist", owner.Name, repo.Name). AddTokenAuth(ctx.Token) ctx.Session.MakeRequest(t, req, http.StatusNotFound) } @@ -182,7 +182,7 @@ func TestAPIMergePullWIP(t *testing.T) { session := loginUser(t, owner.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) - req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d/merge", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name, pr.Index), &forms.MergePullRequestForm{ + req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/merge", owner.Name, repo.Name, pr.Index), &forms.MergePullRequestForm{ MergeMessageField: pr.Issue.Title, Do: string(repo_model.MergeStyleMerge), }).AddTokenAuth(token) @@ -194,7 +194,7 @@ func TestAPIMergePull(t *testing.T) { onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}) owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) - apiCtx := NewAPITestContext(t, repo.OwnerName, repo.Name, repo.GroupID, auth_model.AccessTokenScopeWriteRepository) + apiCtx := NewAPITestContext(t, repo.OwnerName, repo.Name, auth_model.AccessTokenScopeWriteRepository) checkBranchExists := func(t *testing.T, branchName string, status int) { req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/branches/%s", owner.Name, repo.Name, branchName)).AddTokenAuth(apiCtx.Token) @@ -272,7 +272,7 @@ func TestAPICreatePullSuccess(t *testing.T) { session := loginUser(t, owner11.Name) prTitle := "test pull request title " + time.Now().String() token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) - req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls", owner10.Name, maybeGroupSegment(repo10.GroupID), repo10.Name), &api.CreatePullRequestOption{ + req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls", owner10.Name, repo10.Name), &api.CreatePullRequestOption{ Head: owner11.Name + ":master", Base: "master", Title: prTitle, @@ -306,15 +306,15 @@ func TestAPICreatePullBasePermission(t *testing.T) { AllowMaintainerEdit: new(false), } - req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls", owner10.Name, maybeGroupSegment(repo10.GroupID), repo10.Name), &opts).AddTokenAuth(token) + req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls", owner10.Name, repo10.Name), &opts).AddTokenAuth(token) MakeRequest(t, req, http.StatusForbidden) // add user4 to be a collaborator to base repo - ctx := NewAPITestContext(t, repo10.OwnerName, repo10.Name, repo10.GroupID, auth_model.AccessTokenScopeWriteRepository) + ctx := NewAPITestContext(t, repo10.OwnerName, repo10.Name, auth_model.AccessTokenScopeWriteRepository) t.Run("AddUser4AsCollaborator", doAPIAddCollaborator(ctx, user4.Name, perm.AccessModeRead)) // create again - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls", owner10.Name, maybeGroupSegment(repo10.GroupID), repo10.Name), &opts).AddTokenAuth(token) + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls", owner10.Name, repo10.Name), &opts).AddTokenAuth(token) MakeRequest(t, req, http.StatusCreated) // Also test that AllowMaintainerEdit is set to false, the default "true" case is covered by TestAPICreatePullSuccess @@ -339,18 +339,18 @@ func TestAPICreatePullHeadPermission(t *testing.T) { Base: "master", Title: "create a failure pr", } - req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls", owner10.Name, maybeGroupSegment(repo10.GroupID), repo10.Name), &opts).AddTokenAuth(token) + req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls", owner10.Name, repo10.Name), &opts).AddTokenAuth(token) MakeRequest(t, req, http.StatusForbidden) // add user4 to be a collaborator to head repo with read permission - ctx := NewAPITestContext(t, repo11.OwnerName, repo11.Name, repo11.GroupID, auth_model.AccessTokenScopeWriteRepository) + ctx := NewAPITestContext(t, repo11.OwnerName, repo11.Name, auth_model.AccessTokenScopeWriteRepository) t.Run("AddUser4AsCollaboratorWithRead", doAPIAddCollaborator(ctx, user4.Name, perm.AccessModeRead)) - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls", owner10.Name, maybeGroupSegment(repo10.GroupID), repo10.Name), &opts).AddTokenAuth(token) + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls", owner10.Name, repo10.Name), &opts).AddTokenAuth(token) MakeRequest(t, req, http.StatusForbidden) // add user4 to be a collaborator to head repo with write permission t.Run("AddUser4AsCollaboratorWithWrite", doAPIAddCollaborator(ctx, user4.Name, perm.AccessModeWrite)) - req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls", owner10.Name, maybeGroupSegment(repo10.GroupID), repo10.Name), &opts).AddTokenAuth(token) + req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls", owner10.Name, repo10.Name), &opts).AddTokenAuth(token) MakeRequest(t, req, http.StatusCreated) } @@ -362,7 +362,7 @@ func TestAPICreatePullSameRepoSuccess(t *testing.T) { session := loginUser(t, owner.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) - req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name), &api.CreatePullRequestOption{ + req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls", owner.Name, repo.Name), &api.CreatePullRequestOption{ Head: owner.Name + ":pr-to-update", Base: "master", Title: "successfully create a PR between branches of the same repository", @@ -393,7 +393,7 @@ func TestAPICreatePullWithFieldsSuccess(t *testing.T) { Labels: []int64{5}, } - req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls", owner10.Name, maybeGroupSegment(repo10.GroupID), repo10.Name), opts). + req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls", owner10.Name, repo10.Name), opts). AddTokenAuth(token) res := MakeRequest(t, req, http.StatusCreated) @@ -426,7 +426,7 @@ func TestAPICreatePullWithFieldsFailure(t *testing.T) { Base: "master", } - req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls", owner10.Name, maybeGroupSegment(repo10.GroupID), repo10.Name), opts). + req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls", owner10.Name, repo10.Name), opts). AddTokenAuth(token) MakeRequest(t, req, http.StatusUnprocessableEntity) opts.Title = "is required" @@ -452,7 +452,7 @@ func TestAPIEditPull(t *testing.T) { session := loginUser(t, owner10.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) title := "create a success pr" - req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls", owner10.Name, maybeGroupSegment(repo10.GroupID), repo10.Name), &api.CreatePullRequestOption{ + req := NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls", owner10.Name, repo10.Name), &api.CreatePullRequestOption{ Head: "develop", Base: "master", Title: title, @@ -463,7 +463,7 @@ func TestAPIEditPull(t *testing.T) { newTitle := "edit a this pr" newBody := "edited body" - req = NewRequestWithJSON(t, http.MethodPatch, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d", owner10.Name, maybeGroupSegment(repo10.GroupID), repo10.Name, apiPull.Index), &api.EditPullRequestOption{ + req = NewRequestWithJSON(t, http.MethodPatch, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d", owner10.Name, repo10.Name, apiPull.Index), &api.EditPullRequestOption{ Base: "feature/1", Title: newTitle, Body: &newBody, @@ -479,7 +479,7 @@ func TestAPIEditPull(t *testing.T) { unittest.AssertExistsAndLoadBean(t, &issues_model.Comment{IssueID: pull.Issue.ID, OldTitle: title, NewTitle: newTitle}) unittest.AssertExistsAndLoadBean(t, &issues_model.ContentHistory{IssueID: pull.Issue.ID, ContentText: newBody, IsFirstCreated: false}) - req = NewRequestWithJSON(t, http.MethodPatch, fmt.Sprintf("/api/v1/repos/%s/%s%s/pulls/%d", owner10.Name, maybeGroupSegment(repo10.GroupID), repo10.Name, pull.Index), &api.EditPullRequestOption{ + req = NewRequestWithJSON(t, http.MethodPatch, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d", owner10.Name, repo10.Name, pull.Index), &api.EditPullRequestOption{ Base: "not-exist", }).AddTokenAuth(token) MakeRequest(t, req, http.StatusNotFound) @@ -564,14 +564,14 @@ func TestAPICommitPullRequest(t *testing.T) { repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}) owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) - ctx := NewAPITestContext(t, "user2", repo.Name, repo.GroupID, auth_model.AccessTokenScopeReadRepository) + ctx := NewAPITestContext(t, "user2", repo.Name, auth_model.AccessTokenScopeReadRepository) mergedCommitSHA := "1a8823cd1a9549fde083f992f6b9b87a7ab74fb3" - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/commits/%s/pull", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name, mergedCommitSHA).AddTokenAuth(ctx.Token) + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/commits/%s/pull", owner.Name, repo.Name, mergedCommitSHA).AddTokenAuth(ctx.Token) ctx.Session.MakeRequest(t, req, http.StatusOK) invalidCommitSHA := "abcd1234abcd1234abcd1234abcd1234abcd1234" - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/commits/%s/pull", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name, invalidCommitSHA).AddTokenAuth(ctx.Token) + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/commits/%s/pull", owner.Name, repo.Name, invalidCommitSHA).AddTokenAuth(ctx.Token) ctx.Session.MakeRequest(t, req, http.StatusNotFound) } @@ -580,7 +580,7 @@ func TestAPIViewPullFilesWithHeadRepoDeleted(t *testing.T) { baseRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}) user1 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1}) - ctx := NewAPITestContext(t, "user1", baseRepo.Name, baseRepo.GroupID, auth_model.AccessTokenScopeAll) + ctx := NewAPITestContext(t, "user1", baseRepo.Name, auth_model.AccessTokenScopeAll) doAPIForkRepository(ctx, "user2")(t) @@ -637,7 +637,7 @@ func TestAPIViewPullFilesWithHeadRepoDeleted(t *testing.T) { assert.NoError(t, err) pr := convert.ToAPIPullRequest(t.Context(), pullRequest, user1) - ctx = NewAPITestContext(t, "user2", baseRepo.Name, baseRepo.GroupID, auth_model.AccessTokenScopeAll) + ctx = NewAPITestContext(t, "user2", baseRepo.Name, auth_model.AccessTokenScopeAll) doAPIGetPullFiles(ctx, pr, func(t *testing.T, files []*api.ChangedFile) { if assert.Len(t, files, 1) { assert.Equal(t, "file_1.txt", files[0].Filename) @@ -650,7 +650,7 @@ func TestAPIViewPullFilesWithHeadRepoDeleted(t *testing.T) { })(t) // delete the head repository of the pull request - forkCtx := NewAPITestContext(t, "user1", forkedRepo.Name, forkedRepo.GroupID, auth_model.AccessTokenScopeAll) + forkCtx := NewAPITestContext(t, "user1", forkedRepo.Name, auth_model.AccessTokenScopeAll) doAPIDeleteRepository(forkCtx)(t) doAPIGetPullFiles(ctx, pr, func(t *testing.T, files []*api.ChangedFile) { diff --git a/tests/integration/api_releases_attachment_test.go b/tests/integration/api_releases_attachment_test.go index f92915ec22..3f2592e331 100644 --- a/tests/integration/api_releases_attachment_test.go +++ b/tests/integration/api_releases_attachment_test.go @@ -31,7 +31,7 @@ func testAPIEditReleaseAttachmentWithUnallowedFile(t *testing.T) { token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) filename := "file.bad" - urlStr := fmt.Sprintf("/api/v1/repos/%s/%s%s/releases/%d/assets/%d", repoOwner.Name, maybeGroupSegment(repo.GroupID), repo.Name, release.ID, attachment.ID) + urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/releases/%d/assets/%d", repoOwner.Name, repo.Name, release.ID, attachment.ID) req := NewRequestWithValues(t, "PATCH", urlStr, map[string]string{ "name": filename, }).AddTokenAuth(token) diff --git a/tests/integration/api_releases_test.go b/tests/integration/api_releases_test.go index a46ab60319..9a5bf2b437 100644 --- a/tests/integration/api_releases_test.go +++ b/tests/integration/api_releases_test.go @@ -46,7 +46,7 @@ func testAPIListReleasesWithWriteToken(t *testing.T) { user2 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}) token := getUserToken(t, user2.LowerName, auth_model.AccessTokenScopeWriteRepository) - link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s%s/releases", user2.Name, maybeGroupSegment(repo.GroupID), repo.Name)) + link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/releases", user2.Name, repo.Name)) resp := MakeRequest(t, NewRequest(t, "GET", link.String()).AddTokenAuth(token), http.StatusOK) var apiReleases []*api.Release DecodeJSON(t, resp, &apiReleases) @@ -158,7 +158,7 @@ func testAPIGetDraftRelease(t *testing.T) { } func createNewReleaseUsingAPI(t *testing.T, token string, owner *user_model.User, repo *repo_model.Repository, name, target, title, desc string) *api.Release { - urlStr := fmt.Sprintf("/api/v1/repos/%s/%s%s/releases", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name) + urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/releases", owner.Name, repo.Name) req := NewRequestWithJSON(t, "POST", urlStr, &api.CreateReleaseOption{ TagName: name, Title: title, @@ -202,7 +202,7 @@ func TestAPICreateAndUpdateRelease(t *testing.T) { newRelease := createNewReleaseUsingAPI(t, token, owner, repo, "v0.0.1", target, "v0.0.1", "test") - urlStr := fmt.Sprintf("/api/v1/repos/%s/%s%s/releases/%d", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name, newRelease.ID) + urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/releases/%d", owner.Name, repo.Name, newRelease.ID) req := NewRequest(t, "GET", urlStr). AddTokenAuth(token) resp := MakeRequest(t, req, http.StatusOK) @@ -249,7 +249,7 @@ func TestAPICreateProtectedTagRelease(t *testing.T) { commit, err := gitRepo.GetBranchCommit("master") assert.NoError(t, err) - req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/releases", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name), &api.CreateReleaseOption{ + req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/releases", repo.OwnerName, repo.Name), &api.CreateReleaseOption{ TagName: "v0.0.1", Title: "v0.0.1", IsDraft: false, @@ -296,7 +296,7 @@ func TestAPICreateReleaseGivenInvalidTarget(t *testing.T) { session := loginUser(t, owner.LowerName) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) - urlStr := fmt.Sprintf("/api/v1/repos/%s/%s%s/releases", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name) + urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/releases", owner.Name, repo.Name) req := NewRequestWithJSON(t, "POST", urlStr, &api.CreateReleaseOption{ TagName: "i-point-to-an-invalid-target", Title: "Invalid Target", @@ -310,7 +310,7 @@ func testAPIGetLatestRelease(t *testing.T) { repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}) owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) - req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/releases/latest", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name)) + req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/releases/latest", owner.Name, repo.Name)) resp := MakeRequest(t, req, http.StatusOK) var release *api.Release @@ -325,7 +325,7 @@ func testAPIGetReleaseByTag(t *testing.T) { tag := "v1.1" - req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/releases/tags/%s", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name, tag)) + req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/releases/tags/%s", owner.Name, repo.Name, tag)) resp := MakeRequest(t, req, http.StatusOK) var release *api.Release @@ -335,7 +335,7 @@ func testAPIGetReleaseByTag(t *testing.T) { nonexistingtag := "nonexistingtag" - req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/releases/tags/%s", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name, nonexistingtag)) + req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/releases/tags/%s", owner.Name, repo.Name, nonexistingtag)) resp = MakeRequest(t, req, http.StatusNotFound) var err *api.APIError @@ -388,17 +388,17 @@ func TestAPIDeleteReleaseByTagName(t *testing.T) { createNewReleaseUsingAPI(t, token, owner, repo, "release-tag", "", "Release Tag", "test") // delete release - req := NewRequestf(t, http.MethodDelete, "/api/v1/repos/%s/%s%s/releases/tags/release-tag", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name). + req := NewRequestf(t, http.MethodDelete, "/api/v1/repos/%s/%s/releases/tags/release-tag", owner.Name, repo.Name). AddTokenAuth(token) _ = MakeRequest(t, req, http.StatusNoContent) // make sure release is deleted - req = NewRequestf(t, http.MethodDelete, "/api/v1/repos/%s/%s%s/releases/tags/release-tag", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name). + req = NewRequestf(t, http.MethodDelete, "/api/v1/repos/%s/%s/releases/tags/release-tag", owner.Name, repo.Name). AddTokenAuth(token) _ = MakeRequest(t, req, http.StatusNotFound) // delete release tag too - req = NewRequestf(t, http.MethodDelete, "/api/v1/repos/%s/%s%s/tags/release-tag", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name). + req = NewRequestf(t, http.MethodDelete, "/api/v1/repos/%s/%s/tags/release-tag", owner.Name, repo.Name). AddTokenAuth(token) _ = MakeRequest(t, req, http.StatusNoContent) } @@ -416,7 +416,7 @@ func TestAPIUploadAssetRelease(t *testing.T) { bufLargeBytes := bytes.Repeat([]byte{' '}, 2*1024*1024) release := createNewReleaseUsingAPI(t, token, owner, repo, "release-tag", "", "Release Tag", "test") - assetURL := fmt.Sprintf("/api/v1/repos/%s/%s%s/releases/%d/assets", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name, release.ID) + assetURL := fmt.Sprintf("/api/v1/repos/%s/%s/releases/%d/assets", owner.Name, repo.Name, release.ID) t.Run("multipart/form-data", func(t *testing.T) { defer tests.PrintCurrentTest(t)() diff --git a/tests/integration/api_repo_archive_test.go b/tests/integration/api_repo_archive_test.go index ce64440343..97c2c0d54b 100644 --- a/tests/integration/api_repo_archive_test.go +++ b/tests/integration/api_repo_archive_test.go @@ -30,13 +30,13 @@ func TestAPIDownloadArchive(t *testing.T) { session := loginUser(t, user2.LowerName) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeReadRepository) - link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s%s/archive/master.zip", user2.Name, maybeGroupSegment(repo.GroupID), repo.Name)) + link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/archive/master.zip", user2.Name, repo.Name)) resp := MakeRequest(t, NewRequest(t, "GET", link.String()).AddTokenAuth(token), http.StatusOK) bs, err := io.ReadAll(resp.Body) assert.NoError(t, err) assert.Len(t, bs, 320) - link, _ = url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s%s/archive/master.tar.gz", user2.Name, maybeGroupSegment(repo.GroupID), repo.Name)) + link, _ = url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/archive/master.tar.gz", user2.Name, repo.Name)) resp = MakeRequest(t, NewRequest(t, "GET", link.String()).AddTokenAuth(token), http.StatusOK) bs, err = io.ReadAll(resp.Body) assert.NoError(t, err) @@ -52,13 +52,13 @@ func TestAPIDownloadArchive(t *testing.T) { // The locked URL should give the same bytes as the non-locked one assert.Equal(t, bs, bs2) - link, _ = url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s%s/archive/master.bundle", user2.Name, maybeGroupSegment(repo.GroupID), repo.Name)) + link, _ = url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/archive/master.bundle", user2.Name, repo.Name)) resp = MakeRequest(t, NewRequest(t, "GET", link.String()).AddTokenAuth(token), http.StatusOK) bs, err = io.ReadAll(resp.Body) assert.NoError(t, err) assert.Len(t, bs, 382) - link, _ = url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s%s/archive/master", user2.Name, maybeGroupSegment(repo.GroupID), repo.Name)) + link, _ = url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/archive/master", user2.Name, repo.Name)) MakeRequest(t, NewRequest(t, "GET", link.String()).AddTokenAuth(token), http.StatusBadRequest) t.Run("GitHubStyle", testAPIDownloadArchiveGitHubStyle) @@ -73,13 +73,13 @@ func testAPIDownloadArchiveGitHubStyle(t *testing.T) { session := loginUser(t, user2.LowerName) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeReadRepository) - link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s%s/zipball/master", user2.Name, maybeGroupSegment(repo.GroupID), repo.Name)) + link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/zipball/master", user2.Name, repo.Name)) resp := MakeRequest(t, NewRequest(t, "GET", link.String()).AddTokenAuth(token), http.StatusOK) bs, err := io.ReadAll(resp.Body) assert.NoError(t, err) assert.Len(t, bs, 320) - link, _ = url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s%s/tarball/master", user2.Name, maybeGroupSegment(repo.GroupID), repo.Name)) + link, _ = url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/tarball/master", user2.Name, repo.Name)) resp = MakeRequest(t, NewRequest(t, "GET", link.String()).AddTokenAuth(token), http.StatusOK) bs, err = io.ReadAll(resp.Body) assert.NoError(t, err) @@ -95,7 +95,7 @@ func testAPIDownloadArchiveGitHubStyle(t *testing.T) { // The locked URL should give the same bytes as the non-locked one assert.Equal(t, bs, bs2) - link, _ = url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s%s/bundle/master", user2.Name, maybeGroupSegment(repo.GroupID), repo.Name)) + link, _ = url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/bundle/master", user2.Name, repo.Name)) resp = MakeRequest(t, NewRequest(t, "GET", link.String()).AddTokenAuth(token), http.StatusOK) bs, err = io.ReadAll(resp.Body) assert.NoError(t, err) diff --git a/tests/integration/api_repo_avatar_test.go b/tests/integration/api_repo_avatar_test.go index 7f73bcfffb..6677885f7e 100644 --- a/tests/integration/api_repo_avatar_test.go +++ b/tests/integration/api_repo_avatar_test.go @@ -38,7 +38,7 @@ func TestAPIUpdateRepoAvatar(t *testing.T) { Image: base64.StdEncoding.EncodeToString(avatar), } - req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/avatar", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name), &opts). + req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/avatar", repo.OwnerName, repo.Name), &opts). AddTokenAuth(token) MakeRequest(t, req, http.StatusNoContent) @@ -47,7 +47,7 @@ func TestAPIUpdateRepoAvatar(t *testing.T) { Image: "Invalid", } - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/avatar", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name), &opts). + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/avatar", repo.OwnerName, repo.Name), &opts). AddTokenAuth(token) MakeRequest(t, req, http.StatusBadRequest) @@ -62,7 +62,7 @@ func TestAPIUpdateRepoAvatar(t *testing.T) { Image: base64.StdEncoding.EncodeToString(text), } - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/avatar", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name), &opts). + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/avatar", repo.OwnerName, repo.Name), &opts). AddTokenAuth(token) MakeRequest(t, req, http.StatusInternalServerError) } @@ -74,7 +74,7 @@ func TestAPIDeleteRepoAvatar(t *testing.T) { user2 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}) token := getUserToken(t, user2.LowerName, auth_model.AccessTokenScopeWriteRepository) - req := NewRequest(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s%s/avatar", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name)). + req := NewRequest(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s/avatar", repo.OwnerName, repo.Name)). AddTokenAuth(token) MakeRequest(t, req, http.StatusNoContent) } diff --git a/tests/integration/api_repo_branch_test.go b/tests/integration/api_repo_branch_test.go index ea9b036bbf..2438db72c5 100644 --- a/tests/integration/api_repo_branch_test.go +++ b/tests/integration/api_repo_branch_test.go @@ -31,7 +31,7 @@ func TestAPIRepoBranchesPlain(t *testing.T) { // public only token should be forbidden publicOnlyToken := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopePublicOnly, auth_model.AccessTokenScopeWriteRepository) - link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/org3/%s%s/branches", maybeGroupSegment(repo3.GroupID), repo3.Name)) // a plain repo + link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/org3/%s/branches", repo3.Name)) // a plain repo MakeRequest(t, NewRequest(t, "GET", link.String()).AddTokenAuth(publicOnlyToken), http.StatusForbidden) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) @@ -45,7 +45,7 @@ func TestAPIRepoBranchesPlain(t *testing.T) { assert.Equal(t, "test_branch", branches[0].Name) assert.Equal(t, "master", branches[1].Name) - link2, _ := url.Parse(fmt.Sprintf("/api/v1/repos/org3/%s%s/branches/test_branch", maybeGroupSegment(repo3.GroupID), repo3.Name)) + link2, _ := url.Parse(fmt.Sprintf("/api/v1/repos/org3/%s/branches/test_branch", repo3.Name)) MakeRequest(t, NewRequest(t, "GET", link2.String()).AddTokenAuth(publicOnlyToken), http.StatusForbidden) resp = MakeRequest(t, NewRequest(t, "GET", link2.String()).AddTokenAuth(token), http.StatusOK) @@ -79,7 +79,7 @@ func TestAPIRepoBranchesPlain(t *testing.T) { assert.Equal(t, "test_branch2", branches[1].Name) assert.Equal(t, "master", branches[2].Name) - link3, _ := url.Parse(fmt.Sprintf("/api/v1/repos/org3/%s%s/branches/test_branch2", maybeGroupSegment(repo3.GroupID), repo3.Name)) + link3, _ := url.Parse(fmt.Sprintf("/api/v1/repos/org3/%s/branches/test_branch2", repo3.Name)) MakeRequest(t, NewRequest(t, "DELETE", link3.String()), http.StatusNotFound) MakeRequest(t, NewRequest(t, "DELETE", link3.String()).AddTokenAuth(publicOnlyToken), http.StatusForbidden) @@ -96,7 +96,7 @@ func TestAPIRepoBranchesMirror(t *testing.T) { session := loginUser(t, user1.LowerName) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) - link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/org3/%s%s/branches", maybeGroupSegment(repo5.GroupID), repo5.Name)) // a mirror repo + link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/org3/%s/branches", repo5.Name)) // a mirror repo resp := MakeRequest(t, NewRequest(t, "GET", link.String()).AddTokenAuth(token), http.StatusOK) bs, err := io.ReadAll(resp.Body) assert.NoError(t, err) @@ -107,7 +107,7 @@ func TestAPIRepoBranchesMirror(t *testing.T) { assert.Equal(t, "test_branch", branches[0].Name) assert.Equal(t, "master", branches[1].Name) - link2, _ := url.Parse(fmt.Sprintf("/api/v1/repos/org3/%s%s/branches/test_branch", maybeGroupSegment(repo5.GroupID), repo5.Name)) + link2, _ := url.Parse(fmt.Sprintf("/api/v1/repos/org3/%s/branches/test_branch", repo5.Name)) resp = MakeRequest(t, NewRequest(t, "GET", link2.String()).AddTokenAuth(token), http.StatusOK) bs, err = io.ReadAll(resp.Body) assert.NoError(t, err) diff --git a/tests/integration/api_repo_collaborator_test.go b/tests/integration/api_repo_collaborator_test.go index ff5435b8e8..11e2924e84 100644 --- a/tests/integration/api_repo_collaborator_test.go +++ b/tests/integration/api_repo_collaborator_test.go @@ -29,10 +29,10 @@ func TestAPIRepoCollaboratorPermission(t *testing.T) { user11 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 11}) user34 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 34}) - testCtx := NewAPITestContext(t, repo2Owner.Name, repo2.Name, repo2.GroupID, auth_model.AccessTokenScopeWriteRepository) + testCtx := NewAPITestContext(t, repo2Owner.Name, repo2.Name, auth_model.AccessTokenScopeWriteRepository) t.Run("RepoOwnerShouldBeOwner", func(t *testing.T) { - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/collaborators/%s/permission", repo2Owner.Name, maybeGroupSegment(repo2.GroupID), repo2.Name, repo2Owner.Name). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/collaborators/%s/permission", repo2Owner.Name, repo2.Name, repo2Owner.Name). AddTokenAuth(testCtx.Token) resp := MakeRequest(t, req, http.StatusOK) @@ -45,7 +45,7 @@ func TestAPIRepoCollaboratorPermission(t *testing.T) { t.Run("CollaboratorWithReadAccess", func(t *testing.T) { t.Run("AddUserAsCollaboratorWithReadAccess", doAPIAddCollaborator(testCtx, user4.Name, perm.AccessModeRead)) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/collaborators/%s/permission", repo2Owner.Name, maybeGroupSegment(repo2.GroupID), repo2.Name, user4.Name). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/collaborators/%s/permission", repo2Owner.Name, repo2.Name, user4.Name). AddTokenAuth(testCtx.Token) resp := MakeRequest(t, req, http.StatusOK) @@ -58,7 +58,7 @@ func TestAPIRepoCollaboratorPermission(t *testing.T) { t.Run("CollaboratorWithWriteAccess", func(t *testing.T) { t.Run("AddUserAsCollaboratorWithWriteAccess", doAPIAddCollaborator(testCtx, user4.Name, perm.AccessModeWrite)) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/collaborators/%s/permission", repo2Owner.Name, maybeGroupSegment(repo2.GroupID), repo2.Name, user4.Name). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/collaborators/%s/permission", repo2Owner.Name, repo2.Name, user4.Name). AddTokenAuth(testCtx.Token) resp := MakeRequest(t, req, http.StatusOK) @@ -71,7 +71,7 @@ func TestAPIRepoCollaboratorPermission(t *testing.T) { t.Run("CollaboratorWithAdminAccess", func(t *testing.T) { t.Run("AddUserAsCollaboratorWithAdminAccess", doAPIAddCollaborator(testCtx, user4.Name, perm.AccessModeAdmin)) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/collaborators/%s/permission", repo2Owner.Name, maybeGroupSegment(repo2.GroupID), repo2.Name, user4.Name). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/collaborators/%s/permission", repo2Owner.Name, repo2.Name, user4.Name). AddTokenAuth(testCtx.Token) resp := MakeRequest(t, req, http.StatusOK) @@ -82,13 +82,13 @@ func TestAPIRepoCollaboratorPermission(t *testing.T) { }) t.Run("CollaboratorNotFound", func(t *testing.T) { - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/collaborators/%s/permission", repo2Owner.Name, maybeGroupSegment(repo2.GroupID), repo2.Name, "non-existent-user"). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/collaborators/%s/permission", repo2Owner.Name, repo2.Name, "non-existent-user"). AddTokenAuth(testCtx.Token) MakeRequest(t, req, http.StatusNotFound) }) t.Run("CollaboratorBlocked", func(t *testing.T) { - ctx := NewAPITestContext(t, repo2Owner.Name, repo2.Name, repo2.GroupID, auth_model.AccessTokenScopeWriteRepository) + ctx := NewAPITestContext(t, repo2Owner.Name, repo2.Name, auth_model.AccessTokenScopeWriteRepository) ctx.ExpectedCode = http.StatusForbidden doAPIAddCollaborator(ctx, user34.Name, perm.AccessModeAdmin)(t) }) @@ -97,9 +97,9 @@ func TestAPIRepoCollaboratorPermission(t *testing.T) { t.Run("AddUserAsCollaboratorWithReadAccess", doAPIAddCollaborator(testCtx, user5.Name, perm.AccessModeRead)) _session := loginUser(t, user5.Name) - _testCtx := NewAPITestContext(t, user5.Name, repo2.Name, repo2.GroupID, auth_model.AccessTokenScopeReadRepository) + _testCtx := NewAPITestContext(t, user5.Name, repo2.Name, auth_model.AccessTokenScopeReadRepository) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/collaborators/%s/permission", repo2Owner.Name, maybeGroupSegment(repo2.GroupID), repo2.Name, user5.Name). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/collaborators/%s/permission", repo2Owner.Name, repo2.Name, user5.Name). AddTokenAuth(_testCtx.Token) resp := _session.MakeRequest(t, req, http.StatusOK) @@ -112,7 +112,7 @@ func TestAPIRepoCollaboratorPermission(t *testing.T) { session := loginUser(t, user5.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeReadRepository) - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/collaborators/%s/permission", repo2Owner.Name, maybeGroupSegment(repo2.GroupID), repo2.Name, user5.Name).AddTokenAuth(token) + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/collaborators/%s/permission", repo2Owner.Name, repo2.Name, user5.Name).AddTokenAuth(token) resp = MakeRequest(t, req, http.StatusOK) repoCollPerm := api.RepoCollaboratorPermission{} @@ -126,9 +126,9 @@ func TestAPIRepoCollaboratorPermission(t *testing.T) { t.Run("AddUserAsCollaboratorWithReadAccess", doAPIAddCollaborator(testCtx, user5.Name, perm.AccessModeRead)) _session := loginUser(t, user5.Name) - _testCtx := NewAPITestContext(t, user5.Name, repo2.Name, repo2.GroupID, auth_model.AccessTokenScopeReadRepository) + _testCtx := NewAPITestContext(t, user5.Name, repo2.Name, auth_model.AccessTokenScopeReadRepository) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/collaborators/%s/permission", repo2Owner.Name, maybeGroupSegment(repo2.GroupID), repo2.Name, user5.Name). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/collaborators/%s/permission", repo2Owner.Name, repo2.Name, user5.Name). AddTokenAuth(_testCtx.Token) resp := _session.MakeRequest(t, req, http.StatusOK) @@ -143,9 +143,9 @@ func TestAPIRepoCollaboratorPermission(t *testing.T) { t.Run("AddUserAsCollaboratorWithReadAccess", doAPIAddCollaborator(testCtx, user11.Name, perm.AccessModeRead)) _session := loginUser(t, user10.Name) - _testCtx := NewAPITestContext(t, user10.Name, repo2.Name, repo2.GroupID, auth_model.AccessTokenScopeReadRepository) + _testCtx := NewAPITestContext(t, user10.Name, repo2.Name, auth_model.AccessTokenScopeReadRepository) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/collaborators/%s/permission", repo2Owner.Name, maybeGroupSegment(repo2.GroupID), repo2.Name, user11.Name). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/collaborators/%s/permission", repo2Owner.Name, repo2.Name, user11.Name). AddTokenAuth(_testCtx.Token) resp := _session.MakeRequest(t, req, http.StatusOK) diff --git a/tests/integration/api_repo_edit_test.go b/tests/integration/api_repo_edit_test.go index d4d81134f3..215b48b64b 100644 --- a/tests/integration/api_repo_edit_test.go +++ b/tests/integration/api_repo_edit_test.go @@ -398,11 +398,11 @@ func TestAPIRepoEdit(t *testing.T) { // Test using org repo "org3/repo3" where user2 is a collaborator origRepoEditOption = getRepoEditOptionFromRepo(repo3) repoEditOption = getNewRepoEditOption(origRepoEditOption) - req = NewRequestWithJSON(t, "PATCH", fmt.Sprintf("/api/v1/repos/%s/group/%d/%s", org3.Name, repo3.GroupID, repo3.Name), &repoEditOption). + req = NewRequestWithJSON(t, "PATCH", fmt.Sprintf("/api/v1/repos/%s/%s", org3.Name, repo3.Name), &repoEditOption). AddTokenAuth(token2) MakeRequest(t, req, http.StatusOK) // reset repo in db - req = NewRequestWithJSON(t, "PATCH", fmt.Sprintf("/api/v1/repos/%s/group/%d/%s", org3.Name, repo3.GroupID, *repoEditOption.Name), &origRepoEditOption). + req = NewRequestWithJSON(t, "PATCH", fmt.Sprintf("/api/v1/repos/%s/%s", org3.Name, *repoEditOption.Name), &origRepoEditOption). AddTokenAuth(token2) _ = MakeRequest(t, req, http.StatusOK) diff --git a/tests/integration/api_repo_file_create_test.go b/tests/integration/api_repo_file_create_test.go index 7aebf1a169..5bc920a274 100644 --- a/tests/integration/api_repo_file_create_test.go +++ b/tests/integration/api_repo_file_create_test.go @@ -179,7 +179,7 @@ func TestAPICreateFile(t *testing.T) { createFileOptions.BranchName = branch fileID++ treePath := fmt.Sprintf("new/file%d.txt", fileID) - req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, treePath), &createFileOptions). + req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &createFileOptions). AddTokenAuth(token2) resp := MakeRequest(t, req, http.StatusCreated) gitRepo, _ := gitrepo.OpenRepository(t.Context(), repo1) @@ -214,7 +214,7 @@ func TestAPICreateFile(t *testing.T) { createFileOptions.NewBranchName = "new_branch" fileID++ treePath := fmt.Sprintf("new/file%d.txt", fileID) - req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, treePath), &createFileOptions). + req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &createFileOptions). AddTokenAuth(token2) resp := MakeRequest(t, req, http.StatusCreated) var fileResponse api.FileResponse @@ -232,7 +232,7 @@ func TestAPICreateFile(t *testing.T) { createFileOptions.Message = "" fileID++ treePath = fmt.Sprintf("new/file%d.txt", fileID) - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, treePath), &createFileOptions). + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &createFileOptions). AddTokenAuth(token2) resp = MakeRequest(t, req, http.StatusCreated) DecodeJSON(t, resp, &fileResponse) @@ -242,7 +242,7 @@ func TestAPICreateFile(t *testing.T) { // Test trying to create a file that already exists, should fail createFileOptions = getCreateFileOptions() treePath = "README.md" - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, treePath), &createFileOptions). + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &createFileOptions). AddTokenAuth(token2) resp = MakeRequest(t, req, http.StatusUnprocessableEntity) expectedAPIError := context.APIError{ @@ -257,7 +257,7 @@ func TestAPICreateFile(t *testing.T) { createFileOptions = getCreateFileOptions() fileID++ treePath = fmt.Sprintf("new/file%d.txt", fileID) - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo16.GroupID), repo16.Name, treePath), &createFileOptions). + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo16.Name, treePath), &createFileOptions). AddTokenAuth(token4) MakeRequest(t, req, http.StatusNotFound) @@ -265,14 +265,14 @@ func TestAPICreateFile(t *testing.T) { createFileOptions = getCreateFileOptions() fileID++ treePath = fmt.Sprintf("new/file%d.txt", fileID) - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo16.GroupID), repo16.Name, treePath), &createFileOptions) + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo16.Name, treePath), &createFileOptions) MakeRequest(t, req, http.StatusNotFound) // Test using access token for a private repo that the user of the token owns createFileOptions = getCreateFileOptions() fileID++ treePath = fmt.Sprintf("new/file%d.txt", fileID) - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo16.GroupID), repo16.Name, treePath), &createFileOptions). + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo16.Name, treePath), &createFileOptions). AddTokenAuth(token2) MakeRequest(t, req, http.StatusCreated) @@ -280,7 +280,7 @@ func TestAPICreateFile(t *testing.T) { createFileOptions = getCreateFileOptions() fileID++ treePath = fmt.Sprintf("new/file%d.txt", fileID) - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", org3.Name, maybeGroupSegment(repo3.GroupID), repo3.Name, treePath), &createFileOptions). + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", org3.Name, repo3.Name, treePath), &createFileOptions). AddTokenAuth(token2) MakeRequest(t, req, http.StatusCreated) @@ -288,19 +288,19 @@ func TestAPICreateFile(t *testing.T) { createFileOptions = getCreateFileOptions() fileID++ treePath = fmt.Sprintf("new/file%d.txt", fileID) - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", org3.Name, maybeGroupSegment(repo3.GroupID), repo3.Name, treePath), &createFileOptions) + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", org3.Name, repo3.Name, treePath), &createFileOptions) MakeRequest(t, req, http.StatusNotFound) // Test using repo "user2/repo1" where user4 is a NOT collaborator createFileOptions = getCreateFileOptions() fileID++ treePath = fmt.Sprintf("new/file%d.txt", fileID) - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, treePath), &createFileOptions). + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &createFileOptions). AddTokenAuth(token4) MakeRequest(t, req, http.StatusForbidden) // Test creating a file in an empty repository - doAPICreateRepository(NewAPITestContext(t, "user2", "empty-repo", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser), true)(t) + doAPICreateRepository(NewAPITestContext(t, "user2", "empty-repo", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser), true)(t) createFileOptions = getCreateFileOptions() fileID++ treePath = fmt.Sprintf("new/file%d.txt", fileID) diff --git a/tests/integration/api_repo_file_delete_test.go b/tests/integration/api_repo_file_delete_test.go index f6ec8db280..59e2131618 100644 --- a/tests/integration/api_repo_file_delete_test.go +++ b/tests/integration/api_repo_file_delete_test.go @@ -64,7 +64,7 @@ func TestAPIDeleteFile(t *testing.T) { createFile(user2, repo1, treePath) deleteFileOptions := getDeleteFileOptions() deleteFileOptions.BranchName = branch - req := NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, treePath), &deleteFileOptions). + req := NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &deleteFileOptions). AddTokenAuth(token2) resp := MakeRequest(t, req, http.StatusOK) var fileResponse api.FileResponse @@ -80,7 +80,7 @@ func TestAPIDeleteFile(t *testing.T) { deleteFileOptions := getDeleteFileOptions() deleteFileOptions.BranchName = repo1.DefaultBranch deleteFileOptions.NewBranchName = "new_branch" - req := NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, treePath), &deleteFileOptions). + req := NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &deleteFileOptions). AddTokenAuth(token2) resp := MakeRequest(t, req, http.StatusOK) var fileResponse api.FileResponse @@ -95,7 +95,7 @@ func TestAPIDeleteFile(t *testing.T) { createFile(user2, repo1, treePath) deleteFileOptions = getDeleteFileOptions() deleteFileOptions.Message = "" - req = NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, treePath), &deleteFileOptions). + req = NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &deleteFileOptions). AddTokenAuth(token2) resp = MakeRequest(t, req, http.StatusOK) DecodeJSON(t, resp, &fileResponse) @@ -108,7 +108,7 @@ func TestAPIDeleteFile(t *testing.T) { createFile(user2, repo1, treePath) deleteFileOptions = getDeleteFileOptions() deleteFileOptions.SHA = "badsha" - req = NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, treePath), &deleteFileOptions). + req = NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &deleteFileOptions). AddTokenAuth(token2) MakeRequest(t, req, http.StatusUnprocessableEntity) @@ -117,7 +117,7 @@ func TestAPIDeleteFile(t *testing.T) { treePath = fmt.Sprintf("delete/file%d.txt", fileID) createFile(user2, repo16, treePath) deleteFileOptions = getDeleteFileOptions() - req = NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo16.GroupID), repo16.Name, treePath), &deleteFileOptions). + req = NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo16.Name, treePath), &deleteFileOptions). AddTokenAuth(token4) MakeRequest(t, req, http.StatusNotFound) @@ -126,7 +126,7 @@ func TestAPIDeleteFile(t *testing.T) { treePath = fmt.Sprintf("delete/file%d.txt", fileID) createFile(user2, repo16, treePath) deleteFileOptions = getDeleteFileOptions() - req = NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo16.GroupID), repo16.Name, treePath), &deleteFileOptions) + req = NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo16.Name, treePath), &deleteFileOptions) MakeRequest(t, req, http.StatusNotFound) // Test using access token for a private repo that the user of the token owns @@ -134,7 +134,7 @@ func TestAPIDeleteFile(t *testing.T) { treePath = fmt.Sprintf("delete/file%d.txt", fileID) createFile(user2, repo16, treePath) deleteFileOptions = getDeleteFileOptions() - req = NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo16.GroupID), repo16.Name, treePath), &deleteFileOptions). + req = NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo16.Name, treePath), &deleteFileOptions). AddTokenAuth(token2) MakeRequest(t, req, http.StatusOK) @@ -143,7 +143,7 @@ func TestAPIDeleteFile(t *testing.T) { treePath = fmt.Sprintf("delete/file%d.txt", fileID) createFile(org3, repo3, treePath) deleteFileOptions = getDeleteFileOptions() - req = NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", org3.Name, maybeGroupSegment(repo3.GroupID), repo3.Name, treePath), &deleteFileOptions). + req = NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", org3.Name, repo3.Name, treePath), &deleteFileOptions). AddTokenAuth(token2) MakeRequest(t, req, http.StatusOK) @@ -152,7 +152,7 @@ func TestAPIDeleteFile(t *testing.T) { treePath = fmt.Sprintf("delete/file%d.txt", fileID) createFile(org3, repo3, treePath) deleteFileOptions = getDeleteFileOptions() - req = NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", org3.Name, maybeGroupSegment(repo3.GroupID), repo3.Name, treePath), &deleteFileOptions) + req = NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", org3.Name, repo3.Name, treePath), &deleteFileOptions) MakeRequest(t, req, http.StatusNotFound) // Test using repo "user2/repo1" where user4 is a NOT collaborator @@ -160,7 +160,7 @@ func TestAPIDeleteFile(t *testing.T) { treePath = fmt.Sprintf("delete/file%d.txt", fileID) createFile(user2, repo1, treePath) deleteFileOptions = getDeleteFileOptions() - req = NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, treePath), &deleteFileOptions). + req = NewRequestWithJSON(t, "DELETE", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &deleteFileOptions). AddTokenAuth(token4) MakeRequest(t, req, http.StatusForbidden) }) diff --git a/tests/integration/api_repo_file_diffpatch_test.go b/tests/integration/api_repo_file_diffpatch_test.go index a7dd238a96..e463027ed3 100644 --- a/tests/integration/api_repo_file_diffpatch_test.go +++ b/tests/integration/api_repo_file_diffpatch_test.go @@ -73,12 +73,12 @@ func TestAPIApplyDiffPatchFileOptions(t *testing.T) { MakeRequest(t, req, http.StatusCreated) // Test using org repo "org3/repo3" where user2 is a collaborator - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/diffpatch", org3.Name, maybeGroupSegment(repo3.GroupID), repo3.Name), getApplyDiffPatchFileOptions()). + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/diffpatch", org3.Name, repo3.Name), getApplyDiffPatchFileOptions()). AddTokenAuth(token2) MakeRequest(t, req, http.StatusCreated) // Test using org repo "org3/repo3" with no user token - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/diffpatch", org3.Name, maybeGroupSegment(repo3.GroupID), repo3.Name), getApplyDiffPatchFileOptions()) + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/diffpatch", org3.Name, repo3.Name), getApplyDiffPatchFileOptions()) MakeRequest(t, req, http.StatusNotFound) // Test using repo "user2/repo1" where user4 is a NOT collaborator diff --git a/tests/integration/api_repo_file_get_test.go b/tests/integration/api_repo_file_get_test.go index 62c7b8c775..ec50cf52f4 100644 --- a/tests/integration/api_repo_file_get_test.go +++ b/tests/integration/api_repo_file_get_test.go @@ -25,7 +25,7 @@ func TestAPIGetRawFileOrLFS(t *testing.T) { // Test with LFS onGiteaRun(t, func(t *testing.T, u *url.URL) { createLFSTestRepository(t, "repo-lfs-test") - httpContext := NewAPITestContext(t, "user2", "repo-lfs-test", 0, auth_model.AccessTokenScopeWriteRepository) + httpContext := NewAPITestContext(t, "user2", "repo-lfs-test", auth_model.AccessTokenScopeWriteRepository) t.Run("repo-lfs-test", func(t *testing.T) { u.Path = httpContext.GitPath() dstPath := t.TempDir() diff --git a/tests/integration/api_repo_file_update_test.go b/tests/integration/api_repo_file_update_test.go index 79eec65544..2847e01791 100644 --- a/tests/integration/api_repo_file_update_test.go +++ b/tests/integration/api_repo_file_update_test.go @@ -133,7 +133,7 @@ func TestAPIUpdateFile(t *testing.T) { createFile(user2, repo1, treePath) updateFileOptions := getUpdateFileOptions() updateFileOptions.BranchName = branch - req := NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, treePath), &updateFileOptions). + req := NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &updateFileOptions). AddTokenAuth(token2) resp := MakeRequest(t, req, http.StatusOK) gitRepo, _ := gitrepo.OpenRepository(t.Context(), repo1) @@ -164,7 +164,7 @@ func TestAPIUpdateFile(t *testing.T) { fileID++ treePath := fmt.Sprintf("update/file%d.txt", fileID) createFile(user2, repo1, treePath) - req := NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, treePath), &updateFileOptions). + req := NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &updateFileOptions). AddTokenAuth(token2) resp := MakeRequest(t, req, http.StatusOK) var fileResponse api.FileResponse @@ -194,7 +194,7 @@ func TestAPIUpdateFile(t *testing.T) { createFile(user2, repo1, treePath) updateFileOptions.FromPath = treePath treePath = "rename/" + treePath - req = NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, treePath), &updateFileOptions). + req = NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &updateFileOptions). AddTokenAuth(token2) resp = MakeRequest(t, req, http.StatusOK) DecodeJSON(t, resp, &fileResponse) @@ -212,7 +212,7 @@ func TestAPIUpdateFile(t *testing.T) { fileID++ treePath = fmt.Sprintf("update/file%d.txt", fileID) createFile(user2, repo1, treePath) - req = NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, treePath), &updateFileOptions). + req = NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &updateFileOptions). AddTokenAuth(token2) resp = MakeRequest(t, req, http.StatusOK) DecodeJSON(t, resp, &fileResponse) @@ -226,7 +226,7 @@ func TestAPIUpdateFile(t *testing.T) { updateFileOptions = getUpdateFileOptions() correctSHA := updateFileOptions.SHA updateFileOptions.SHA = "badsha" - req = NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, treePath), &updateFileOptions). + req = NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &updateFileOptions). AddTokenAuth(token2) resp = MakeRequest(t, req, http.StatusUnprocessableEntity) expectedAPIError := context.APIError{ @@ -242,7 +242,7 @@ func TestAPIUpdateFile(t *testing.T) { treePath = fmt.Sprintf("update/file%d.txt", fileID) createFile(user2, repo16, treePath) updateFileOptions = getUpdateFileOptions() - req = NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo16.GroupID), repo16.Name, treePath), &updateFileOptions). + req = NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo16.Name, treePath), &updateFileOptions). AddTokenAuth(token4) MakeRequest(t, req, http.StatusNotFound) @@ -251,7 +251,7 @@ func TestAPIUpdateFile(t *testing.T) { treePath = fmt.Sprintf("update/file%d.txt", fileID) createFile(user2, repo16, treePath) updateFileOptions = getUpdateFileOptions() - req = NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo16.GroupID), repo16.Name, treePath), &updateFileOptions) + req = NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo16.Name, treePath), &updateFileOptions) MakeRequest(t, req, http.StatusNotFound) // Test using access token for a private repo that the user of the token owns @@ -259,7 +259,7 @@ func TestAPIUpdateFile(t *testing.T) { treePath = fmt.Sprintf("update/file%d.txt", fileID) createFile(user2, repo16, treePath) updateFileOptions = getUpdateFileOptions() - req = NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo16.GroupID), repo16.Name, treePath), &updateFileOptions). + req = NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo16.Name, treePath), &updateFileOptions). AddTokenAuth(token2) MakeRequest(t, req, http.StatusOK) @@ -268,7 +268,7 @@ func TestAPIUpdateFile(t *testing.T) { treePath = fmt.Sprintf("update/file%d.txt", fileID) createFile(org3, repo3, treePath) updateFileOptions = getUpdateFileOptions() - req = NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", org3.Name, maybeGroupSegment(repo3.GroupID), repo3.Name, treePath), &updateFileOptions). + req = NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", org3.Name, repo3.Name, treePath), &updateFileOptions). AddTokenAuth(token2) MakeRequest(t, req, http.StatusOK) @@ -277,7 +277,7 @@ func TestAPIUpdateFile(t *testing.T) { treePath = fmt.Sprintf("update/file%d.txt", fileID) createFile(org3, repo3, treePath) updateFileOptions = getUpdateFileOptions() - req = NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", org3.Name, maybeGroupSegment(repo3.GroupID), repo3.Name, treePath), &updateFileOptions) + req = NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", org3.Name, repo3.Name, treePath), &updateFileOptions) MakeRequest(t, req, http.StatusNotFound) // Test using repo "user2/repo1" where user4 is a NOT collaborator @@ -285,7 +285,7 @@ func TestAPIUpdateFile(t *testing.T) { treePath = fmt.Sprintf("update/file%d.txt", fileID) createFile(user2, repo1, treePath) updateFileOptions = getUpdateFileOptions() - req = NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, treePath), &updateFileOptions). + req = NewRequestWithJSON(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath), &updateFileOptions). AddTokenAuth(token4) MakeRequest(t, req, http.StatusForbidden) }) diff --git a/tests/integration/api_repo_files_change_test.go b/tests/integration/api_repo_files_change_test.go index f22e7db675..47fe5066a7 100644 --- a/tests/integration/api_repo_files_change_test.go +++ b/tests/integration/api_repo_files_change_test.go @@ -90,7 +90,7 @@ func TestAPIChangeFiles(t *testing.T) { changeFilesOptions.Files[0].Path = createTreePath changeFilesOptions.Files[1].Path = updateTreePath changeFilesOptions.Files[2].Path = deleteTreePath - req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name), &changeFilesOptions). + req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents", user2.Name, repo1.Name), &changeFilesOptions). AddTokenAuth(token2) resp := MakeRequest(t, req, http.StatusCreated) gitRepo, _ := gitrepo.OpenRepository(t.Context(), repo1) @@ -142,7 +142,7 @@ func TestAPIChangeFiles(t *testing.T) { changeFilesOptions.Files[2].Path = deleteTreePath createFile(user2, repo1, updateTreePath) createFile(user2, repo1, deleteTreePath) - url := fmt.Sprintf("/api/v1/repos/%s/%s%s/contents", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name) + url := fmt.Sprintf("/api/v1/repos/%s/%s/contents", user2.Name, repo1.Name) req := NewRequestWithJSON(t, "POST", url, &changeFilesOptions). AddTokenAuth(token2) resp := MakeRequest(t, req, http.StatusCreated) @@ -314,7 +314,7 @@ func TestAPIChangeFiles(t *testing.T) { changeFilesOptions.Files[0].Path = createTreePath changeFilesOptions.Files[1].Path = updateTreePath changeFilesOptions.Files[2].Path = deleteTreePath - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents", user2.Name, maybeGroupSegment(repo16.GroupID), repo16.Name), &changeFilesOptions). + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents", user2.Name, repo16.Name), &changeFilesOptions). AddTokenAuth(token4) MakeRequest(t, req, http.StatusNotFound) @@ -329,7 +329,7 @@ func TestAPIChangeFiles(t *testing.T) { changeFilesOptions.Files[0].Path = createTreePath changeFilesOptions.Files[1].Path = updateTreePath changeFilesOptions.Files[2].Path = deleteTreePath - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents", user2.Name, maybeGroupSegment(repo16.GroupID), repo16.Name), &changeFilesOptions) + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents", user2.Name, repo16.Name), &changeFilesOptions) MakeRequest(t, req, http.StatusNotFound) // Test using access token for a private repo that the user of the token owns @@ -343,7 +343,7 @@ func TestAPIChangeFiles(t *testing.T) { changeFilesOptions.Files[0].Path = createTreePath changeFilesOptions.Files[1].Path = updateTreePath changeFilesOptions.Files[2].Path = deleteTreePath - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents", user2.Name, maybeGroupSegment(repo16.GroupID), repo16.Name), &changeFilesOptions). + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents", user2.Name, repo16.Name), &changeFilesOptions). AddTokenAuth(token2) MakeRequest(t, req, http.StatusCreated) @@ -358,7 +358,7 @@ func TestAPIChangeFiles(t *testing.T) { changeFilesOptions.Files[0].Path = createTreePath changeFilesOptions.Files[1].Path = updateTreePath changeFilesOptions.Files[2].Path = deleteTreePath - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents", org3.Name, maybeGroupSegment(repo3.GroupID), repo3.Name), &changeFilesOptions). + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents", org3.Name, repo3.Name), &changeFilesOptions). AddTokenAuth(token2) MakeRequest(t, req, http.StatusCreated) @@ -373,7 +373,7 @@ func TestAPIChangeFiles(t *testing.T) { changeFilesOptions.Files[0].Path = createTreePath changeFilesOptions.Files[1].Path = updateTreePath changeFilesOptions.Files[2].Path = deleteTreePath - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents", org3.Name, maybeGroupSegment(repo3.GroupID), repo3.Name), &changeFilesOptions) + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents", org3.Name, repo3.Name), &changeFilesOptions) MakeRequest(t, req, http.StatusNotFound) // Test using repo "user2/repo1" where user4 is a NOT collaborator @@ -387,7 +387,7 @@ func TestAPIChangeFiles(t *testing.T) { changeFilesOptions.Files[0].Path = createTreePath changeFilesOptions.Files[1].Path = updateTreePath changeFilesOptions.Files[2].Path = deleteTreePath - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/contents", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name), &changeFilesOptions). + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/contents", user2.Name, repo1.Name), &changeFilesOptions). AddTokenAuth(token4) MakeRequest(t, req, http.StatusForbidden) }) diff --git a/tests/integration/api_repo_files_get_test.go b/tests/integration/api_repo_files_get_test.go index 446e5c4dc7..edf4f39063 100644 --- a/tests/integration/api_repo_files_get_test.go +++ b/tests/integration/api_repo_files_get_test.go @@ -95,13 +95,13 @@ func TestAPIGetRequestedFiles(t *testing.T) { t.Run("PermissionCheck", func(t *testing.T) { filesOptions := &api.GetFilesOptions{Files: []string{"README.md"}} // Test accessing private ref with user token that does not have access - should fail - req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/file-contents", user2.Name, maybeGroupSegment(repo16.GroupID), repo16.Name), &filesOptions).AddTokenAuth(token4) + req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/file-contents", user2.Name, repo16.Name), &filesOptions).AddTokenAuth(token4) MakeRequest(t, req, http.StatusNotFound) // Test access private ref of owner of token - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/file-contents", user2.Name, maybeGroupSegment(repo16.GroupID), repo16.Name), &filesOptions).AddTokenAuth(token2) + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/file-contents", user2.Name, repo16.Name), &filesOptions).AddTokenAuth(token2) MakeRequest(t, req, http.StatusOK) // Test access of org org3 private repo file by owner user2 - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/file-contents", org3.Name, maybeGroupSegment(repo3.GroupID), repo3.Name), &filesOptions).AddTokenAuth(token2) + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/file-contents", org3.Name, repo3.Name), &filesOptions).AddTokenAuth(token2) MakeRequest(t, req, http.StatusOK) }) diff --git a/tests/integration/api_repo_get_contents_list_test.go b/tests/integration/api_repo_get_contents_list_test.go index 81ef86e36f..679ad37bef 100644 --- a/tests/integration/api_repo_get_contents_list_test.go +++ b/tests/integration/api_repo_get_contents_list_test.go @@ -92,7 +92,7 @@ func testAPIGetContentsList(t *testing.T, u *url.URL) { // ref is default ref ref := repo1.DefaultBranch refType := "branch" - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/contents?ref=%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, ref) + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents?ref=%s", user2.Name, repo1.Name, ref) resp := MakeRequest(t, req, http.StatusOK) var contentsListResponse []*api.ContentsResponse DecodeJSON(t, resp, &contentsListResponse) @@ -104,7 +104,7 @@ func testAPIGetContentsList(t *testing.T, u *url.URL) { // No ref refType = "branch" - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/contents/", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name) + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/", user2.Name, repo1.Name) resp = MakeRequest(t, req, http.StatusOK) DecodeJSON(t, resp, &contentsListResponse) assert.NotNil(t, contentsListResponse) @@ -115,7 +115,7 @@ func testAPIGetContentsList(t *testing.T, u *url.URL) { // ref is the branch we created above in setup ref = newBranch refType = "branch" - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/contents?ref=%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, ref) + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents?ref=%s", user2.Name, repo1.Name, ref) resp = MakeRequest(t, req, http.StatusOK) DecodeJSON(t, resp, &contentsListResponse) assert.NotNil(t, contentsListResponse) @@ -129,7 +129,7 @@ func testAPIGetContentsList(t *testing.T, u *url.URL) { // ref is the new tag we created above in setup ref = newTag refType = "tag" - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/contents/?ref=%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, ref) + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/?ref=%s", user2.Name, repo1.Name, ref) resp = MakeRequest(t, req, http.StatusOK) DecodeJSON(t, resp, &contentsListResponse) assert.NotNil(t, contentsListResponse) @@ -143,7 +143,7 @@ func testAPIGetContentsList(t *testing.T, u *url.URL) { // ref is a commit ref = commitID refType = "commit" - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/contents/?ref=%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, ref) + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/?ref=%s", user2.Name, repo1.Name, ref) resp = MakeRequest(t, req, http.StatusOK) DecodeJSON(t, resp, &contentsListResponse) assert.NotNil(t, contentsListResponse) @@ -152,21 +152,21 @@ func testAPIGetContentsList(t *testing.T, u *url.URL) { // Test file contents a file with a bad ref ref = "badref" - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/contents/?ref=%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, ref) + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/?ref=%s", user2.Name, repo1.Name, ref) MakeRequest(t, req, http.StatusNotFound) // Test accessing private ref with user token that does not have access - should fail - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/contents/", user2.Name, maybeGroupSegment(repo16.GroupID), repo16.Name). + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/", user2.Name, repo16.Name). AddTokenAuth(token4) MakeRequest(t, req, http.StatusNotFound) // Test access private ref of owner of token - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/contents/", user2.Name, maybeGroupSegment(repo16.GroupID), repo16.Name). + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/", user2.Name, repo16.Name). AddTokenAuth(token2) MakeRequest(t, req, http.StatusOK) // Test access of org org3 private repo file by owner user2 - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/contents/", org3.Name, maybeGroupSegment(repo3.GroupID), repo3.Name). + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/", org3.Name, repo3.Name). AddTokenAuth(token2) MakeRequest(t, req, http.StatusOK) } diff --git a/tests/integration/api_repo_get_contents_test.go b/tests/integration/api_repo_get_contents_test.go index 7bb0044385..251816950b 100644 --- a/tests/integration/api_repo_get_contents_test.go +++ b/tests/integration/api_repo_get_contents_test.go @@ -96,14 +96,14 @@ func testAPIGetContents(t *testing.T, _ *url.URL) { /*** END SETUP ***/ // not found - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/contents/no-such/file.md", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name) + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/no-such/file.md", user2.Name, repo1.Name) resp := MakeRequest(t, req, http.StatusNotFound) assert.Contains(t, resp.Body.String(), "object does not exist [id: , rel_path: no-such]") // ref is default ref ref := repo1.DefaultBranch refType := "branch" - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/contents/%s?ref=%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, treePath, ref) + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/%s?ref=%s", user2.Name, repo1.Name, treePath, ref) resp = MakeRequest(t, req, http.StatusOK) var contentsResponse api.ContentsResponse DecodeJSON(t, resp, &contentsResponse) @@ -113,7 +113,7 @@ func testAPIGetContents(t *testing.T, _ *url.URL) { // No ref refType = "branch" - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, treePath) + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/%s", user2.Name, repo1.Name, treePath) resp = MakeRequest(t, req, http.StatusOK) DecodeJSON(t, resp, &contentsResponse) expectedContentsResponse = getExpectedContentsResponseForContents(repo1.DefaultBranch, refType, lastCommit.ID.String()) @@ -122,7 +122,7 @@ func testAPIGetContents(t *testing.T, _ *url.URL) { // ref is the branch we created above in setup ref = newBranch refType = "branch" - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/contents/%s?ref=%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, treePath, ref) + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/%s?ref=%s", user2.Name, repo1.Name, treePath, ref) resp = MakeRequest(t, req, http.StatusOK) DecodeJSON(t, resp, &contentsResponse) branchCommit, _ := gitRepo.GetBranchCommit(ref) @@ -133,7 +133,7 @@ func testAPIGetContents(t *testing.T, _ *url.URL) { // ref is the new tag we created above in setup ref = newTag refType = "tag" - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/contents/%s?ref=%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, treePath, ref) + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/%s?ref=%s", user2.Name, repo1.Name, treePath, ref) resp = MakeRequest(t, req, http.StatusOK) DecodeJSON(t, resp, &contentsResponse) tagCommit, _ := gitRepo.GetTagCommit(ref) @@ -144,7 +144,7 @@ func testAPIGetContents(t *testing.T, _ *url.URL) { // ref is a commit ref = commitID refType = "commit" - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/contents/%s?ref=%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, treePath, ref) + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/%s?ref=%s", user2.Name, repo1.Name, treePath, ref) resp = MakeRequest(t, req, http.StatusOK) DecodeJSON(t, resp, &contentsResponse) expectedContentsResponse = getExpectedContentsResponseForContents(ref, refType, commitID) @@ -152,21 +152,21 @@ func testAPIGetContents(t *testing.T, _ *url.URL) { // Test file contents a file with a bad ref ref = "badref" - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/contents/%s?ref=%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, treePath, ref) + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/%s?ref=%s", user2.Name, repo1.Name, treePath, ref) MakeRequest(t, req, http.StatusNotFound) // Test accessing private ref with user token that does not have access - should fail - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/contents/%s", user2.Name, maybeGroupSegment(repo16.GroupID), repo16.Name, treePath). + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/%s", user2.Name, repo16.Name, treePath). AddTokenAuth(token4) MakeRequest(t, req, http.StatusNotFound) // Test access private ref of owner of token - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/contents/readme.md", user2.Name, maybeGroupSegment(repo16.GroupID), repo16.Name). + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/readme.md", user2.Name, repo16.Name). AddTokenAuth(token2) MakeRequest(t, req, http.StatusOK) // Test access of org org3 private repo file by owner user2 - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/contents/%s", org3.Name, maybeGroupSegment(repo3.GroupID), repo3.Name, treePath). + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/contents/%s", org3.Name, repo3.Name, treePath). AddTokenAuth(token2) MakeRequest(t, req, http.StatusOK) } diff --git a/tests/integration/api_repo_git_blobs_test.go b/tests/integration/api_repo_git_blobs_test.go index fd9f4b2bde..d4274bdb40 100644 --- a/tests/integration/api_repo_git_blobs_test.go +++ b/tests/integration/api_repo_git_blobs_test.go @@ -35,7 +35,7 @@ func TestAPIReposGitBlobs(t *testing.T) { token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeReadRepository) // Test a public repo that anyone can GET the blob of - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/git/blobs/%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, repo1ReadmeSHA) + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/git/blobs/%s", user2.Name, repo1.Name, repo1ReadmeSHA) resp := MakeRequest(t, req, http.StatusOK) var gitBlobResponse api.GitBlobResponse DecodeJSON(t, resp, &gitBlobResponse) @@ -44,30 +44,30 @@ func TestAPIReposGitBlobs(t *testing.T) { assert.Equal(t, expectedContent, *gitBlobResponse.Content) // Tests a private repo with no token so will fail - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/git/blobs/%s", user2.Name, maybeGroupSegment(repo16.GroupID), repo16.Name, repo16ReadmeSHA) + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/git/blobs/%s", user2.Name, repo16.Name, repo16ReadmeSHA) MakeRequest(t, req, http.StatusNotFound) // Test using access token for a private repo that the user of the token owns - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/git/blobs/%s", user2.Name, maybeGroupSegment(repo16.GroupID), repo16.Name, repo16ReadmeSHA). + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/git/blobs/%s", user2.Name, repo16.Name, repo16ReadmeSHA). AddTokenAuth(token) MakeRequest(t, req, http.StatusOK) // Test using bad sha - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/git/blobs/%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, badSHA) + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/git/blobs/%s", user2.Name, repo1.Name, badSHA) MakeRequest(t, req, http.StatusBadRequest) // Test using org repo "org3/repo3" where user2 is a collaborator - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/git/blobs/%s", org3.Name, maybeGroupSegment(repo3.GroupID), repo3.Name, repo3ReadmeSHA). + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/git/blobs/%s", org3.Name, repo3.Name, repo3ReadmeSHA). AddTokenAuth(token) MakeRequest(t, req, http.StatusOK) // Test using org repo "org3/repo3" where user2 is a collaborator - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/git/blobs/%s", org3.Name, maybeGroupSegment(repo3.GroupID), repo3.Name, repo3ReadmeSHA). + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/git/blobs/%s", org3.Name, repo3.Name, repo3ReadmeSHA). AddTokenAuth(token) MakeRequest(t, req, http.StatusOK) // Test using org repo "org3/repo3" with no user token - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/git/blobs/%s", org3.Name, maybeGroupSegment(repo3.GroupID), repo3.Name, repo3ReadmeSHA) + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/git/blobs/%s", org3.Name, repo3ReadmeSHA, repo3.Name) MakeRequest(t, req, http.StatusNotFound) // Login as User4. @@ -75,6 +75,6 @@ func TestAPIReposGitBlobs(t *testing.T) { token4 := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeAll) // Test using org repo "org3/repo3" where user4 is a NOT collaborator - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/git/blobs/d56a3073c1dbb7b15963110a049d50cdb5db99fc?access=%s", org3.Name, maybeGroupSegment(repo3.GroupID), repo3.Name, token4) + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/git/blobs/d56a3073c1dbb7b15963110a049d50cdb5db99fc?access=%s", org3.Name, repo3.Name, token4) MakeRequest(t, req, http.StatusNotFound) } diff --git a/tests/integration/api_repo_git_hook_test.go b/tests/integration/api_repo_git_hook_test.go index 0aec30654d..c28c4336e2 100644 --- a/tests/integration/api_repo_git_hook_test.go +++ b/tests/integration/api_repo_git_hook_test.go @@ -37,7 +37,7 @@ echo "TestGitHookScript" // user1 is an admin user session := loginUser(t, "user1") token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeReadRepository) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/hooks/git", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/hooks/git", owner.Name, repo.Name). AddTokenAuth(token) resp := MakeRequest(t, req, http.StatusOK) var apiGitHooks []*api.GitHook @@ -63,7 +63,7 @@ echo "TestGitHookScript" // user1 is an admin user session := loginUser(t, "user1") token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeReadRepository) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/hooks/git", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/hooks/git", owner.Name, repo.Name). AddTokenAuth(token) resp := MakeRequest(t, req, http.StatusOK) var apiGitHooks []*api.GitHook @@ -83,7 +83,7 @@ echo "TestGitHookScript" session := loginUser(t, owner.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeReadRepository) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/hooks/git", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/hooks/git", owner.Name, repo.Name). AddTokenAuth(token) MakeRequest(t, req, http.StatusForbidden) }) @@ -97,7 +97,7 @@ echo "TestGitHookScript" // user1 is an admin user session := loginUser(t, "user1") token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeReadRepository) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/hooks/git/pre-receive", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/hooks/git/pre-receive", owner.Name, repo.Name). AddTokenAuth(token) resp := MakeRequest(t, req, http.StatusOK) var apiGitHook *api.GitHook @@ -113,7 +113,7 @@ echo "TestGitHookScript" session := loginUser(t, owner.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeReadRepository) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/hooks/git/pre-receive", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/hooks/git/pre-receive", owner.Name, repo.Name). AddTokenAuth(token) MakeRequest(t, req, http.StatusForbidden) }) @@ -139,7 +139,7 @@ echo "TestGitHookScript" assert.True(t, apiGitHook.IsActive) assert.Equal(t, testHookContent, apiGitHook.Content) - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/hooks/git/pre-receive", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name). + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/hooks/git/pre-receive", owner.Name, repo.Name). AddTokenAuth(token) resp = MakeRequest(t, req, http.StatusOK) var apiGitHook2 *api.GitHook @@ -156,7 +156,7 @@ echo "TestGitHookScript" session := loginUser(t, owner.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) - urlStr := fmt.Sprintf("/api/v1/repos/%s/%s%s/hooks/git/pre-receive", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name) + urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/hooks/git/pre-receive", owner.Name, repo.Name) req := NewRequestWithJSON(t, "PATCH", urlStr, &api.EditGitHookOption{ Content: testHookContent, }).AddTokenAuth(token) @@ -173,11 +173,11 @@ echo "TestGitHookScript" session := loginUser(t, "user1") token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) - req := NewRequestf(t, "DELETE", "/api/v1/repos/%s/%s%s/hooks/git/pre-receive", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name). + req := NewRequestf(t, "DELETE", "/api/v1/repos/%s/%s/hooks/git/pre-receive", owner.Name, repo.Name). AddTokenAuth(token) MakeRequest(t, req, http.StatusNoContent) - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/hooks/git/pre-receive", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name). + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/hooks/git/pre-receive", owner.Name, repo.Name). AddTokenAuth(token) resp := MakeRequest(t, req, http.StatusOK) var apiGitHook2 *api.GitHook @@ -194,7 +194,7 @@ echo "TestGitHookScript" session := loginUser(t, owner.Name) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) - req := NewRequestf(t, "DELETE", "/api/v1/repos/%s/%s%s/hooks/git/pre-receive", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name). + req := NewRequestf(t, "DELETE", "/api/v1/repos/%s/%s/hooks/git/pre-receive", owner.Name, repo.Name). AddTokenAuth(token) MakeRequest(t, req, http.StatusForbidden) }) diff --git a/tests/integration/api_repo_git_tags_test.go b/tests/integration/api_repo_git_tags_test.go index 581242bf2c..d4c9f753ff 100644 --- a/tests/integration/api_repo_git_tags_test.go +++ b/tests/integration/api_repo_git_tags_test.go @@ -44,7 +44,7 @@ func TestAPIGitTags(t *testing.T) { aTag, _ := gitRepo.GetTag(aTagName) // SHOULD work for annotated tags - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/git/tags/%s", user.Name, maybeGroupSegment(repo.GroupID), repo.Name, aTag.ID.String()). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/git/tags/%s", user.Name, repo.Name, aTag.ID.String()). AddTokenAuth(token) res := MakeRequest(t, req, http.StatusOK) @@ -60,7 +60,7 @@ func TestAPIGitTags(t *testing.T) { assert.Equal(t, repo.APIURL()+"/git/tags/"+aTag.ID.String(), tag.URL) // Should NOT work for lightweight tags - badReq := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/git/tags/%s", user.Name, maybeGroupSegment(repo.GroupID), repo.Name, commit.ID.String()). + badReq := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/git/tags/%s", user.Name, repo.Name, commit.ID.String()). AddTokenAuth(token) MakeRequest(t, badReq, http.StatusBadRequest) } @@ -73,14 +73,14 @@ func TestAPIDeleteTagByName(t *testing.T) { session := loginUser(t, owner.LowerName) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) - req := NewRequest(t, http.MethodDelete, fmt.Sprintf("/api/v1/repos/%s/%s%s/tags/delete-tag", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name)). + req := NewRequest(t, http.MethodDelete, fmt.Sprintf("/api/v1/repos/%s/%s/tags/delete-tag", owner.Name, repo.Name)). AddTokenAuth(token) _ = MakeRequest(t, req, http.StatusNoContent) // Make sure that actual releases can't be deleted outright createNewReleaseUsingAPI(t, token, owner, repo, "release-tag", "", "Release Tag", "test") - req = NewRequest(t, http.MethodDelete, fmt.Sprintf("/api/v1/repos/%s/%s%s/tags/release-tag", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name)). + req = NewRequest(t, http.MethodDelete, fmt.Sprintf("/api/v1/repos/%s/%s/tags/release-tag", owner.Name, repo.Name)). AddTokenAuth(token) _ = MakeRequest(t, req, http.StatusConflict) } diff --git a/tests/integration/api_repo_git_trees_test.go b/tests/integration/api_repo_git_trees_test.go index a225dc977b..ea7630f414 100644 --- a/tests/integration/api_repo_git_trees_test.go +++ b/tests/integration/api_repo_git_trees_test.go @@ -57,26 +57,26 @@ func TestAPIReposGitTrees(t *testing.T) { "master", // Branch repo1TreeSHA, // Tag } { - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/git/trees/%s", user2.Name, maybeGroupSegment(repo16.GroupID), repo16.Name, ref) + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/git/trees/%s", user2.Name, repo16.Name, ref) MakeRequest(t, req, http.StatusNotFound) } // Test using access token for a private repo that the user of the token owns - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/git/trees/%s", user2.Name, maybeGroupSegment(repo16.GroupID), repo16.Name, repo16TreeSHA). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/git/trees/%s", user2.Name, repo16.Name, repo16TreeSHA). AddTokenAuth(token) MakeRequest(t, req, http.StatusOK) // Test using bad sha - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/git/trees/%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, badSHA) + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/git/trees/%s", user2.Name, repo1.Name, badSHA) MakeRequest(t, req, http.StatusBadRequest) // Test using org repo "org3/repo3" where user2 is a collaborator - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/git/trees/%s", org3.Name, maybeGroupSegment(repo3.GroupID), repo3.Name, repo3TreeSHA). + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/git/trees/%s", org3.Name, repo3.Name, repo3TreeSHA). AddTokenAuth(token) MakeRequest(t, req, http.StatusOK) // Test using org repo "org3/repo3" with no user token - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/git/trees/%s", org3.Name, maybeGroupSegment(repo3.GroupID), repo3.Name, repo3TreeSHA) + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/git/trees/%s", org3.Name, repo3TreeSHA, repo3.Name) MakeRequest(t, req, http.StatusNotFound) // Login as User4. @@ -84,6 +84,6 @@ func TestAPIReposGitTrees(t *testing.T) { token4 := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeAll) // Test using org repo "org3/repo3" where user4 is a NOT collaborator - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/git/trees/d56a3073c1dbb7b15963110a049d50cdb5db99fc?access=%s", org3.Name, maybeGroupSegment(repo3.GroupID), repo3.Name, token4) + req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/git/trees/d56a3073c1dbb7b15963110a049d50cdb5db99fc?access=%s", org3.Name, repo3.Name, token4) MakeRequest(t, req, http.StatusNotFound) } diff --git a/tests/integration/api_repo_hook_test.go b/tests/integration/api_repo_hook_test.go index b2b46e6e78..12c2c99c82 100644 --- a/tests/integration/api_repo_hook_test.go +++ b/tests/integration/api_repo_hook_test.go @@ -27,7 +27,7 @@ func TestAPICreateHook(t *testing.T) { // user1 is an admin user session := loginUser(t, "user1") token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) - req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/%s", owner.Name, maybeGroupSegment(repo.GroupID), repo.Name, "hooks"), api.CreateHookOption{ + req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/%s", owner.Name, repo.Name, "hooks"), api.CreateHookOption{ Type: "gitea", Config: api.CreateHookOptionConfig{ "content_type": "json", diff --git a/tests/integration/api_repo_lfs_test.go b/tests/integration/api_repo_lfs_test.go index e646f0c572..86d5f69b9c 100644 --- a/tests/integration/api_repo_lfs_test.go +++ b/tests/integration/api_repo_lfs_test.go @@ -61,10 +61,10 @@ func TestAPILFSMediaType(t *testing.T) { } func createLFSTestRepository(t *testing.T, repoName string) *repo_model.Repository { - ctx := NewAPITestContext(t, "user2", repoName, 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + ctx := NewAPITestContext(t, "user2", repoName, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) t.Run("CreateRepo", doAPICreateRepository(ctx, false)) - repo, err := repo_model.GetRepositoryByOwnerAndName(t.Context(), "user2", repoName, 0) + repo, err := repo_model.GetRepositoryByOwnerAndName(t.Context(), "user2", repoName) require.NoError(t, err) return repo diff --git a/tests/integration/api_repo_test.go b/tests/integration/api_repo_test.go index 2bbab9aa83..deacd68a49 100644 --- a/tests/integration/api_repo_test.go +++ b/tests/integration/api_repo_test.go @@ -407,7 +407,7 @@ func TestAPIRepoMigrateConflict(t *testing.T) { func testAPIRepoMigrateConflict(t *testing.T, u *url.URL) { username := "user2" - baseAPITestContext := NewAPITestContext(t, username, "repo1", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + baseAPITestContext := NewAPITestContext(t, username, "repo1", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) u.Path = baseAPITestContext.GitPath() @@ -495,7 +495,7 @@ func TestAPIRepoCreateConflict(t *testing.T) { func testAPIRepoCreateConflict(t *testing.T, u *url.URL) { username := "user2" - baseAPITestContext := NewAPITestContext(t, username, "repo1", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + baseAPITestContext := NewAPITestContext(t, username, "repo1", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) u.Path = baseAPITestContext.GitPath() @@ -565,7 +565,7 @@ func TestAPIRepoTransfer(t *testing.T) { repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID}) session = loginUser(t, user.Name) token = getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/transfer", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name), &api.TransferRepoOption{ + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/transfer", repo.OwnerName, repo.Name), &api.TransferRepoOption{ NewOwner: testCase.newOwner, TeamIDs: testCase.teams, }).AddTokenAuth(token) @@ -596,7 +596,7 @@ func transfer(t *testing.T) *repo_model.Repository { DecodeJSON(t, resp, apiRepo) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID}) - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/transfer", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name), &api.TransferRepoOption{ + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/transfer", repo.OwnerName, repo.Name), &api.TransferRepoOption{ NewOwner: "user4", }).AddTokenAuth(token) MakeRequest(t, req, http.StatusCreated) @@ -612,7 +612,7 @@ func TestAPIAcceptTransfer(t *testing.T) { // try to accept with not authorized user session := loginUser(t, "user2") token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) - req := NewRequest(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/transfer/reject", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name)). + req := NewRequest(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/transfer/reject", repo.OwnerName, repo.Name)). AddTokenAuth(token) MakeRequest(t, req, http.StatusForbidden) @@ -625,7 +625,7 @@ func TestAPIAcceptTransfer(t *testing.T) { session = loginUser(t, "user4") token = getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) - req = NewRequest(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/transfer/accept", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name)). + req = NewRequest(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/transfer/accept", repo.OwnerName, repo.Name)). AddTokenAuth(token) resp := MakeRequest(t, req, http.StatusAccepted) apiRepo := new(api.Repository) @@ -641,7 +641,7 @@ func TestAPIRejectTransfer(t *testing.T) { // try to reject with not authorized user session := loginUser(t, "user2") token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) - req := NewRequest(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/transfer/reject", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name)). + req := NewRequest(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/transfer/reject", repo.OwnerName, repo.Name)). AddTokenAuth(token) MakeRequest(t, req, http.StatusForbidden) @@ -654,7 +654,7 @@ func TestAPIRejectTransfer(t *testing.T) { session = loginUser(t, "user4") token = getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) - req = NewRequest(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/transfer/reject", repo.OwnerName, maybeGroupSegment(repo.GroupID), repo.Name)). + req = NewRequest(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/transfer/reject", repo.OwnerName, repo.Name)). AddTokenAuth(token) resp := MakeRequest(t, req, http.StatusOK) apiRepo := new(api.Repository) @@ -673,7 +673,7 @@ func TestAPIGenerateRepo(t *testing.T) { // user repo := new(api.Repository) - req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/generate", templateRepo.OwnerName, maybeGroupSegment(templateRepo.GroupID), templateRepo.Name), &api.GenerateRepoOption{ + req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/generate", templateRepo.OwnerName, templateRepo.Name), &api.GenerateRepoOption{ Owner: user.Name, Name: "new-repo", Description: "test generate repo", @@ -686,7 +686,7 @@ func TestAPIGenerateRepo(t *testing.T) { assert.Equal(t, "new-repo", repo.Name) // org - req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/generate", templateRepo.OwnerName, maybeGroupSegment(templateRepo.GroupID), templateRepo.Name), &api.GenerateRepoOption{ + req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/generate", templateRepo.OwnerName, templateRepo.Name), &api.GenerateRepoOption{ Owner: "org3", Name: "new-repo", Description: "test generate repo", @@ -706,7 +706,7 @@ func TestAPIRepoGetReviewers(t *testing.T) { token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeReadRepository) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/reviewers", user.Name, maybeGroupSegment(repo.GroupID), repo.Name). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/reviewers", user.Name, repo.Name). AddTokenAuth(token) resp := MakeRequest(t, req, http.StatusOK) var reviewers []*api.User @@ -723,7 +723,7 @@ func TestAPIRepoGetAssignees(t *testing.T) { token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeReadRepository) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s%s/assignees", user.Name, maybeGroupSegment(repo.GroupID), repo.Name). + req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/assignees", user.Name, repo.Name). AddTokenAuth(token) resp := MakeRequest(t, req, http.StatusOK) var assignees []*api.User diff --git a/tests/integration/api_repo_topic_test.go b/tests/integration/api_repo_topic_test.go index 9d4a156333..82d0c54ca8 100644 --- a/tests/integration/api_repo_topic_test.go +++ b/tests/integration/api_repo_topic_test.go @@ -83,7 +83,7 @@ func TestAPIRepoTopic(t *testing.T) { token2 := getUserToken(t, user2.Name, auth_model.AccessTokenScopeWriteRepository) // Test read topics using login - req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/topics", user2.Name, maybeGroupSegment(repo2.GroupID), repo2.Name)). + req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/topics", user2.Name, repo2.Name)). AddTokenAuth(token2) res := MakeRequest(t, req, http.StatusOK) var topics *api.TopicName @@ -91,21 +91,21 @@ func TestAPIRepoTopic(t *testing.T) { assert.ElementsMatch(t, []string{"topicname1", "topicname2"}, topics.TopicNames) // Test delete a topic - req = NewRequestf(t, "DELETE", "/api/v1/repos/%s/%s%s/topics/%s", user2.Name, maybeGroupSegment(repo2.GroupID), repo2.Name, "Topicname1"). + req = NewRequestf(t, "DELETE", "/api/v1/repos/%s/%s/topics/%s", user2.Name, repo2.Name, "Topicname1"). AddTokenAuth(token2) MakeRequest(t, req, http.StatusNoContent) // Test add an existing topic - req = NewRequestf(t, "PUT", "/api/v1/repos/%s/%s%s/topics/%s", user2.Name, maybeGroupSegment(repo2.GroupID), repo2.Name, "Golang"). + req = NewRequestf(t, "PUT", "/api/v1/repos/%s/%s/topics/%s", user2.Name, repo2.Name, "Golang"). AddTokenAuth(token2) MakeRequest(t, req, http.StatusNoContent) // Test add a topic - req = NewRequestf(t, "PUT", "/api/v1/repos/%s/%s%s/topics/%s", user2.Name, maybeGroupSegment(repo2.GroupID), repo2.Name, "topicName3"). + req = NewRequestf(t, "PUT", "/api/v1/repos/%s/%s/topics/%s", user2.Name, repo2.Name, "topicName3"). AddTokenAuth(token2) MakeRequest(t, req, http.StatusNoContent) - url := fmt.Sprintf("/api/v1/repos/%s/%s%s/topics", user2.Name, maybeGroupSegment(repo2.GroupID), repo2.Name) + url := fmt.Sprintf("/api/v1/repos/%s/%s/topics", user2.Name, repo2.Name) // Test read topics using token req = NewRequest(t, "GET", url). @@ -158,12 +158,12 @@ func TestAPIRepoTopic(t *testing.T) { MakeRequest(t, req, http.StatusUnprocessableEntity) // Test add a topic when there is already maximum - req = NewRequestf(t, "PUT", "/api/v1/repos/%s/%s%s/topics/%s", user2.Name, maybeGroupSegment(repo2.GroupID), repo2.Name, "t26"). + req = NewRequestf(t, "PUT", "/api/v1/repos/%s/%s/topics/%s", user2.Name, repo2.Name, "t26"). AddTokenAuth(token2) MakeRequest(t, req, http.StatusUnprocessableEntity) // Test delete a topic that repo doesn't have - req = NewRequestf(t, "DELETE", "/api/v1/repos/%s/%s%s/topics/%s", user2.Name, maybeGroupSegment(repo2.GroupID), repo2.Name, "Topicname1"). + req = NewRequestf(t, "DELETE", "/api/v1/repos/%s/%s/topics/%s", user2.Name, repo2.Name, "Topicname1"). AddTokenAuth(token2) MakeRequest(t, req, http.StatusNotFound) @@ -171,14 +171,14 @@ func TestAPIRepoTopic(t *testing.T) { token4 := getUserToken(t, user4.Name, auth_model.AccessTokenScopeWriteRepository) // Test read topics with write access - req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s%s/topics", org3.Name, maybeGroupSegment(repo3.GroupID), repo3.Name)). + req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/topics", org3.Name, repo3.Name)). AddTokenAuth(token4) res = MakeRequest(t, req, http.StatusOK) DecodeJSON(t, res, &topics) assert.Empty(t, topics.TopicNames) // Test add a topic to repo with write access (requires repo admin access) - req = NewRequestf(t, "PUT", "/api/v1/repos/%s/%s%s/topics/%s", org3.Name, maybeGroupSegment(repo3.GroupID), repo3.Name, "topicName"). + req = NewRequestf(t, "PUT", "/api/v1/repos/%s/%s/topics/%s", org3.Name, repo3.Name, "topicName"). AddTokenAuth(token4) MakeRequest(t, req, http.StatusForbidden) } diff --git a/tests/integration/compare_test.go b/tests/integration/compare_test.go index 96019c02ed..a3cb538d5b 100644 --- a/tests/integration/compare_test.go +++ b/tests/integration/compare_test.go @@ -136,13 +136,13 @@ func TestCompareCodeExpand(t *testing.T) { assert.NoError(t, err) session := loginUser(t, user1.Name) - testEditFile(t, session, repo.GroupID, user1.Name, repo.Name, "main", "README.md", strings.Repeat("a\n", 30)) + testEditFile(t, session, user1.Name, repo.Name, "main", "README.md", strings.Repeat("a\n", 30)) user2 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}) session = loginUser(t, user2.Name) - testRepoFork(t, session, repo.GroupID, user1.Name, repo.Name, user2.Name, "test_blob_excerpt-fork", "") + testRepoFork(t, session, user1.Name, repo.Name, user2.Name, "test_blob_excerpt-fork", "") testCreateBranch(t, session, user2.Name, "test_blob_excerpt-fork", "branch/main", "forked-branch", http.StatusSeeOther) - testEditFile(t, session, repo.GroupID, user2.Name, "test_blob_excerpt-fork", "forked-branch", "README.md", strings.Repeat("a\n", 15)+"CHANGED\n"+strings.Repeat("a\n", 15)) + testEditFile(t, session, user2.Name, "test_blob_excerpt-fork", "forked-branch", "README.md", strings.Repeat("a\n", 15)+"CHANGED\n"+strings.Repeat("a\n", 15)) req := NewRequest(t, "GET", "/user1/test_blob_excerpt/compare/main...user2/test_blob_excerpt-fork:forked-branch") resp := session.MakeRequest(t, req, http.StatusOK) diff --git a/tests/integration/editor_test.go b/tests/integration/editor_test.go index 3a5d0d51b5..ac106bc776 100644 --- a/tests/integration/editor_test.go +++ b/tests/integration/editor_test.go @@ -37,8 +37,8 @@ func TestEditor(t *testing.T) { t.Run("DiffPreview", testEditorDiffPreview) t.Run("CreateFile", testEditorCreateFile) t.Run("EditFile", func(t *testing.T) { - testEditFile(t, sessionUser2, 0, "user2", "repo1", "master", "README.md", "Hello, World (direct)\n") - testEditFileToNewBranch(t, sessionUser2, 0, "user2", "repo1", "master", "feature/test", "README.md", "Hello, World (commit-to-new-branch)\n") + testEditFile(t, sessionUser2, "user2", "repo1", "master", "README.md", "Hello, World (direct)\n") + testEditFileToNewBranch(t, sessionUser2, "user2", "repo1", "master", "feature/test", "README.md", "Hello, World (commit-to-new-branch)\n") }) t.Run("PatchFile", testEditorPatchFile) t.Run("DeleteFile", func(t *testing.T) { @@ -57,7 +57,7 @@ func TestEditor(t *testing.T) { func testEditorCreateFile(t *testing.T) { session := loginUser(t, "user2") - testCreateFile(t, session, 0, "user2", "repo1", "master", "", "test.txt", "Content") + testCreateFile(t, session, "user2", "repo1", "master", "", "test.txt", "Content") testEditorActionPostRequestError(t, session, "/user2/repo1/_new/master/", map[string]string{ "tree_path": "test.txt", "commit_choice": "direct", @@ -70,12 +70,12 @@ func testEditorCreateFile(t *testing.T) { }, `Branch "master" already exists in this repository.`) } -func testCreateFile(t *testing.T, session *TestSession, groupID int64, user, repo, baseBranchName, newBranchName, filePath, content string) { +func testCreateFile(t *testing.T, session *TestSession, user, repo, baseBranchName, newBranchName, filePath, content string) { commitChoice := "direct" if newBranchName != "" && newBranchName != baseBranchName { commitChoice = "commit-to-new-branch" } - testEditorActionEdit(t, session, groupID, user, repo, "_new", baseBranchName, "", map[string]string{ + testEditorActionEdit(t, session, user, repo, "_new", baseBranchName, "", map[string]string{ "tree_path": filePath, "content": content, "commit_choice": commitChoice, @@ -118,28 +118,27 @@ func testEditorActionPostRequestError(t *testing.T, session *TestSession, reques assert.Equal(t, errorMessage, test.ParseJSONError(resp.Body.Bytes()).ErrorMessage) } -func testEditorActionEdit(t *testing.T, session *TestSession, groupID int64, user, repo, editorAction, branch, filePath string, params map[string]string) *httptest.ResponseRecorder { +func testEditorActionEdit(t *testing.T, session *TestSession, user, repo, editorAction, branch, filePath string, params map[string]string) *httptest.ResponseRecorder { params["tree_path"] = util.IfZero(params["tree_path"], filePath) newBranchName := util.Iif(params["commit_choice"] == "direct", branch, params["new_branch_name"]) - - resp := testEditorActionPostRequest(t, session, fmt.Sprintf("/%s/%s%s/%s/%s/%s", user, maybeGroupSegment(groupID), repo, editorAction, branch, filePath), params) + resp := testEditorActionPostRequest(t, session, fmt.Sprintf("/%s/%s/%s/%s/%s", user, repo, editorAction, branch, filePath), params) assert.Equal(t, http.StatusOK, resp.Code) assert.NotEmpty(t, test.RedirectURL(resp)) - req := NewRequest(t, "GET", path.Join(user, maybeGroupSegment(groupID), repo, "raw/branch", newBranchName, params["tree_path"])) + req := NewRequest(t, "GET", path.Join(user, repo, "raw/branch", newBranchName, params["tree_path"])) resp = session.MakeRequest(t, req, http.StatusOK) assert.Equal(t, params["content"], resp.Body.String()) return resp } -func testEditFile(t *testing.T, session *TestSession, groupID int64, user, repo, branch, filePath, newContent string) { - testEditorActionEdit(t, session, groupID, user, repo, "_edit", branch, filePath, map[string]string{ +func testEditFile(t *testing.T, session *TestSession, user, repo, branch, filePath, newContent string) { + testEditorActionEdit(t, session, user, repo, "_edit", branch, filePath, map[string]string{ "content": newContent, "commit_choice": "direct", }) } -func testEditFileToNewBranch(t *testing.T, session *TestSession, groupID int64, user, repo, branch, targetBranch, filePath, newContent string) { - testEditorActionEdit(t, session, groupID, user, repo, "_edit", branch, filePath, map[string]string{ +func testEditFileToNewBranch(t *testing.T, session *TestSession, user, repo, branch, targetBranch, filePath, newContent string) { + testEditorActionEdit(t, session, user, repo, "_edit", branch, filePath, map[string]string{ "content": newContent, "commit_choice": "commit-to-new-branch", "new_branch_name": targetBranch, diff --git a/tests/integration/eventsource_test.go b/tests/integration/eventsource_test.go index c3daa0e25b..a13a8c346a 100644 --- a/tests/integration/eventsource_test.go +++ b/tests/integration/eventsource_test.go @@ -72,7 +72,7 @@ func TestEventSourceManagerRun(t *testing.T) { assert.Len(t, apiNL, 2) lastReadAt := "2000-01-01T00%3A50%3A01%2B00%3A00" // 946687801 <- only Notification 4 is in this filter ... - req = NewRequest(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s%s/notifications?last_read_at=%s", user2.Name, maybeGroupSegment(repo1.GroupID), repo1.Name, lastReadAt)). + req = NewRequest(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s/notifications?last_read_at=%s", user2.Name, repo1.Name, lastReadAt)). AddTokenAuth(token) session.MakeRequest(t, req, http.StatusResetContent) diff --git a/tests/integration/git_general_test.go b/tests/integration/git_general_test.go index e249e0173d..25aa1ce38b 100644 --- a/tests/integration/git_general_test.go +++ b/tests/integration/git_general_test.go @@ -51,11 +51,11 @@ func TestGitGeneral(t *testing.T) { func testGitGeneral(t *testing.T, u *url.URL) { username := "user2" - baseAPITestContext := NewAPITestContext(t, username, "repo1", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + baseAPITestContext := NewAPITestContext(t, username, "repo1", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) u.Path = baseAPITestContext.GitPath() - forkedUserCtx := NewAPITestContext(t, "user4", "repo1", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + forkedUserCtx := NewAPITestContext(t, "user4", "repo1", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) t.Run("HTTP", func(t *testing.T) { defer tests.PrintCurrentTest(t)() @@ -370,7 +370,7 @@ func generateCommitWithNewData(ctx context.Context, size int, repoPath, email, f func doCreateProtectedBranch(baseCtx *APITestContext, dstPath string) func(t *testing.T) { return func(t *testing.T) { defer tests.PrintCurrentTest(t)() - ctx := NewAPITestContext(t, baseCtx.Username, baseCtx.Reponame, 0, auth_model.AccessTokenScopeWriteRepository) + ctx := NewAPITestContext(t, baseCtx.Username, baseCtx.Reponame, auth_model.AccessTokenScopeWriteRepository) t.Run("ProtectBranchWithFilePatterns", doProtectBranch(ctx, "release-*", baseCtx.Username, "", "", "config*")) @@ -401,7 +401,7 @@ func doBranchProtectPRMerge(baseCtx *APITestContext, dstPath string) func(t *tes t.Run("CreateBranchProtected", doGitCreateBranch(dstPath, "protected")) t.Run("PushProtectedBranch", doGitPushTestRepository(dstPath, "origin", "protected")) - ctx := NewAPITestContext(t, baseCtx.Username, baseCtx.Reponame, 0, auth_model.AccessTokenScopeWriteRepository) + ctx := NewAPITestContext(t, baseCtx.Username, baseCtx.Reponame, auth_model.AccessTokenScopeWriteRepository) // Protect branch without any whitelisting t.Run("ProtectBranchNoWhitelist", doProtectBranch(ctx, "protected", "", "", "", "")) @@ -673,7 +673,7 @@ func doPushCreate(ctx APITestContext, u *url.URL) func(t *testing.T) { t.Run("SuccessfullyPushAndCreateTestRepository", doGitPushTestRepository(tmpDir, "origin", "master")) // Finally, fetch repo from database and ensure the correct repository has been created - repo, err := repo_model.GetRepositoryByOwnerAndName(t.Context(), ctx.Username, ctx.Reponame, ctx.GroupID) + repo, err := repo_model.GetRepositoryByOwnerAndName(t.Context(), ctx.Username, ctx.Reponame, 0) assert.NoError(t, err) assert.False(t, repo.IsEmpty) assert.True(t, repo.IsPrivate) @@ -700,9 +700,9 @@ func doAutoPRMerge(baseCtx *APITestContext, dstPath string) func(t *testing.T) { return func(t *testing.T) { defer tests.PrintCurrentTest(t)() - ctx := NewAPITestContext(t, baseCtx.Username, baseCtx.Reponame, 0, auth_model.AccessTokenScopeWriteRepository) - collaboratorCtx := NewAPITestContext(t, "user5", baseCtx.Reponame, 0, auth_model.AccessTokenScopeWriteRepository) - readOnlyCtx := NewAPITestContext(t, "user4", baseCtx.Reponame, 0, auth_model.AccessTokenScopeWriteRepository) + ctx := NewAPITestContext(t, baseCtx.Username, baseCtx.Reponame, auth_model.AccessTokenScopeWriteRepository) + collaboratorCtx := NewAPITestContext(t, "user5", baseCtx.Reponame, auth_model.AccessTokenScopeWriteRepository) + readOnlyCtx := NewAPITestContext(t, "user4", baseCtx.Reponame, auth_model.AccessTokenScopeWriteRepository) t.Run("AddAutoMergeCollaborator", doAPIAddCollaborator(*baseCtx, collaboratorCtx.Username, perm.AccessModeWrite)) t.Run("AddReadOnlyAutoMergeCollaborator", doAPIAddCollaborator(*baseCtx, readOnlyCtx.Username, perm.AccessModeRead)) @@ -826,7 +826,7 @@ func doCreateAgitFlowPull(dstPath string, ctx *APITestContext, headBranch string pr1, pr2 *issues_model.PullRequest commit string ) - repo, err := repo_model.GetRepositoryByOwnerAndName(t.Context(), ctx.Username, ctx.Reponame, ctx.GroupID) + repo, err := repo_model.GetRepositoryByOwnerAndName(t.Context(), ctx.Username, ctx.Reponame, 0) require.NoError(t, err) pullNum := unittest.GetCount(t, &issues_model.PullRequest{}) diff --git a/tests/integration/git_lfs_ssh_test.go b/tests/integration/git_lfs_ssh_test.go index 27cf72fd90..d2f34ef10b 100644 --- a/tests/integration/git_lfs_ssh_test.go +++ b/tests/integration/git_lfs_ssh_test.go @@ -27,7 +27,7 @@ func TestGitLFSSSH(t *testing.T) { onGiteaRun(t, func(t *testing.T, u *url.URL) { localRepoForUpload := filepath.Join(t.TempDir(), "test-upload") localRepoForDownload := filepath.Join(t.TempDir(), "test-download") - apiTestContext := NewAPITestContext(t, "user2", "repo1", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + apiTestContext := NewAPITestContext(t, "user2", "repo1", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) var mu sync.Mutex var routerCalls []string diff --git a/tests/integration/git_misc_test.go b/tests/integration/git_misc_test.go index 5532b5d19f..c830086e3f 100644 --- a/tests/integration/git_misc_test.go +++ b/tests/integration/git_misc_test.go @@ -82,7 +82,7 @@ func TestDataAsyncDoubleRead_Issue29101(t *testing.T) { func TestAgitPullPush(t *testing.T) { onGiteaRun(t, func(t *testing.T, u *url.URL) { - baseAPITestContext := NewAPITestContext(t, "user2", "repo1", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + baseAPITestContext := NewAPITestContext(t, "user2", "repo1", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) u.Path = baseAPITestContext.GitPath() u.User = url.UserPassword("user2", userPassword) @@ -145,7 +145,7 @@ func TestAgitPullPush(t *testing.T) { func TestAgitReviewStaleness(t *testing.T) { onGiteaRun(t, func(t *testing.T, u *url.URL) { - baseAPITestContext := NewAPITestContext(t, "user2", "repo1", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + baseAPITestContext := NewAPITestContext(t, "user2", "repo1", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) u.Path = baseAPITestContext.GitPath() u.User = url.UserPassword("user2", userPassword) diff --git a/tests/integration/git_push_test.go b/tests/integration/git_push_test.go index 408c330ec4..5d54eaed12 100644 --- a/tests/integration/git_push_test.go +++ b/tests/integration/git_push_test.go @@ -201,7 +201,7 @@ func runTestGitPush(t *testing.T, u *url.URL, gitOperation func(t *testing.T, gi func TestPushPullRefs(t *testing.T) { onGiteaRun(t, func(t *testing.T, u *url.URL) { - baseAPITestContext := NewAPITestContext(t, "user2", "repo1", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + baseAPITestContext := NewAPITestContext(t, "user2", "repo1", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) u.Path = baseAPITestContext.GitPath() u.User = url.UserPassword("user2", userPassword) diff --git a/tests/integration/git_ssh_redirect_test.go b/tests/integration/git_ssh_redirect_test.go index ee44866b9a..eef59ef338 100644 --- a/tests/integration/git_ssh_redirect_test.go +++ b/tests/integration/git_ssh_redirect_test.go @@ -20,7 +20,7 @@ func TestGitSSHRedirect(t *testing.T) { } func testGitSSHRedirect(t *testing.T, u *url.URL) { - apiTestContext := NewAPITestContext(t, "user2", "repo1", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser, auth_model.AccessTokenScopeWriteOrganization) + apiTestContext := NewAPITestContext(t, "user2", "repo1", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser, auth_model.AccessTokenScopeWriteOrganization) session := loginUser(t, "user2") withKeyFile(t, "my-testing-key", func(keyFile string) { @@ -56,7 +56,7 @@ func testGitSSHRedirect(t *testing.T, u *url.URL) { Name: "repo1", AutoInit: true, })(t) - testEditFile(t, session, 0, "olduser2", "repo1", "master", "README.md", "This is olduser2's repo1\n") + testEditFile(t, session, "olduser2", "repo1", "master", "README.md", "This is olduser2's repo1\n") dstDir := t.TempDir() t.Run("Clone", doGitClone(dstDir, cloneURL)) @@ -66,7 +66,7 @@ func testGitSSHRedirect(t *testing.T, u *url.URL) { apiTestContext2 := NewAPITestContext(t, "user2", "oldrepo1", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser, auth_model.AccessTokenScopeWriteOrganization) doAPICreateRepository(apiTestContext2, false)(t) - testEditFile(t, session, 0, "user2", "oldrepo1", "master", "README.md", "This is user2's oldrepo1\n") + testEditFile(t, session, "user2", "oldrepo1", "master", "README.md", "This is user2's oldrepo1\n") dstDir = t.TempDir() cloneURL = createSSHUrl("user2/oldrepo1.git", u) diff --git a/tests/integration/gpg_ssh_git_test.go b/tests/integration/gpg_ssh_git_test.go index 85ee2252af..56f9f87783 100644 --- a/tests/integration/gpg_ssh_git_test.go +++ b/tests/integration/gpg_ssh_git_test.go @@ -79,14 +79,14 @@ func TestSSHGit(t *testing.T) { func testGitSigning(t *testing.T) { username := "user2" user := unittest.AssertExistsAndLoadBean(t, &user_model.User{Name: username}) - baseAPITestContext := NewAPITestContext(t, username, "repo1", 0) + baseAPITestContext := NewAPITestContext(t, username, "repo1") onGiteaRun(t, func(t *testing.T, u *url.URL) { u.Path = baseAPITestContext.GitPath() t.Run("Unsigned-Initial", func(t *testing.T) { defer tests.PrintCurrentTest(t)() - testCtx := NewAPITestContext(t, username, "initial-unsigned", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + testCtx := NewAPITestContext(t, username, "initial-unsigned", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) t.Run("CreateRepository", doAPICreateRepository(testCtx, false)) t.Run("CheckMasterBranchUnsigned", doAPIGetBranch(testCtx, "master", func(t *testing.T, branch api.Branch) { assert.NotNil(t, branch.Commit) @@ -107,7 +107,7 @@ func testGitSigning(t *testing.T) { setting.Repository.Signing.CRUDActions = []string{"parentsigned"} t.Run("Unsigned-Initial-CRUD-ParentSigned", func(t *testing.T) { defer tests.PrintCurrentTest(t)() - testCtx := NewAPITestContext(t, username, "initial-unsigned", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + testCtx := NewAPITestContext(t, username, "initial-unsigned", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) t.Run("CreateCRUDFile-ParentSigned", crudActionCreateFile( t, testCtx, user, "master", "parentsigned", "signed-parent.txt", func(t *testing.T, response api.FileResponse) { assert.False(t, response.Verification.Verified) @@ -121,7 +121,7 @@ func testGitSigning(t *testing.T) { setting.Repository.Signing.CRUDActions = []string{"never"} t.Run("Unsigned-Initial-CRUD-Never", func(t *testing.T) { defer tests.PrintCurrentTest(t)() - testCtx := NewAPITestContext(t, username, "initial-unsigned", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + testCtx := NewAPITestContext(t, username, "initial-unsigned", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) t.Run("CreateCRUDFile-Never", crudActionCreateFile( t, testCtx, user, "parentsigned", "parentsigned-never", "unsigned-never2.txt", func(t *testing.T, response api.FileResponse) { assert.False(t, response.Verification.Verified) @@ -131,7 +131,7 @@ func testGitSigning(t *testing.T) { setting.Repository.Signing.CRUDActions = []string{"always"} t.Run("Unsigned-Initial-CRUD-Always", func(t *testing.T) { defer tests.PrintCurrentTest(t)() - testCtx := NewAPITestContext(t, username, "initial-unsigned", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + testCtx := NewAPITestContext(t, username, "initial-unsigned", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) t.Run("CreateCRUDFile-Always", crudActionCreateFile( t, testCtx, user, "master", "always", "signed-always.txt", func(t *testing.T, response api.FileResponse) { require.NotNil(t, response.Verification, "no verification provided with response! %v", response) @@ -149,7 +149,7 @@ func testGitSigning(t *testing.T) { setting.Repository.Signing.CRUDActions = []string{"parentsigned"} t.Run("Unsigned-Initial-CRUD-ParentSigned", func(t *testing.T) { defer tests.PrintCurrentTest(t)() - testCtx := NewAPITestContext(t, username, "initial-unsigned", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + testCtx := NewAPITestContext(t, username, "initial-unsigned", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) t.Run("CreateCRUDFile-Always-ParentSigned", crudActionCreateFile( t, testCtx, user, "always", "always-parentsigned", "signed-always-parentsigned.txt", func(t *testing.T, response api.FileResponse) { require.NotNil(t, response.Verification, "no verification provided with response! %v", response) @@ -161,7 +161,7 @@ func testGitSigning(t *testing.T) { setting.Repository.Signing.InitialCommit = []string{"always"} t.Run("AlwaysSign-Initial", func(t *testing.T) { defer tests.PrintCurrentTest(t)() - testCtx := NewAPITestContext(t, username, "initial-always", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + testCtx := NewAPITestContext(t, username, "initial-always", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) t.Run("CreateRepository", doAPICreateRepository(testCtx, false)) t.Run("CheckMasterBranchSigned", doAPIGetBranch(testCtx, "master", func(t *testing.T, branch api.Branch) { require.NotNil(t, branch.Commit, "no commit provided with branch! %v", branch) @@ -174,7 +174,7 @@ func testGitSigning(t *testing.T) { setting.Repository.Signing.CRUDActions = []string{"never"} t.Run("AlwaysSign-Initial-CRUD-Never", func(t *testing.T) { defer tests.PrintCurrentTest(t)() - testCtx := NewAPITestContext(t, username, "initial-always-never", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + testCtx := NewAPITestContext(t, username, "initial-always-never", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) t.Run("CreateRepository", doAPICreateRepository(testCtx, false)) t.Run("CreateCRUDFile-Never", crudActionCreateFile( t, testCtx, user, "master", "never", "unsigned-never.txt", func(t *testing.T, response api.FileResponse) { @@ -185,7 +185,7 @@ func testGitSigning(t *testing.T) { setting.Repository.Signing.CRUDActions = []string{"parentsigned"} t.Run("AlwaysSign-Initial-CRUD-ParentSigned-On-Always", func(t *testing.T) { defer tests.PrintCurrentTest(t)() - testCtx := NewAPITestContext(t, username, "initial-always-parent", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + testCtx := NewAPITestContext(t, username, "initial-always-parent", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) t.Run("CreateRepository", doAPICreateRepository(testCtx, false)) t.Run("CreateCRUDFile-ParentSigned", crudActionCreateFile( t, testCtx, user, "master", "parentsigned", "signed-parent.txt", func(t *testing.T, response api.FileResponse) { @@ -197,7 +197,7 @@ func testGitSigning(t *testing.T) { setting.Repository.Signing.CRUDActions = []string{"always"} t.Run("AlwaysSign-Initial-CRUD-Always", func(t *testing.T) { defer tests.PrintCurrentTest(t)() - testCtx := NewAPITestContext(t, username, "initial-always-always", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + testCtx := NewAPITestContext(t, username, "initial-always-always", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) t.Run("CreateRepository", doAPICreateRepository(testCtx, false)) t.Run("CreateCRUDFile-Always", crudActionCreateFile( t, testCtx, user, "master", "always", "signed-always.txt", func(t *testing.T, response api.FileResponse) { @@ -209,7 +209,7 @@ func testGitSigning(t *testing.T) { setting.Repository.Signing.Merges = []string{"commitssigned"} t.Run("UnsignedMerging", func(t *testing.T) { defer tests.PrintCurrentTest(t)() - testCtx := NewAPITestContext(t, username, "initial-unsigned", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + testCtx := NewAPITestContext(t, username, "initial-unsigned", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) t.Run("CreatePullRequest", func(t *testing.T) { pr, err := doAPICreatePullRequest(testCtx, testCtx.Username, testCtx.Reponame, "master", "never2")(t) assert.NoError(t, err) @@ -226,7 +226,7 @@ func testGitSigning(t *testing.T) { setting.Repository.Signing.Merges = []string{"basesigned"} t.Run("BaseSignedMerging", func(t *testing.T) { defer tests.PrintCurrentTest(t)() - testCtx := NewAPITestContext(t, username, "initial-unsigned", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + testCtx := NewAPITestContext(t, username, "initial-unsigned", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) t.Run("CreatePullRequest", func(t *testing.T) { pr, err := doAPICreatePullRequest(testCtx, testCtx.Username, testCtx.Reponame, "master", "parentsigned2")(t) assert.NoError(t, err) @@ -243,7 +243,7 @@ func testGitSigning(t *testing.T) { setting.Repository.Signing.Merges = []string{"commitssigned"} t.Run("CommitsSignedMerging", func(t *testing.T) { defer tests.PrintCurrentTest(t)() - testCtx := NewAPITestContext(t, username, "initial-unsigned", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + testCtx := NewAPITestContext(t, username, "initial-unsigned", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) t.Run("CreatePullRequest", func(t *testing.T) { pr, err := doAPICreatePullRequest(testCtx, testCtx.Username, testCtx.Reponame, "master", "always-parentsigned")(t) assert.NoError(t, err) diff --git a/tests/integration/issue_test.go b/tests/integration/issue_test.go index 5b2d9d6129..a9101d7b7e 100644 --- a/tests/integration/issue_test.go +++ b/tests/integration/issue_test.go @@ -445,19 +445,19 @@ func TestIssueRedirect(t *testing.T) { session := loginUser(t, "user2") // Test external tracker where style not set (shall default numeric) - req := NewRequest(t, "GET", "/org26/group/49/repo_external_tracker/issues/1") + req := NewRequest(t, "GET", "/org26/repo_external_tracker/issues/1") resp := session.MakeRequest(t, req, http.StatusSeeOther) assert.Equal(t, "https://tracker.com/org26/repo_external_tracker/issues/1", test.RedirectURL(resp)) // Test external tracker with numeric style - req = NewRequest(t, "GET", "/org26/group/53/repo_external_tracker_numeric/issues/1") + req = NewRequest(t, "GET", "/org26/repo_external_tracker_numeric/issues/1") resp = session.MakeRequest(t, req, http.StatusSeeOther) assert.Equal(t, "https://tracker.com/org26/repo_external_tracker_numeric/issues/1", test.RedirectURL(resp)) // Test external tracker with alphanumeric style (for a pull request) - req = NewRequest(t, "GET", "/org26/group/41/repo_external_tracker_alpha/issues/1") + req = NewRequest(t, "GET", "/org26/repo_external_tracker_alpha/issues/1") resp = session.MakeRequest(t, req, http.StatusSeeOther) - assert.Equal(t, "/org26/group/41/repo_external_tracker_alpha/pulls/1", test.RedirectURL(resp)) + assert.Equal(t, "/org26/repo_external_tracker_alpha/pulls/1", test.RedirectURL(resp)) // test to check that the PR redirection works if the issue unit is disabled // repo1 is a normal repository with issue unit enabled, visit issue 2(which is a pull request) diff --git a/tests/integration/lfs_getobject_test.go b/tests/integration/lfs_getobject_test.go index ca2897a3aa..5f13229ba2 100644 --- a/tests/integration/lfs_getobject_test.go +++ b/tests/integration/lfs_getobject_test.go @@ -41,7 +41,7 @@ func storeObjectInRepo(t *testing.T, repositoryID int64, content *[]byte) string } func storeAndGetLfsToken(t *testing.T, content *[]byte, extraHeader *http.Header, expectedStatus int, ts ...auth.AccessTokenScope) *httptest.ResponseRecorder { - repo, err := repo_model.GetRepositoryByOwnerAndName(t.Context(), "user2", "repo1", 0) + repo, err := repo_model.GetRepositoryByOwnerAndName(t.Context(), "user2", "repo1") assert.NoError(t, err) oid := storeObjectInRepo(t, repo.ID, content) defer git_model.RemoveLFSMetaObjectByOid(t.Context(), repo.ID, oid) @@ -66,7 +66,7 @@ func storeAndGetLfsToken(t *testing.T, content *[]byte, extraHeader *http.Header } func storeAndGetLfs(t *testing.T, content *[]byte, extraHeader *http.Header, expectedStatus int) *httptest.ResponseRecorder { - repo, err := repo_model.GetRepositoryByOwnerAndName(t.Context(), "user2", "repo1", 0) + repo, err := repo_model.GetRepositoryByOwnerAndName(t.Context(), "user2", "repo1") assert.NoError(t, err) oid := storeObjectInRepo(t, repo.ID, content) defer git_model.RemoveLFSMetaObjectByOid(t.Context(), repo.ID, oid) diff --git a/tests/integration/migrate_test.go b/tests/integration/migrate_test.go index e3804f75ca..8c8f053ede 100644 --- a/tests/integration/migrate_test.go +++ b/tests/integration/migrate_test.go @@ -97,7 +97,7 @@ func TestMigrateGiteaForm(t *testing.T) { migratedRepoName := "otherrepo" req = NewRequestWithValues(t, "POST", link, map[string]string{ "service": fmt.Sprintf("%d", structs.GiteaService), - "clone_addr": fmt.Sprintf("%s/%s%s", u, ownerName, repoName), + "clone_addr": fmt.Sprintf("%s%s/%s", u, ownerName, repoName), "auth_token": token, "issues": "on", "repo_name": migratedRepoName, diff --git a/tests/integration/mirror_pull_test.go b/tests/integration/mirror_pull_test.go index 108eee9830..7902dc10cb 100644 --- a/tests/integration/mirror_pull_test.go +++ b/tests/integration/mirror_pull_test.go @@ -29,7 +29,7 @@ func TestMirrorPull(t *testing.T) { ctx := t.Context() user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}) - repoPath := repo_model.RepoPath(user.Name, repo.Name, repo.GroupID) + repoPath := repo_model.RepoPath(user.Name, repo.Name) opts := migration.MigrateOptions{ RepoName: "test_mirror", diff --git a/tests/integration/oauth_test.go b/tests/integration/oauth_test.go index d1727b2a82..a1c9511648 100644 --- a/tests/integration/oauth_test.go +++ b/tests/integration/oauth_test.go @@ -743,10 +743,6 @@ func TestOAuth_GrantScopesReadRepositoryFailOrganization(t *testing.T) { FullRepoName: "user2/commitsonpr", Private: false, }, - { - FullRepoName: "user2/test_commit_revert", - Private: true, - }, } assert.Equal(t, reposExpected, reposCaptured) diff --git a/tests/integration/org_count_test.go b/tests/integration/org_count_test.go index e2ff1cdc58..6a2cf53ed4 100644 --- a/tests/integration/org_count_test.go +++ b/tests/integration/org_count_test.go @@ -27,7 +27,7 @@ func testOrgCounts(t *testing.T) { orgOwner := "user2" orgName := "testOrg" orgCollaborator := "user4" - ctx := NewAPITestContext(t, orgOwner, "repo1", 0, auth_model.AccessTokenScopeWriteOrganization) + ctx := NewAPITestContext(t, orgOwner, "repo1", auth_model.AccessTokenScopeWriteOrganization) var ownerCountRepos map[string]int var collabCountRepos map[string]int diff --git a/tests/integration/org_profile_test.go b/tests/integration/org_profile_test.go index f2da469397..73cafd85c2 100644 --- a/tests/integration/org_profile_test.go +++ b/tests/integration/org_profile_test.go @@ -38,7 +38,7 @@ func getCreateProfileReadmeFileOptions(content string) api.CreateFileOptions { func createTestProfile(t *testing.T, orgName, profileRepoName, readmeContent string) { isPrivate := profileRepoName == user.RepoNameProfilePrivate - ctx := NewAPITestContext(t, "user1", profileRepoName, 0, auth_model.AccessTokenScopeAll) + ctx := NewAPITestContext(t, "user1", profileRepoName, auth_model.AccessTokenScopeAll) session := loginUser(t, "user1") tokenAdmin := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeAll) diff --git a/tests/integration/org_test.go b/tests/integration/org_test.go index f65a1abb4e..cedc0406ca 100644 --- a/tests/integration/org_test.go +++ b/tests/integration/org_test.go @@ -66,27 +66,27 @@ func testLimitedOrg(t *testing.T) { // not logged-in user req := NewRequest(t, "GET", "/limited_org") MakeRequest(t, req, http.StatusNotFound) - req = NewRequest(t, "GET", "/limited_org/group/231/public_repo_on_limited_org") + req = NewRequest(t, "GET", "/limited_org/public_repo_on_limited_org") MakeRequest(t, req, http.StatusNotFound) - req = NewRequest(t, "GET", "/limited_org/group/221/private_repo_on_limited_org") + req = NewRequest(t, "GET", "/limited_org/private_repo_on_limited_org") MakeRequest(t, req, http.StatusNotFound) // login non-org member user session := loginUser(t, "user2") req = NewRequest(t, "GET", "/limited_org") session.MakeRequest(t, req, http.StatusOK) - req = NewRequest(t, "GET", "/limited_org/group/231/public_repo_on_limited_org") + req = NewRequest(t, "GET", "/limited_org/public_repo_on_limited_org") session.MakeRequest(t, req, http.StatusOK) - req = NewRequest(t, "GET", "/limited_org/group/221/private_repo_on_limited_org") + req = NewRequest(t, "GET", "/limited_org/private_repo_on_limited_org") session.MakeRequest(t, req, http.StatusNotFound) // site admin session = loginUser(t, "user1") req = NewRequest(t, "GET", "/limited_org") session.MakeRequest(t, req, http.StatusOK) - req = NewRequest(t, "GET", "/limited_org/group/231/public_repo_on_limited_org") + req = NewRequest(t, "GET", "/limited_org/public_repo_on_limited_org") session.MakeRequest(t, req, http.StatusOK) - req = NewRequest(t, "GET", "/limited_org/group/221/private_repo_on_limited_org") + req = NewRequest(t, "GET", "/limited_org/private_repo_on_limited_org") session.MakeRequest(t, req, http.StatusOK) } @@ -94,36 +94,36 @@ func testPrivateOrg(t *testing.T) { // not logged-in user req := NewRequest(t, "GET", "/privated_org") MakeRequest(t, req, http.StatusNotFound) - req = NewRequest(t, "GET", "/privated_org/group/340/public_repo_on_private_org") + req = NewRequest(t, "GET", "/privated_org/public_repo_on_private_org") MakeRequest(t, req, http.StatusNotFound) - req = NewRequest(t, "GET", "/privated_org/group/352/private_repo_on_private_org") + req = NewRequest(t, "GET", "/privated_org/private_repo_on_private_org") MakeRequest(t, req, http.StatusNotFound) // login non-org member user session := loginUser(t, "user2") req = NewRequest(t, "GET", "/privated_org") session.MakeRequest(t, req, http.StatusNotFound) - req = NewRequest(t, "GET", "/privated_org/group/340/public_repo_on_private_org") + req = NewRequest(t, "GET", "/privated_org/public_repo_on_private_org") session.MakeRequest(t, req, http.StatusNotFound) - req = NewRequest(t, "GET", "/privated_org/group/352/private_repo_on_private_org") + req = NewRequest(t, "GET", "/privated_org/private_repo_on_private_org") session.MakeRequest(t, req, http.StatusNotFound) // non-org member who is collaborator on repo in private org session = loginUser(t, "user4") req = NewRequest(t, "GET", "/privated_org") session.MakeRequest(t, req, http.StatusNotFound) - req = NewRequest(t, "GET", "/privated_org/group/340/public_repo_on_private_org") // colab of this repo + req = NewRequest(t, "GET", "/privated_org/public_repo_on_private_org") // colab of this repo session.MakeRequest(t, req, http.StatusOK) - req = NewRequest(t, "GET", "/privated_org/group/352/private_repo_on_private_org") + req = NewRequest(t, "GET", "/privated_org/private_repo_on_private_org") session.MakeRequest(t, req, http.StatusNotFound) // site admin session = loginUser(t, "user1") req = NewRequest(t, "GET", "/privated_org") session.MakeRequest(t, req, http.StatusOK) - req = NewRequest(t, "GET", "/privated_org/group/340/public_repo_on_private_org") + req = NewRequest(t, "GET", "/privated_org/public_repo_on_private_org") session.MakeRequest(t, req, http.StatusOK) - req = NewRequest(t, "GET", "/privated_org/group/352/private_repo_on_private_org") + req = NewRequest(t, "GET", "/privated_org/private_repo_on_private_org") session.MakeRequest(t, req, http.StatusOK) } @@ -150,8 +150,6 @@ func testOrgRestrictedUser(t *testing.T) { // public_repo_on_private_org is a public repo on privated_org repoName := "public_repo_on_private_org" - repoGroup := 340 - // user29 is a restricted user who is not a member of the organization restrictedUser := "user29" @@ -162,7 +160,7 @@ func testOrgRestrictedUser(t *testing.T) { req := NewRequest(t, "GET", "/"+orgName) restrictedSession.MakeRequest(t, req, http.StatusNotFound) - req = NewRequest(t, "GET", fmt.Sprintf("/%s/group/%d/%s", orgName, repoGroup, repoName)) + req = NewRequest(t, "GET", fmt.Sprintf("/%s/%s", orgName, repoName)) restrictedSession.MakeRequest(t, req, http.StatusNotFound) // Therefore create a read-only team @@ -199,7 +197,7 @@ func testOrgRestrictedUser(t *testing.T) { req = NewRequest(t, "GET", "/"+orgName) restrictedSession.MakeRequest(t, req, http.StatusOK) - req = NewRequest(t, "GET", fmt.Sprintf("/%s/%s%s", orgName, maybeGroupSegment(int64(repoGroup)), repoName)) + req = NewRequest(t, "GET", fmt.Sprintf("/%s/%s", orgName, repoName)) restrictedSession.MakeRequest(t, req, http.StatusOK) } diff --git a/tests/integration/privateactivity_test.go b/tests/integration/privateactivity_test.go index e90432f775..7a76d609ea 100644 --- a/tests/integration/privateactivity_test.go +++ b/tests/integration/privateactivity_test.go @@ -35,7 +35,7 @@ func testPrivateActivityDoSomethingForActionEntries(t *testing.T) { session := loginUser(t, privateActivityTestUser) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteIssue) - urlStr := fmt.Sprintf("/api/v1/repos/%s/%s%s/issues?state=all", owner.Name, maybeGroupSegment(repoBefore.GroupID), repoBefore.Name) + urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues?state=all", owner.Name, repoBefore.Name) req := NewRequestWithJSON(t, "POST", urlStr, &api.CreateIssueOption{ Body: "test", Title: "test", diff --git a/tests/integration/pull_comment_test.go b/tests/integration/pull_comment_test.go index e9eb1762cd..56ef9972ad 100644 --- a/tests/integration/pull_comment_test.go +++ b/tests/integration/pull_comment_test.go @@ -32,10 +32,10 @@ func testWaitForPullRequestStatus(t *testing.T, prIssue *issues_model.Issue, exp func testPullCommentRebase(t *testing.T, u *url.URL, session *TestSession) { testPRTitle := "Test PR for rebase comment" // make a change on forked branch - testEditFile(t, session, 0, "user1", "repo1", "test-branch/rebase", "README.md", "Hello, World (Edited)\n") + testEditFile(t, session, "user1", "repo1", "test-branch/rebase", "README.md", "Hello, World (Edited)\n") testPullCreate(t, session, "user1", "repo1", false, "test-branch/rebase", "test-branch/rebase", testPRTitle) // create a conflict on base repo branch - testEditFile(t, session, 0, "user2", "repo1", "test-branch/rebase", "README.md", "Hello, World (Edited Conflicted)\n") + testEditFile(t, session, "user2", "repo1", "test-branch/rebase", "README.md", "Hello, World (Edited Conflicted)\n") // Now the pull request status should be conflicted testWaitForPullRequestStatus(t, &issues_model.Issue{Title: testPRTitle}, issues_model.PullRequestStatusConflict) @@ -79,10 +79,10 @@ func testPullCommentRetarget(t *testing.T, _ *url.URL, session *TestSession) { // keep a non-conflict branch testCreateBranch(t, session, "user2", "repo1", "branch/test-branch/retarget", "test-branch/retarget-no-conflict", http.StatusSeeOther) // make a change on forked branch - testEditFile(t, session, 0, "user1", "repo1", "test-branch/retarget", "README.md", "Hello, World (Edited)\n") + testEditFile(t, session, "user1", "repo1", "test-branch/retarget", "README.md", "Hello, World (Edited)\n") testPullCreate(t, session, "user1", "repo1", false, "test-branch/retarget", "test-branch/retarget", testPRTitle) // create a conflict line on user2/repo1 README.md - testEditFile(t, session, 0, "user2", "repo1", "test-branch/retarget", "README.md", "Hello, World (Edited Conflicted)\n") + testEditFile(t, session, "user2", "repo1", "test-branch/retarget", "README.md", "Hello, World (Edited Conflicted)\n") // Now the pull request status should be conflicted prIssue := testWaitForPullRequestStatus(t, &issues_model.Issue{Title: testPRTitle}, issues_model.PullRequestStatusConflict) @@ -100,7 +100,7 @@ func TestPullComment(t *testing.T) { session := loginUser(t, "user1") testCreateBranch(t, session, "user2", "repo1", "branch/master", "test-branch/rebase", http.StatusSeeOther) testCreateBranch(t, session, "user2", "repo1", "branch/master", "test-branch/retarget", http.StatusSeeOther) - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") t.Run("RebaseComment", func(t *testing.T) { testPullCommentRebase(t, u, session) }) t.Run("RetargetComment", func(t *testing.T) { testPullCommentRetarget(t, u, session) }) diff --git a/tests/integration/pull_compare_test.go b/tests/integration/pull_compare_test.go index 9308876929..da00b3fd56 100644 --- a/tests/integration/pull_compare_test.go +++ b/tests/integration/pull_compare_test.go @@ -59,9 +59,9 @@ func TestPullCompare(t *testing.T) { defer tests.PrepareTestEnv(t)() session := loginUser(t, "user1") - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") testCreateBranch(t, session, "user1", "repo1", "branch/master", "master1", http.StatusSeeOther) - testEditFile(t, session, 0, "user1", "repo1", "master1", "README.md", "Hello, World (Edited)\n") + testEditFile(t, session, "user1", "repo1", "master1", "README.md", "Hello, World (Edited)\n") testPullCreate(t, session, "user1", "repo1", false, "master", "master1", "This is a pull title") repo1 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user2", Name: "repo1"}) @@ -96,21 +96,20 @@ func TestPullCompare_EnableAllowEditsFromMaintainer(t *testing.T) { // user4 forks repo3 user4Session := loginUser(t, "user4") forkedRepoName := "user4-forked-repo3" - testRepoFork(t, user4Session, repo3.GroupID, repo3.OwnerName, repo3.Name, "user4", forkedRepoName, "") + testRepoFork(t, user4Session, repo3.OwnerName, repo3.Name, "user4", forkedRepoName, "") forkedRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user4", Name: forkedRepoName}) assert.True(t, forkedRepo.IsPrivate) // user4 creates a new branch and a PR - testEditFileToNewBranch(t, user4Session, 0, "user4", forkedRepoName, "master", "user4/update-readme", "README.md", "Hello, World\n(Edited by user4)\n") + testEditFileToNewBranch(t, user4Session, "user4", forkedRepoName, "master", "user4/update-readme", "README.md", "Hello, World\n(Edited by user4)\n") resp := testPullCreateDirectly(t, user4Session, createPullRequestOptions{ - BaseRepoOwner: repo3.OwnerName, - BaseRepoName: repo3.Name, - BaseRepoGroupID: repo3.GroupID, - BaseBranch: "master", - HeadRepoOwner: "user4", - HeadRepoName: forkedRepoName, - HeadBranch: "user4/update-readme", - Title: "PR for user4 forked repo3", + BaseRepoOwner: repo3.OwnerName, + BaseRepoName: repo3.Name, + BaseBranch: "master", + HeadRepoOwner: "user4", + HeadRepoName: forkedRepoName, + HeadBranch: "user4/update-readme", + Title: "PR for user4 forked repo3", }) prURL := test.RedirectURL(resp) diff --git a/tests/integration/pull_create_test.go b/tests/integration/pull_create_test.go index b62af0d400..2c17557eb0 100644 --- a/tests/integration/pull_create_test.go +++ b/tests/integration/pull_create_test.go @@ -65,15 +65,14 @@ func testPullCreate(t *testing.T, session *TestSession, user, repo string, toSel } type createPullRequestOptions struct { - BaseRepoOwner string - BaseRepoName string - BaseRepoGroupID int64 - BaseBranch string - HeadRepoOwner string - HeadRepoName string - HeadBranch string - Title string - ReviewerIDs string // comma-separated list of user IDs + BaseRepoOwner string + BaseRepoName string + BaseBranch string + HeadRepoOwner string + HeadRepoName string + HeadBranch string + Title string + ReviewerIDs string // comma-separated list of user IDs } func (opts createPullRequestOptions) IsValid() bool { @@ -94,7 +93,7 @@ func testPullCreateDirectly(t *testing.T, session *TestSession, opts createPullR headCompare = fmt.Sprintf("%s:%s", opts.HeadRepoOwner, opts.HeadBranch) } } - req := NewRequest(t, "GET", fmt.Sprintf("/%s/%s%s/compare/%s...%s", opts.BaseRepoOwner, maybeGroupSegment(opts.BaseRepoGroupID), opts.BaseRepoName, opts.BaseBranch, headCompare)) + req := NewRequest(t, "GET", fmt.Sprintf("/%s/%s/compare/%s...%s", opts.BaseRepoOwner, opts.BaseRepoName, opts.BaseBranch, headCompare)) resp := session.MakeRequest(t, req, http.StatusOK) // Submit the form for creating the pull @@ -138,8 +137,8 @@ func testPullCreateFailure(t *testing.T, session *TestSession, baseRepoOwner, ba func TestPullCreate(t *testing.T) { onGiteaRun(t, func(t *testing.T, u *url.URL) { session := loginUser(t, "user1") - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") - testEditFile(t, session, 0, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") + testEditFile(t, session, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n") repo1 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user2", Name: "repo1"}) assert.Equal(t, 3, repo1.NumPulls) assert.Equal(t, 3, repo1.NumOpenPulls) @@ -198,9 +197,9 @@ func TestPullBranchDelete(t *testing.T) { defer tests.PrepareTestEnv(t)() session := loginUser(t, "user1") - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") testCreateBranch(t, session, "user1", "repo1", "branch/master", "master1", http.StatusSeeOther) - testEditFile(t, session, 0, "user1", "repo1", "master1", "README.md", "Hello, World (Edited)\n") + testEditFile(t, session, "user1", "repo1", "master1", "README.md", "Hello, World (Edited)\n") resp := testPullCreate(t, session, "user1", "repo1", false, "master", "master1", "This is a pull title") // check the redirected URL @@ -234,11 +233,11 @@ Check if pull request can be created from base to the fork repository. func TestPullCreatePrFromBaseToFork(t *testing.T) { onGiteaRun(t, func(t *testing.T, u *url.URL) { sessionFork := loginUser(t, "user1") - testRepoFork(t, sessionFork, 0, "user2", "repo1", "user1", "repo1", "") + testRepoFork(t, sessionFork, "user2", "repo1", "user1", "repo1", "") // Edit base repository sessionBase := loginUser(t, "user2") - testEditFile(t, sessionBase, 0, "user2", "repo1", "master", "README.md", "Hello, World (Edited)\n") + testEditFile(t, sessionBase, "user2", "repo1", "master", "README.md", "Hello, World (Edited)\n") // Create a PR resp := testPullCreateDirectly(t, sessionFork, createPullRequestOptions{ @@ -348,7 +347,7 @@ func TestCreatePullRequestFromNestedOrgForks(t *testing.T) { func TestPullCreateParallel(t *testing.T) { onGiteaRun(t, func(t *testing.T, u *url.URL) { sessionFork := loginUser(t, "user1") - testRepoFork(t, sessionFork, 0, "user2", "repo1", "user1", "repo1", "") + testRepoFork(t, sessionFork, "user2", "repo1", "user1", "repo1", "") repo1 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user2", Name: "repo1"}) assert.Equal(t, 3, repo1.NumPulls) @@ -358,7 +357,7 @@ func TestPullCreateParallel(t *testing.T) { for i := range 5 { wg.Go(func() { branchName := fmt.Sprintf("new-branch-%d", i) - testEditFileToNewBranch(t, sessionFork, 0, "user1", "repo1", "master", branchName, "README.md", fmt.Sprintf("Hello, World (Edited) %d\n", i)) + testEditFileToNewBranch(t, sessionFork, "user1", "repo1", "master", branchName, "README.md", fmt.Sprintf("Hello, World (Edited) %d\n", i)) // Create a PR resp := testPullCreateDirectly(t, sessionFork, createPullRequestOptions{ @@ -430,7 +429,7 @@ func TestCreatePullWhenBlocked(t *testing.T) { // Setup // User1 forks repo1 from User2 sessionFork := loginUser(t, ForkOwner) - testRepoFork(t, sessionFork, 0, RepoOwner, "repo1", ForkOwner, "forkrepo1", "") + testRepoFork(t, sessionFork, RepoOwner, "repo1", ForkOwner, "forkrepo1", "") // 1. User2 blocks user1 // sessionBase := loginUser(t, "user2") @@ -444,7 +443,7 @@ func TestCreatePullWhenBlocked(t *testing.T) { MakeRequest(t, req, http.StatusNoContent) // 2. User1 adds changes to fork - testEditFile(t, sessionFork, 0, ForkOwner, "forkrepo1", "master", "README.md", "Hello, World (Edited)\n") + testEditFile(t, sessionFork, ForkOwner, "forkrepo1", "master", "README.md", "Hello, World (Edited)\n") // 3. User1 attempts to create a pull request testPullCreateFailure(t, sessionFork, RepoOwner, "repo1", "master", ForkOwner, "forkrepo1", "master", "This is a pull title") diff --git a/tests/integration/pull_merge_test.go b/tests/integration/pull_merge_test.go index f1a291b229..d85d6686a6 100644 --- a/tests/integration/pull_merge_test.go +++ b/tests/integration/pull_merge_test.go @@ -50,7 +50,7 @@ type MergeOptions struct { DeleteBranch bool } -func testPullMerge(t *testing.T, session *TestSession, user, repo string, groupID int64, pullNum string, mergeOptions MergeOptions) *httptest.ResponseRecorder { +func testPullMerge(t *testing.T, session *TestSession, user, repo, pullNum string, mergeOptions MergeOptions) *httptest.ResponseRecorder { options := map[string]string{ "do": string(mergeOptions.Style), "head_commit_id": mergeOptions.HeadCommitID, @@ -65,15 +65,10 @@ func testPullMerge(t *testing.T, session *TestSession, user, repo string, groupI redirect := test.RedirectURL(resp) assert.Equal(t, fmt.Sprintf("/%s/%s/pulls/%s", user, repo, pullNum), redirect) - var groupSegment string - if groupID > 0 { - groupSegment = fmt.Sprintf("%d/", groupID) - } - assert.Equal(t, fmt.Sprintf("/%s/%s%s/pulls/%s", user, groupSegment, repo, pullNum), redirect) pullNumInt, err := strconv.ParseInt(pullNum, 10, 64) assert.NoError(t, err) - repository, err := repo_model.GetRepositoryByOwnerAndName(t.Context(), user, repo, groupID) + repository, err := repo_model.GetRepositoryByOwnerAndName(t.Context(), user, repo, 0) assert.NoError(t, err) pull, err := issues_model.GetPullRequestByIndex(t.Context(), repository.ID, pullNumInt) assert.NoError(t, err) @@ -103,8 +98,8 @@ func TestPullMerge(t *testing.T) { hookTasksLenBefore := len(hookTasks) session := loginUser(t, "user1") // FIXME: don't use admin user for testing - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") - testEditFile(t, session, 0, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") + testEditFile(t, session, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n") repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user2", Name: "repo1"}) assert.Equal(t, 3, repo.NumPulls) @@ -118,7 +113,7 @@ func TestPullMerge(t *testing.T) { elem := strings.Split(test.RedirectURL(resp), "/") assert.Equal(t, "pulls", elem[3]) - testPullMerge(t, session, elem[1], elem[2], 0, elem[4], MergeOptions{ + testPullMerge(t, session, elem[1], elem[2], elem[4], MergeOptions{ Style: repo_model.MergeStyleMerge, DeleteBranch: false, }) @@ -140,8 +135,8 @@ func TestPullRebase(t *testing.T) { hookTasksLenBefore := len(hookTasks) session := loginUser(t, "user1") // FIXME: don't use admin user for testing - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") - testEditFile(t, session, 0, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") + testEditFile(t, session, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n") repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user2", Name: "repo1"}) assert.Equal(t, 3, repo.NumPulls) @@ -155,7 +150,7 @@ func TestPullRebase(t *testing.T) { elem := strings.Split(test.RedirectURL(resp), "/") assert.Equal(t, "pulls", elem[3]) - testPullMerge(t, session, elem[1], elem[2], 0, elem[4], MergeOptions{ + testPullMerge(t, session, elem[1], elem[2], elem[4], MergeOptions{ Style: repo_model.MergeStyleRebase, DeleteBranch: false, }) @@ -177,8 +172,8 @@ func TestPullRebaseMerge(t *testing.T) { hookTasksLenBefore := len(hookTasks) session := loginUser(t, "user1") // FIXME: don't use admin user for testing - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") - testEditFile(t, session, 0, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") + testEditFile(t, session, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n") repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user2", Name: "repo1"}) assert.Equal(t, 3, repo.NumPulls) @@ -192,7 +187,7 @@ func TestPullRebaseMerge(t *testing.T) { elem := strings.Split(test.RedirectURL(resp), "/") assert.Equal(t, "pulls", elem[3]) - testPullMerge(t, session, elem[1], elem[2], 0, elem[4], MergeOptions{ + testPullMerge(t, session, elem[1], elem[2], elem[4], MergeOptions{ Style: repo_model.MergeStyleRebaseMerge, DeleteBranch: false, }) @@ -214,15 +209,15 @@ func TestPullSquash(t *testing.T) { hookTasksLenBefore := len(hookTasks) session := loginUser(t, "user1") // FIXME: don't use admin user for testing - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") - testEditFile(t, session, 0, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n") - testEditFile(t, session, 0, "user1", "repo1", "master", "README.md", "Hello, World (Edited!)\n") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") + testEditFile(t, session, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n") + testEditFile(t, session, "user1", "repo1", "master", "README.md", "Hello, World (Edited!)\n") resp := testPullCreate(t, session, "user1", "repo1", false, "master", "master", "This is a pull title") elem := strings.Split(test.RedirectURL(resp), "/") assert.Equal(t, "pulls", elem[3]) - testPullMerge(t, session, elem[1], elem[2], 0, elem[4], MergeOptions{ + testPullMerge(t, session, elem[1], elem[2], elem[4], MergeOptions{ Style: repo_model.MergeStyleSquash, DeleteBranch: false, }) @@ -240,9 +235,9 @@ func TestPullSquashWithHeadCommitID(t *testing.T) { hookTasksLenBefore := len(hookTasks) session := loginUser(t, "user1") // FIXME: don't use admin user for testing - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") - testEditFile(t, session, 0, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n") - testEditFile(t, session, 0, "user1", "repo1", "master", "README.md", "Hello, World (Edited!)\n") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") + testEditFile(t, session, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n") + testEditFile(t, session, "user1", "repo1", "master", "README.md", "Hello, World (Edited!)\n") repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user2", Name: "repo1"}) assert.Equal(t, 3, repo.NumPulls) @@ -262,7 +257,7 @@ func TestPullSquashWithHeadCommitID(t *testing.T) { assert.Equal(t, 4, repo.NumPulls) assert.Equal(t, 4, repo.NumOpenPulls) - testPullMerge(t, session, elem[1], elem[2], 0, elem[4], MergeOptions{ + testPullMerge(t, session, elem[1], elem[2], elem[4], MergeOptions{ Style: repo_model.MergeStyleSquash, DeleteBranch: false, HeadCommitID: headBranch.CommitID, @@ -280,8 +275,8 @@ func TestPullSquashWithHeadCommitID(t *testing.T) { func TestPullCleanUpAfterMerge(t *testing.T) { onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { session := loginUser(t, "user1") // FIXME: don't use admin user for testing - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") - testEditFileToNewBranch(t, session, 0, "user1", "repo1", "master", "feature/test", "README.md", "Hello, World (Edited - TestPullCleanUpAfterMerge)\n") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") + testEditFileToNewBranch(t, session, "user1", "repo1", "master", "feature/test", "README.md", "Hello, World (Edited - TestPullCleanUpAfterMerge)\n") repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user2", Name: "repo1"}) assert.Equal(t, 3, repo.NumPulls) @@ -296,7 +291,7 @@ func TestPullCleanUpAfterMerge(t *testing.T) { assert.Equal(t, 4, repo.NumPulls) assert.Equal(t, 4, repo.NumOpenPulls) - testPullMerge(t, session, elem[1], elem[2], 0, elem[4], MergeOptions{ + testPullMerge(t, session, elem[1], elem[2], elem[4], MergeOptions{ Style: repo_model.MergeStyleMerge, DeleteBranch: false, }) @@ -331,8 +326,8 @@ func TestPullCleanUpAfterMerge(t *testing.T) { func TestCantMergeWorkInProgress(t *testing.T) { onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { session := loginUser(t, "user1") // FIXME: don't use admin user for testing - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") - testEditFile(t, session, 0, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") + testEditFile(t, session, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n") resp := testPullCreate(t, session, "user1", "repo1", false, "master", "master", "[wip] This is a pull title") @@ -350,9 +345,9 @@ func TestCantMergeWorkInProgress(t *testing.T) { func TestCantMergeConflict(t *testing.T) { onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { session := loginUser(t, "user1") // FIXME: don't use admin user for testing - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") - testEditFileToNewBranch(t, session, 0, "user1", "repo1", "master", "conflict", "README.md", "Hello, World (Edited Once)\n") - testEditFileToNewBranch(t, session, 0, "user1", "repo1", "master", "base", "README.md", "Hello, World (Edited Twice)\n") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") + testEditFileToNewBranch(t, session, "user1", "repo1", "master", "conflict", "README.md", "Hello, World (Edited Once)\n") + testEditFileToNewBranch(t, session, "user1", "repo1", "master", "base", "README.md", "Hello, World (Edited Twice)\n") // Use API to create a conflicting pr token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) @@ -392,8 +387,8 @@ func TestCantMergeConflict(t *testing.T) { func TestCantMergeUnrelated(t *testing.T) { onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { session := loginUser(t, "user1") // FIXME: don't use admin user for testing - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") - testEditFileToNewBranch(t, session, 0, "user1", "repo1", "master", "base", "README.md", "Hello, World (Edited Twice)\n") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") + testEditFileToNewBranch(t, session, "user1", "repo1", "master", "base", "README.md", "Hello, World (Edited Twice)\n") // Now we want to create a commit on a branch that is totally unrelated to our current head // Drop down to pure code at this point @@ -456,7 +451,7 @@ func TestCantMergeUnrelated(t *testing.T) { RunStdString(t.Context()) assert.NoError(t, err) - testEditFileToNewBranch(t, session, 0, "user1", "repo1", "master", "conflict", "README.md", "Hello, World (Edited Once)\n") + testEditFileToNewBranch(t, session, "user1", "repo1", "master", "conflict", "README.md", "Hello, World (Edited Once)\n") // Use API to create a conflicting pr token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) @@ -484,8 +479,8 @@ func TestCantMergeUnrelated(t *testing.T) { func TestFastForwardOnlyMerge(t *testing.T) { onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { session := loginUser(t, "user1") // FIXME: don't use admin user for testing - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") - testEditFileToNewBranch(t, session, 0, "user1", "repo1", "master", "update", "README.md", "Hello, World 2\n") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") + testEditFileToNewBranch(t, session, "user1", "repo1", "master", "update", "README.md", "Hello, World 2\n") // Use API to create a pr from update to master token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) @@ -519,9 +514,9 @@ func TestFastForwardOnlyMerge(t *testing.T) { func TestCantFastForwardOnlyMergeDiverging(t *testing.T) { onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { session := loginUser(t, "user1") // FIXME: don't use admin user for testing - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") - testEditFileToNewBranch(t, session, 0, "user1", "repo1", "master", "diverging", "README.md", "Hello, World diverged\n") - testEditFile(t, session, 0, "user1", "repo1", "master", "README.md", "Hello, World 2\n") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") + testEditFileToNewBranch(t, session, "user1", "repo1", "master", "diverging", "README.md", "Hello, World diverged\n") + testEditFile(t, session, "user1", "repo1", "master", "README.md", "Hello, World 2\n") // Use API to create a pr from diverging to update token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) @@ -556,9 +551,9 @@ func TestCantFastForwardOnlyMergeDiverging(t *testing.T) { func TestPullRetargetChildOnBranchDelete(t *testing.T) { onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { session := loginUser(t, "user1") // FIXME: don't use admin user for testing - testEditFileToNewBranch(t, session, 0, "user2", "repo1", "master", "base-pr", "README.md", "Hello, World\n(Edited - TestPullRetargetOnCleanup - base PR)\n") - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") - testEditFileToNewBranch(t, session, 0, "user1", "repo1", "base-pr", "child-pr", "README.md", "Hello, World\n(Edited - TestPullRetargetOnCleanup - base PR)\n(Edited - TestPullRetargetOnCleanup - child PR)") + testEditFileToNewBranch(t, session, "user2", "repo1", "master", "base-pr", "README.md", "Hello, World\n(Edited - TestPullRetargetOnCleanup - base PR)\n") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") + testEditFileToNewBranch(t, session, "user1", "repo1", "base-pr", "child-pr", "README.md", "Hello, World\n(Edited - TestPullRetargetOnCleanup - base PR)\n(Edited - TestPullRetargetOnCleanup - child PR)") respBasePR := testPullCreate(t, session, "user2", "repo1", true, "master", "base-pr", "Base Pull Request") elemBasePR := strings.Split(test.RedirectURL(respBasePR), "/") @@ -568,7 +563,7 @@ func TestPullRetargetChildOnBranchDelete(t *testing.T) { elemChildPR := strings.Split(test.RedirectURL(respChildPR), "/") assert.Equal(t, "pulls", elemChildPR[3]) - testPullMerge(t, session, elemBasePR[1], elemBasePR[2], 0, elemBasePR[4], MergeOptions{ + testPullMerge(t, session, elemBasePR[1], elemBasePR[2], elemBasePR[4], MergeOptions{ Style: repo_model.MergeStyleMerge, DeleteBranch: true, }) @@ -593,9 +588,9 @@ func TestPullRetargetChildOnBranchDelete(t *testing.T) { func TestPullDontRetargetChildOnWrongRepo(t *testing.T) { onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { session := loginUser(t, "user1") // FIXME: don't use admin user for testing - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") - testEditFileToNewBranch(t, session, 0, "user1", "repo1", "master", "base-pr", "README.md", "Hello, World\n(Edited - TestPullDontRetargetChildOnWrongRepo - base PR)\n") - testEditFileToNewBranch(t, session, 0, "user1", "repo1", "base-pr", "child-pr", "README.md", "Hello, World\n(Edited - TestPullDontRetargetChildOnWrongRepo - base PR)\n(Edited - TestPullDontRetargetChildOnWrongRepo - child PR)") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") + testEditFileToNewBranch(t, session, "user1", "repo1", "master", "base-pr", "README.md", "Hello, World\n(Edited - TestPullDontRetargetChildOnWrongRepo - base PR)\n") + testEditFileToNewBranch(t, session, "user1", "repo1", "base-pr", "child-pr", "README.md", "Hello, World\n(Edited - TestPullDontRetargetChildOnWrongRepo - base PR)\n(Edited - TestPullDontRetargetChildOnWrongRepo - child PR)") respBasePR := testPullCreate(t, session, "user1", "repo1", false, "master", "base-pr", "Base Pull Request") elemBasePR := strings.Split(test.RedirectURL(respBasePR), "/") @@ -607,7 +602,7 @@ func TestPullDontRetargetChildOnWrongRepo(t *testing.T) { defer test.MockVariableValue(&setting.Repository.PullRequest.RetargetChildrenOnMerge, false)() - testPullMerge(t, session, elemBasePR[1], elemBasePR[2], 0, elemBasePR[4], MergeOptions{ + testPullMerge(t, session, elemBasePR[1], elemBasePR[2], elemBasePR[4], MergeOptions{ Style: repo_model.MergeStyleMerge, DeleteBranch: true, }) @@ -633,8 +628,8 @@ func TestPullDontRetargetChildOnWrongRepo(t *testing.T) { func TestPullRequestMergedWithNoPermissionDeleteBranch(t *testing.T) { onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { session := loginUser(t, "user4") - testRepoFork(t, session, 0, "user2", "repo1", "user4", "repo1", "") - testEditFileToNewBranch(t, session, 0, "user4", "repo1", "master", "base-pr", "README.md", "Hello, World\n(Edited - TestPullDontRetargetChildOnWrongRepo - base PR)\n") + testRepoFork(t, session, "user2", "repo1", "user4", "repo1", "") + testEditFileToNewBranch(t, session, "user4", "repo1", "master", "base-pr", "README.md", "Hello, World\n(Edited - TestPullDontRetargetChildOnWrongRepo - base PR)\n") respBasePR := testPullCreate(t, session, "user4", "repo1", false, "master", "base-pr", "Base Pull Request") elemBasePR := strings.Split(test.RedirectURL(respBasePR), "/") @@ -642,7 +637,7 @@ func TestPullRequestMergedWithNoPermissionDeleteBranch(t *testing.T) { // user2 has no permission to delete branch of repo user1/repo1 session2 := loginUser(t, "user2") - testPullMerge(t, session2, elemBasePR[1], elemBasePR[2], 0, elemBasePR[4], MergeOptions{ + testPullMerge(t, session2, elemBasePR[1], elemBasePR[2], elemBasePR[4], MergeOptions{ Style: repo_model.MergeStyleMerge, DeleteBranch: true, }) @@ -658,8 +653,8 @@ func TestPullMergeIndexerNotifier(t *testing.T) { onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) { // create a pull request session := loginUser(t, "user1") // FIXME: don't use admin user for testing - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") - testEditFile(t, session, 0, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") + testEditFile(t, session, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n") createPullResp := testPullCreate(t, session, "user1", "repo1", false, "master", "master", "Indexer notifier test pull") assert.NoError(t, queue.GetManager().FlushAll(t.Context(), 0)) @@ -693,7 +688,7 @@ func TestPullMergeIndexerNotifier(t *testing.T) { // merge the pull request elem := strings.Split(test.RedirectURL(createPullResp), "/") assert.Equal(t, "pulls", elem[3]) - testPullMerge(t, session, elem[1], elem[2], 0, elem[4], MergeOptions{ + testPullMerge(t, session, elem[1], elem[2], elem[4], MergeOptions{ Style: repo_model.MergeStyleMerge, DeleteBranch: false, }) @@ -723,8 +718,8 @@ func TestPullAutoMergeAfterCommitStatusSucceed(t *testing.T) { session := loginUser(t, "user1") // FIXME: don't use admin user for testing user1 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1}) forkedName := "repo1-1" - testRepoFork(t, session, 0, "user2", "repo1", "user1", forkedName, "") - testEditFile(t, session, 0, "user1", forkedName, "master", "README.md", "Hello, World (Edited)\n") + testRepoFork(t, session, "user2", "repo1", "user1", forkedName, "") + testEditFile(t, session, "user1", forkedName, "master", "README.md", "Hello, World (Edited)\n") testPullCreate(t, session, "user1", forkedName, false, "master", "master", "Indexer notifier test pull") baseRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user2", Name: "repo1"}) @@ -806,8 +801,8 @@ func TestPullAutoMergeAfterCommitStatusSucceedAndApproval(t *testing.T) { forkUser := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 5}) forkSession := loginUser(t, "user5") forkedName := "repo1-fork" - testRepoFork(t, forkSession, 0, "user2", "repo1", forkUser.Name, forkedName, "") - testEditFile(t, forkSession, 0, forkUser.Name, forkedName, "master", "README.md", "Hello, World (Edited)\n") + testRepoFork(t, forkSession, "user2", "repo1", forkUser.Name, forkedName, "") + testEditFile(t, forkSession, forkUser.Name, forkedName, "master", "README.md", "Hello, World (Edited)\n") testPullCreate(t, forkSession, forkUser.Name, forkedName, false, "master", "master", "Indexer notifier test pull") baseRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user2", Name: "repo1"}) @@ -880,7 +875,7 @@ func TestPullAutoMergeAfterCommitStatusSucceedAndApproval(t *testing.T) { func TestPullAutoMergeAfterCommitStatusSucceedAndApprovalForAgitFlow(t *testing.T) { onGiteaRun(t, func(t *testing.T, u *url.URL) { // create a pull request - baseAPITestContext := NewAPITestContext(t, "user2", "repo1", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + baseAPITestContext := NewAPITestContext(t, "user2", "repo1", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) dstPath := t.TempDir() @@ -993,8 +988,8 @@ func TestPullNonMergeForAdminWithBranchProtection(t *testing.T) { // create a pull request session := loginUser(t, "user1") // FIXME: don't use admin user for testing forkedName := "repo1-1" - testRepoFork(t, session, 0, "user2", "repo1", "user1", forkedName, "") - testEditFile(t, session, 0, "user1", forkedName, "master", "README.md", "Hello, World (Edited)\n") + testRepoFork(t, session, "user2", "repo1", "user1", forkedName, "") + testEditFile(t, session, "user1", forkedName, "master", "README.md", "Hello, World (Edited)\n") testPullCreate(t, session, "user1", forkedName, false, "master", "master", "Indexer notifier test pull") baseRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user2", Name: "repo1"}) @@ -1032,13 +1027,13 @@ func TestPullNonMergeForAdminWithBranchProtection(t *testing.T) { func TestPullSquashMergeEmpty(t *testing.T) { onGiteaRun(t, func(t *testing.T, u *url.URL) { session := loginUser(t, "user1") // FIXME: don't use admin user for testing - testEditFileToNewBranch(t, session, 0, "user2", "repo1", "master", "pr-squash-empty", "README.md", "Hello, World (Edited)\n") + testEditFileToNewBranch(t, session, "user2", "repo1", "master", "pr-squash-empty", "README.md", "Hello, World (Edited)\n") resp := testPullCreate(t, session, "user2", "repo1", false, "master", "pr-squash-empty", "This is a pull title") elem := strings.Split(test.RedirectURL(resp), "/") assert.Equal(t, "pulls", elem[3]) - httpContext := NewAPITestContext(t, "user2", "repo1", 0, auth_model.AccessTokenScopeWriteRepository) + httpContext := NewAPITestContext(t, "user2", "repo1", auth_model.AccessTokenScopeWriteRepository) dstPath := t.TempDir() u.Path = httpContext.GitPath() @@ -1054,7 +1049,7 @@ func TestPullSquashMergeEmpty(t *testing.T) { doGitPushTestRepository(dstPath)(t) - testPullMerge(t, session, elem[1], elem[2], 0, elem[4], MergeOptions{ + testPullMerge(t, session, elem[1], elem[2], elem[4], MergeOptions{ Style: repo_model.MergeStyleSquash, DeleteBranch: false, }) diff --git a/tests/integration/pull_review_test.go b/tests/integration/pull_review_test.go index f03b2c0d93..7edbd0b9ce 100644 --- a/tests/integration/pull_review_test.go +++ b/tests/integration/pull_review_test.go @@ -220,15 +220,15 @@ func TestPullView_GivenApproveOrRejectReviewOnClosedPR(t *testing.T) { user2Session := loginUser(t, "user2") // Have user1 create a fork of repo1. - testRepoFork(t, user1Session, 0, "user2", "repo1", "user1", "repo1", "") + testRepoFork(t, user1Session, "user2", "repo1", "user1", "repo1", "") t.Run("Submit approve/reject review on merged PR", func(t *testing.T) { // Create a merged PR (made by user1) in the upstream repo1. - testEditFile(t, user1Session, 0, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n") + testEditFile(t, user1Session, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n") resp := testPullCreate(t, user1Session, "user1", "repo1", false, "master", "master", "This is a pull title") elem := strings.Split(test.RedirectURL(resp), "/") assert.Equal(t, "pulls", elem[3]) - testPullMerge(t, user1Session, elem[1], elem[2], 0, elem[4], MergeOptions{ + testPullMerge(t, user1Session, elem[1], elem[2], elem[4], MergeOptions{ Style: repo_model.MergeStyleMerge, DeleteBranch: false, }) @@ -242,7 +242,7 @@ func TestPullView_GivenApproveOrRejectReviewOnClosedPR(t *testing.T) { t.Run("Submit approve/reject review on closed PR", func(t *testing.T) { // Created a closed PR (made by user1) in the upstream repo1. - testEditFileToNewBranch(t, user1Session, 0, "user1", "repo1", "master", "a-test-branch", "README.md", "Hello, World (Edited...again)\n") + testEditFileToNewBranch(t, user1Session, "user1", "repo1", "master", "a-test-branch", "README.md", "Hello, World (Edited...again)\n") resp := testPullCreate(t, user1Session, "user1", "repo1", false, "master", "a-test-branch", "This is a pull title") elem := strings.Split(test.RedirectURL(resp), "/") assert.Equal(t, "pulls", elem[3]) diff --git a/tests/integration/pull_status_test.go b/tests/integration/pull_status_test.go index 1b02a69a7b..3b8924b6e6 100644 --- a/tests/integration/pull_status_test.go +++ b/tests/integration/pull_status_test.go @@ -28,8 +28,8 @@ import ( func TestPullCreate_CommitStatus(t *testing.T) { onGiteaRun(t, func(t *testing.T, u *url.URL) { session := loginUser(t, "user1") - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") - testEditFileToNewBranch(t, session, 0, "user1", "repo1", "master", "status1", "README.md", "status1") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") + testEditFileToNewBranch(t, session, "user1", "repo1", "master", "status1", "README.md", "status1") url := path.Join("user1", "repo1", "compare", "master...status1") req := NewRequestWithValues(t, "POST", url, @@ -71,7 +71,7 @@ func TestPullCreate_CommitStatus(t *testing.T) { commitstatus.CommitStatusWarning: "gitea-exclamation", } - testCtx := NewAPITestContext(t, "user1", "repo1", 0, auth_model.AccessTokenScopeWriteRepository) + testCtx := NewAPITestContext(t, "user1", "repo1", auth_model.AccessTokenScopeWriteRepository) // Update commit status, and check if icon is updated as well for _, status := range statusList { @@ -117,9 +117,9 @@ func TestPullCreate_EmptyChangesWithDifferentCommits(t *testing.T) { // so we need to have this meta commit also in develop branch. onGiteaRun(t, func(t *testing.T, u *url.URL) { session := loginUser(t, "user1") - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") - testEditFileToNewBranch(t, session, 0, "user1", "repo1", "master", "status1", "README.md", "status1") - testEditFile(t, session, 0, "user1", "repo1", "status1", "README.md", "# repo1\n\nDescription for repo1") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") + testEditFileToNewBranch(t, session, "user1", "repo1", "master", "status1", "README.md", "status1") + testEditFile(t, session, "user1", "repo1", "status1", "README.md", "# repo1\n\nDescription for repo1") url := path.Join("user1", "repo1", "compare", "master...status1") req := NewRequestWithValues(t, "POST", url, @@ -141,7 +141,7 @@ func TestPullCreate_EmptyChangesWithDifferentCommits(t *testing.T) { func TestPullCreate_EmptyChangesWithSameCommits(t *testing.T) { onGiteaRun(t, func(t *testing.T, u *url.URL) { session := loginUser(t, "user1") - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") testCreateBranch(t, session, "user1", "repo1", "branch/master", "status1", http.StatusSeeOther) url := path.Join("user1", "repo1", "compare", "master...status1") req := NewRequestWithValues(t, "POST", url, @@ -199,7 +199,7 @@ func TestPullStatusDelayCheck(t *testing.T) { // when base branch changes, PR status should be updated, but it is inactive for long time, so no real check issue3, checkedPrID = run(t, func(t *testing.T) { - testEditFile(t, session, 0, "user2", "repo1", "master", "README.md", "new content 1") + testEditFile(t, session, "user2", "repo1", "master", "README.md", "new content 1") }) assert.Equal(t, issues.PullRequestStatusChecking, issue3.PullRequest.Status) assert.Zero(t, checkedPrID) @@ -215,7 +215,7 @@ func TestPullStatusDelayCheck(t *testing.T) { // when base branch changes, still so no real check issue3, checkedPrID = run(t, func(t *testing.T) { - testEditFile(t, session, 0, "user2", "repo1", "master", "README.md", "new content 2") + testEditFile(t, session, "user2", "repo1", "master", "README.md", "new content 2") }) assert.Equal(t, issues.PullRequestStatusChecking, issue3.PullRequest.Status) assert.Zero(t, checkedPrID) @@ -223,7 +223,7 @@ func TestPullStatusDelayCheck(t *testing.T) { // then allow to check PRs without delay, when base branch changes, the PRs will be checked setting.Repository.PullRequest.DelayCheckForInactiveDays = -1 issue3, checkedPrID = run(t, func(t *testing.T) { - testEditFile(t, session, 0, "user2", "repo1", "master", "README.md", "new content 3") + testEditFile(t, session, "user2", "repo1", "master", "README.md", "new content 3") }) assert.Equal(t, issues.PullRequestStatusChecking, issue3.PullRequest.Status) assert.Equal(t, issue3.PullRequest.ID, checkedPrID) diff --git a/tests/integration/repo_activity_test.go b/tests/integration/repo_activity_test.go index ee79cfcd39..7781fd0511 100644 --- a/tests/integration/repo_activity_test.go +++ b/tests/integration/repo_activity_test.go @@ -22,20 +22,20 @@ func TestRepoActivity(t *testing.T) { session := loginUser(t, "user1") // Create PRs (1 merged & 2 proposed) - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") - testEditFile(t, session, 0, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") + testEditFile(t, session, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n") resp := testPullCreate(t, session, "user1", "repo1", false, "master", "master", "This is a pull title") elem := strings.Split(test.RedirectURL(resp), "/") assert.Equal(t, "pulls", elem[3]) - testPullMerge(t, session, elem[1], elem[2], 0, elem[4], MergeOptions{ + testPullMerge(t, session, elem[1], elem[2], elem[4], MergeOptions{ Style: repo_model.MergeStyleMerge, DeleteBranch: false, }) - testEditFileToNewBranch(t, session, 0, "user1", "repo1", "master", "feat/better_readme", "README.md", "Hello, World (Edited Again)\n") + testEditFileToNewBranch(t, session, "user1", "repo1", "master", "feat/better_readme", "README.md", "Hello, World (Edited Again)\n") testPullCreate(t, session, "user1", "repo1", false, "master", "feat/better_readme", "This is a pull title") - testEditFileToNewBranch(t, session, 0, "user1", "repo1", "master", "feat/much_better_readme", "README.md", "Hello, World (Edited More)\n") + testEditFileToNewBranch(t, session, "user1", "repo1", "master", "feat/much_better_readme", "README.md", "Hello, World (Edited More)\n") testPullCreate(t, session, "user1", "repo1", false, "master", "feat/much_better_readme", "This is a pull title") // Create issues (3 new issues) diff --git a/tests/integration/repo_branch_test.go b/tests/integration/repo_branch_test.go index 2cdd3e2326..6cf9990d2e 100644 --- a/tests/integration/repo_branch_test.go +++ b/tests/integration/repo_branch_test.go @@ -204,7 +204,7 @@ func prepareRepoPR(t *testing.T, baseSession, headSession *TestSession, baseRepo testCreateBranch(t, headSession, headRepo.OwnerName, headRepo.Name, "branch/new-commit", "merged-pr", http.StatusSeeOther) prID = testCreatePullToDefaultBranch(t, baseSession, baseRepo, headRepo, "merged-pr", "merged pr") testAPINewFile(t, headSession, headRepo.OwnerName, headRepo.Name, "merged-pr", fmt.Sprintf("new-commit-%s.txt", headRepo.Name), "new-commit") - testPullMerge(t, baseSession, baseRepo.OwnerName, baseRepo.Name, baseRepo.GroupID, prID, MergeOptions{ + testPullMerge(t, baseSession, baseRepo.OwnerName, baseRepo.Name, prID, MergeOptions{ Style: repo_model.MergeStyleRebaseMerge, DeleteBranch: false, }) @@ -213,7 +213,7 @@ func prepareRepoPR(t *testing.T, baseSession, headSession *TestSession, baseRepo testCreateBranch(t, headSession, headRepo.OwnerName, headRepo.Name, "branch/new-commit", "merged-pr-deleted", http.StatusSeeOther) prID = testCreatePullToDefaultBranch(t, baseSession, baseRepo, headRepo, "merged-pr-deleted", "merged pr with deleted branch") testAPINewFile(t, headSession, headRepo.OwnerName, headRepo.Name, "merged-pr-deleted", fmt.Sprintf("new-commit-%s-2.txt", headRepo.Name), "new-commit") - testPullMerge(t, baseSession, baseRepo.OwnerName, baseRepo.Name, baseRepo.GroupID, prID, MergeOptions{ + testPullMerge(t, baseSession, baseRepo.OwnerName, baseRepo.Name, prID, MergeOptions{ Style: repo_model.MergeStyleRebaseMerge, DeleteBranch: true, }) @@ -241,7 +241,7 @@ func TestRecentlyPushedNewBranches(t *testing.T) { prepareRecentlyPushedBranchSpecialTest(t, user12Session, repo10, repo10) // create a fork repo in public org - testRepoFork(t, user12Session, repo10.GroupID, repo10.OwnerName, repo10.Name, "org25", "org25_fork_repo10", repo10.DefaultBranch) + testRepoFork(t, user12Session, repo10.OwnerName, repo10.Name, "org25", "org25_fork_repo10", repo10.DefaultBranch) orgPublicForkRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerID: 25, Name: "org25_fork_repo10"}) prepareRepoPR(t, user12Session, user12Session, repo10, orgPublicForkRepo) prepareRecentlyPushedBranchTest(t, user12Session, repo10, orgPublicForkRepo) diff --git a/tests/integration/repo_commits_test.go b/tests/integration/repo_commits_test.go index c36fa5a276..460a6cd812 100644 --- a/tests/integration/repo_commits_test.go +++ b/tests/integration/repo_commits_test.go @@ -183,7 +183,7 @@ func TestRepoCommitsStatusParallel(t *testing.T) { wg.Add(1) go func(parentT *testing.T, i int) { parentT.Run(fmt.Sprintf("ParallelCreateStatus_%d", i), func(t *testing.T) { - ctx := NewAPITestContext(t, "user2", "repo1", 0, auth_model.AccessTokenScopeWriteRepository) + ctx := NewAPITestContext(t, "user2", "repo1", auth_model.AccessTokenScopeWriteRepository) doAPICreateCommitStatusTest(ctx, path.Base(commitURL), commitstatus.CommitStatusPending, "testci")(t) wg.Done() }) @@ -208,7 +208,7 @@ func TestRepoCommitsStatusMultiple(t *testing.T) { assert.NotEmpty(t, commitURL) // Call API to add status for commit - ctx := NewAPITestContext(t, "user2", "repo1", 0, auth_model.AccessTokenScopeWriteRepository) + ctx := NewAPITestContext(t, "user2", "repo1", auth_model.AccessTokenScopeWriteRepository) t.Run("CreateStatus", doAPICreateCommitStatusTest(ctx, path.Base(commitURL), commitstatus.CommitStatusSuccess, "testci")) t.Run("CreateStatus", doAPICreateCommitStatusTest(ctx, path.Base(commitURL), commitstatus.CommitStatusSuccess, "other_context")) req = NewRequest(t, "GET", "/user2/repo1/commits/branch/master") diff --git a/tests/integration/repo_fork_test.go b/tests/integration/repo_fork_test.go index 2fabb98714..bf3ef2571e 100644 --- a/tests/integration/repo_fork_test.go +++ b/tests/integration/repo_fork_test.go @@ -21,15 +21,15 @@ import ( "github.com/stretchr/testify/assert" ) -func testRepoFork(t *testing.T, session *TestSession, groupID int64, ownerName, repoName, forkOwnerName, forkRepoName, forkBranch string) *httptest.ResponseRecorder { +func testRepoFork(t *testing.T, session *TestSession, ownerName, repoName, forkOwnerName, forkRepoName, forkBranch string) *httptest.ResponseRecorder { forkOwner := unittest.AssertExistsAndLoadBean(t, &user_model.User{Name: forkOwnerName}) // Step0: check the existence of the to-fork repo - req := NewRequestf(t, "GET", "/%s/%s%s", forkOwnerName, maybeGroupSegment(groupID), forkRepoName) + req := NewRequestf(t, "GET", "/%s/%s", forkOwnerName, forkRepoName) session.MakeRequest(t, req, http.StatusNotFound) // Step1: go to the main page of repo - req = NewRequestf(t, "GET", "/%s/%s%s", ownerName, maybeGroupSegment(groupID), repoName) + req = NewRequestf(t, "GET", "/%s/%s", ownerName, repoName) resp := session.MakeRequest(t, req, http.StatusOK) // Step2: click the fork button @@ -63,13 +63,13 @@ func testRepoFork(t *testing.T, session *TestSession, groupID int64, ownerName, func TestRepoFork(t *testing.T) { defer tests.PrepareTestEnv(t)() session := loginUser(t, "user1") - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1", "") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "") } func TestRepoForkToOrg(t *testing.T) { defer tests.PrepareTestEnv(t)() session := loginUser(t, "user2") - testRepoFork(t, session, 0, "user2", "repo1", "org3", "repo1", "") + testRepoFork(t, session, "user2", "repo1", "org3", "repo1", "") // Check that no more forking is allowed as user2 owns repository // and org3 organization that owner user2 is also now has forked this repository @@ -93,7 +93,7 @@ func TestForkListLimitedAndPrivateRepos(t *testing.T) { ownerTeam1, err := org_model.OrgFromUser(limitedOrg).GetOwnerTeam(t.Context()) assert.NoError(t, err) assert.NoError(t, org_service.AddTeamMember(t.Context(), ownerTeam1, user1)) - testRepoFork(t, user1Sess, 0, "user2", "repo1", limitedOrg.Name, "repo1", "") + testRepoFork(t, user1Sess, "user2", "repo1", limitedOrg.Name, "repo1", "") // fork to a private org user4Sess := loginUser(t, "user4") @@ -103,7 +103,7 @@ func TestForkListLimitedAndPrivateRepos(t *testing.T) { ownerTeam2, err := org_model.OrgFromUser(privateOrg).GetOwnerTeam(t.Context()) assert.NoError(t, err) assert.NoError(t, org_service.AddTeamMember(t.Context(), ownerTeam2, user4)) - testRepoFork(t, user4Sess, 0, "user2", "repo1", privateOrg.Name, "repo1", "") + testRepoFork(t, user4Sess, "user2", "repo1", privateOrg.Name, "repo1", "") t.Run("Anonymous", func(t *testing.T) { defer tests.PrintCurrentTest(t)() diff --git a/tests/integration/repo_merge_upstream_test.go b/tests/integration/repo_merge_upstream_test.go index 0a7444b4b7..fcc6078fcd 100644 --- a/tests/integration/repo_merge_upstream_test.go +++ b/tests/integration/repo_merge_upstream_test.go @@ -40,7 +40,7 @@ func TestRepoMergeUpstream(t *testing.T) { token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) // create a fork - req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s%s/forks", baseUser.Name, maybeGroupSegment(baseRepo.GroupID), baseRepo.Name), &api.CreateForkOption{ + req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/repos/%s/%s/forks", baseUser.Name, baseRepo.Name), &api.CreateForkOption{ Name: new("test-repo-fork"), }).AddTokenAuth(token) MakeRequest(t, req, http.StatusAccepted) diff --git a/tests/integration/repo_search_test.go b/tests/integration/repo_search_test.go index 2c80aea337..eafb600990 100644 --- a/tests/integration/repo_search_test.go +++ b/tests/integration/repo_search_test.go @@ -28,7 +28,7 @@ func resultFilenames(doc *HTMLDoc) []string { func TestSearchRepo(t *testing.T) { defer tests.PrepareTestEnv(t)() - repo, err := repo_model.GetRepositoryByOwnerAndName(t.Context(), "user2", "repo1", 0) + repo, err := repo_model.GetRepositoryByOwnerAndName(t.Context(), "user2", "repo1") assert.NoError(t, err) code_indexer.UpdateRepoIndexer(repo) @@ -38,7 +38,7 @@ func TestSearchRepo(t *testing.T) { setting.Indexer.IncludePatterns = setting.IndexerGlobFromString("**.txt") setting.Indexer.ExcludePatterns = setting.IndexerGlobFromString("**/y/**") - repo, err = repo_model.GetRepositoryByOwnerAndName(t.Context(), "user2", "glob", 0) + repo, err = repo_model.GetRepositoryByOwnerAndName(t.Context(), "user2", "glob") assert.NoError(t, err) code_indexer.UpdateRepoIndexer(repo) diff --git a/tests/integration/repo_tag_test.go b/tests/integration/repo_tag_test.go index 6f4f530a4a..93ed163235 100644 --- a/tests/integration/repo_tag_test.go +++ b/tests/integration/repo_tag_test.go @@ -46,7 +46,7 @@ func TestCreateNewTagProtected(t *testing.T) { t.Run("Git", func(t *testing.T) { onGiteaRun(t, func(t *testing.T, u *url.URL) { - httpContext := NewAPITestContext(t, owner.Name, repo.Name, repo.GroupID) + httpContext := NewAPITestContext(t, owner.Name, repo.Name) dstPath := t.TempDir() @@ -66,7 +66,7 @@ func TestCreateNewTagProtected(t *testing.T) { t.Run("GitTagForce", func(t *testing.T) { onGiteaRun(t, func(t *testing.T, u *url.URL) { - httpContext := NewAPITestContext(t, owner.Name, repo.Name, repo.GroupID) + httpContext := NewAPITestContext(t, owner.Name, repo.Name) dstPath := t.TempDir() @@ -129,7 +129,7 @@ func TestRepushTag(t *testing.T) { session := loginUser(t, owner.LowerName) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) - httpContext := NewAPITestContext(t, owner.Name, repo.Name, repo.GroupID) + httpContext := NewAPITestContext(t, owner.Name, repo.Name) dstPath := t.TempDir() diff --git a/tests/integration/repo_test.go b/tests/integration/repo_test.go index 4c77c7ea0e..cc560cb8cc 100644 --- a/tests/integration/repo_test.go +++ b/tests/integration/repo_test.go @@ -64,7 +64,7 @@ func testViewRepoPublic(t *testing.T) { assert.True(t, repoTopics.HasClass("repo-topic")) assert.True(t, repoSummary.HasClass("repository-menu")) - req = NewRequest(t, "GET", "/org3/group/129/repo3") + req = NewRequest(t, "GET", "/org3/repo3") MakeRequest(t, req, http.StatusNotFound) session = loginUser(t, "user1") @@ -74,7 +74,7 @@ func testViewRepoPublic(t *testing.T) { func testViewRepoWithCache(t *testing.T) { defer tests.PrintCurrentTest(t)() testView := func(t *testing.T) { - req := NewRequest(t, "GET", "/org3/group/129/repo3") + req := NewRequest(t, "GET", "/org3/repo3") session := loginUser(t, "user2") resp := session.MakeRequest(t, req, http.StatusOK) @@ -145,11 +145,11 @@ func testViewRepoWithCache(t *testing.T) { func testViewRepoPrivate(t *testing.T) { defer tests.PrintCurrentTest(t)() - req := NewRequest(t, "GET", "/org3/group/129/repo3") + req := NewRequest(t, "GET", "/org3/repo3") MakeRequest(t, req, http.StatusNotFound) t.Run("OrgMemberAccess", func(t *testing.T) { - req = NewRequest(t, "GET", "/org3/group/129/repo3") + req = NewRequest(t, "GET", "/org3/repo3") session := loginUser(t, "user4") resp := session.MakeRequest(t, req, http.StatusOK) assert.Contains(t, resp.Body.String(), `
Public Access`) // remove "anonymous read" - req = NewRequest(t, "POST", "/org3/group/129/repo3/settings/public_access") + req = NewRequest(t, "POST", "/org3/repo3/settings/public_access") session.MakeRequest(t, req, http.StatusSeeOther) // try to "anonymous read" (not found) - req = NewRequest(t, "GET", "/org3/group/129/repo3") + req = NewRequest(t, "GET", "/org3/repo3") MakeRequest(t, req, http.StatusNotFound) }) } @@ -565,7 +565,7 @@ func TestGenerateRepository(t *testing.T) { // a failed creating because some mock data // create the repository directory so that the creation will fail after database record created. - assert.NoError(t, os.MkdirAll(repo_model.RepoPath(user2.Name, "generated-from-template-44", generatedRepo.GroupID), os.ModePerm)) + assert.NoError(t, os.MkdirAll(repo_model.RepoPath(user2.Name, "generated-from-template-44", 0), os.ModePerm)) generatedRepo2, err := repo_service.GenerateRepository(t.Context(), user2, user2, repo44, repo_service.GenerateRepoOptions{ Name: "generated-from-template-44", diff --git a/tests/integration/repo_watch_test.go b/tests/integration/repo_watch_test.go index e3ca8c1796..ef3028f293 100644 --- a/tests/integration/repo_watch_test.go +++ b/tests/integration/repo_watch_test.go @@ -18,7 +18,7 @@ func TestRepoWatch(t *testing.T) { setting.Service.AutoWatchOnChanges = true session := loginUser(t, "user2") unittest.AssertNotExistsBean(t, &repo_model.Watch{UserID: 2, RepoID: 3}) - testEditFile(t, session, 129, "org3", "repo3", "master", "README.md", "Hello, World (Edited for watch)\n") + testEditFile(t, session, "org3", "repo3", "master", "README.md", "Hello, World (Edited for watch)\n") unittest.AssertExistsAndLoadBean(t, &repo_model.Watch{UserID: 2, RepoID: 3, Mode: repo_model.WatchModeAuto}) }) } diff --git a/tests/integration/repo_webhook_test.go b/tests/integration/repo_webhook_test.go index 3544afbdbf..4b72962d4f 100644 --- a/tests/integration/repo_webhook_test.go +++ b/tests/integration/repo_webhook_test.go @@ -64,7 +64,7 @@ func TestNewWebHookLink(t *testing.T) { } } -func testAPICreateWebhookForRepo(t *testing.T, session *TestSession, groupID int64, userName, repoName, url, event string, branchFilter ...string) { +func testAPICreateWebhookForRepo(t *testing.T, session *TestSession, userName, repoName, url, event string, branchFilter ...string) { token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeAll) var branchFilterString string if len(branchFilter) > 0 { @@ -153,10 +153,10 @@ func Test_WebhookCreate(t *testing.T) { // 1. create a new webhook with special webhook for repo1 session := loginUser(t, "user2") - testAPICreateWebhookForRepo(t, session, 0, "user2", "repo1", provider.URL(), "create") + testAPICreateWebhookForRepo(t, session, "user2", "repo1", provider.URL(), "create") // 2. trigger the webhook - testAPICreateBranch(t, session, 0, "user2", "repo1", "master", "master2", http.StatusCreated) + testAPICreateBranch(t, session, "user2", "repo1", "master", "master2", http.StatusCreated) // 3. validate the webhook is triggered assert.Len(t, payloads, 1) @@ -185,10 +185,10 @@ func Test_WebhookDelete(t *testing.T) { // 1. create a new webhook with special webhook for repo1 session := loginUser(t, "user2") - testAPICreateWebhookForRepo(t, session, 0, "user2", "repo1", provider.URL(), "delete") + testAPICreateWebhookForRepo(t, session, "user2", "repo1", provider.URL(), "delete") // 2. trigger the webhook - testAPICreateBranch(t, session, 0, "user2", "repo1", "master", "master2", http.StatusCreated) + testAPICreateBranch(t, session, "user2", "repo1", "master", "master2", http.StatusCreated) testAPIDeleteBranch(t, "master2", http.StatusNoContent) // 3. validate the webhook is triggered @@ -218,10 +218,10 @@ func Test_WebhookFork(t *testing.T) { // 1. create a new webhook with special webhook for repo1 session := loginUser(t, "user1") - testAPICreateWebhookForRepo(t, session, 0, "user2", "repo1", provider.URL(), "fork") + testAPICreateWebhookForRepo(t, session, "user2", "repo1", provider.URL(), "fork") // 2. trigger the webhook - testRepoFork(t, session, 0, "user2", "repo1", "user1", "repo1-fork", "master") + testRepoFork(t, session, "user2", "repo1", "user1", "repo1-fork", "master") // 3. validate the webhook is triggered assert.Equal(t, "fork", triggeredEvent) @@ -250,7 +250,7 @@ func Test_WebhookIssueComment(t *testing.T) { // 1. create a new webhook with special webhook for repo1 session := loginUser(t, "user2") - testAPICreateWebhookForRepo(t, session, 0, "user2", "repo1", provider.URL(), "issue_comment") + testAPICreateWebhookForRepo(t, session, "user2", "repo1", provider.URL(), "issue_comment") t.Run("create comment", func(t *testing.T) { // 2. trigger the webhook @@ -332,7 +332,7 @@ func Test_WebhookRelease(t *testing.T) { // 1. create a new webhook with special webhook for repo1 session := loginUser(t, "user2") - testAPICreateWebhookForRepo(t, session, 0, "user2", "repo1", provider.URL(), "release") + testAPICreateWebhookForRepo(t, session, "user2", "repo1", provider.URL(), "release") // 2. trigger the webhook createNewRelease(t, session, "/user2/repo1", "v0.0.99", "v0.0.99", false, false) @@ -365,10 +365,10 @@ func Test_WebhookPush(t *testing.T) { // 1. create a new webhook with special webhook for repo1 session := loginUser(t, "user2") - testAPICreateWebhookForRepo(t, session, 0, "user2", "repo1", provider.URL(), "push") + testAPICreateWebhookForRepo(t, session, "user2", "repo1", provider.URL(), "push") // 2. trigger the webhook - testCreateFile(t, session, 0, "user2", "repo1", "master", "", "test_webhook_push.md", "# a test file for webhook push") + testCreateFile(t, session, "user2", "repo1", "master", "", "test_webhook_push.md", "# a test file for webhook push") // 3. validate the webhook is triggered assert.Equal(t, "push", triggeredEvent) @@ -398,10 +398,10 @@ func Test_WebhookPushDevBranch(t *testing.T) { session := loginUser(t, "user2") // only for dev branch - testAPICreateWebhookForRepo(t, session, 0, "user2", "repo1", provider.URL(), "push", "develop") + testAPICreateWebhookForRepo(t, session, "user2", "repo1", provider.URL(), "push", "develop") // 2. this should not trigger the webhook - testCreateFile(t, session, 0, "user2", "repo1", "master", "", "test_webhook_push.md", "# a test file for webhook push") + testCreateFile(t, session, "user2", "repo1", "master", "", "test_webhook_push.md", "# a test file for webhook push") assert.Empty(t, triggeredEvent) assert.Empty(t, payloads) @@ -414,7 +414,7 @@ func Test_WebhookPushDevBranch(t *testing.T) { assert.NoError(t, err) // 3. trigger the webhook - testCreateFile(t, session, 0, "user2", "repo1", "develop", "", "test_webhook_push.md", "# a test file for webhook push") + testCreateFile(t, session, "user2", "repo1", "develop", "", "test_webhook_push.md", "# a test file for webhook push") afterCommitID, err := gitRepo.GetBranchCommitID("develop") assert.NoError(t, err) @@ -454,7 +454,7 @@ func Test_WebhookPushToNewBranch(t *testing.T) { session := loginUser(t, "user2") // only for dev branch - testAPICreateWebhookForRepo(t, session, 0, "user2", "repo1", provider.URL(), "push", "new_branch") + testAPICreateWebhookForRepo(t, session, "user2", "repo1", provider.URL(), "push", "new_branch") repo1 := unittest.AssertExistsAndLoadBean(t, &repo.Repository{ID: 1}) gitRepo, err := gitrepo.OpenRepository(t.Context(), repo1) @@ -465,7 +465,7 @@ func Test_WebhookPushToNewBranch(t *testing.T) { assert.NoError(t, err) // 2. trigger the webhook - testCreateFile(t, session, 0, "user2", "repo1", "master", "new_branch", "test_webhook_push.md", "# a new push from new branch") + testCreateFile(t, session, "user2", "repo1", "master", "new_branch", "test_webhook_push.md", "# a new push from new branch") afterCommitID, err := gitRepo.GetBranchCommitID("new_branch") assert.NoError(t, err) @@ -505,7 +505,7 @@ func Test_WebhookIssue(t *testing.T) { // 1. create a new webhook with special webhook for repo1 session := loginUser(t, "user2") - testAPICreateWebhookForRepo(t, session, 0, "user2", "repo1", provider.URL(), "issues") + testAPICreateWebhookForRepo(t, session, "user2", "repo1", provider.URL(), "issues") // 2. trigger the webhook testNewIssue(t, session, "user2", "repo1", "Title1", "Description1") @@ -539,7 +539,7 @@ func Test_WebhookIssueDelete(t *testing.T) { // 1. create a new webhook with special webhook for repo1 session := loginUser(t, "user2") - testAPICreateWebhookForRepo(t, session, 0, "user2", "repo1", provider.URL(), "issues") + testAPICreateWebhookForRepo(t, session, "user2", "repo1", provider.URL(), "issues") issueURL := testNewIssue(t, session, "user2", "repo1", "Title1", "Description1") // 2. trigger the webhook @@ -576,7 +576,7 @@ func Test_WebhookIssueAssign(t *testing.T) { // 1. create a new webhook with special webhook for repo1 session := loginUser(t, "user2") - testAPICreateWebhookForRepo(t, session, 0, "user2", "repo1", provider.URL(), "pull_request_assign") + testAPICreateWebhookForRepo(t, session, "user2", "repo1", provider.URL(), "pull_request_assign") // 2. trigger the webhook, issue 2 is a pull request testIssueAssign(t, session, repo1.Link(), 2, user2.ID) @@ -610,7 +610,7 @@ func Test_WebhookIssueMilestone(t *testing.T) { // create a new webhook with special webhook for repo1 session := loginUser(t, "user2") repo1 := unittest.AssertExistsAndLoadBean(t, &repo.Repository{ID: 1}) - testAPICreateWebhookForRepo(t, session, 0, "user2", "repo1", provider.URL(), "issue_milestone") + testAPICreateWebhookForRepo(t, session, "user2", "repo1", provider.URL(), "issue_milestone") t.Run("assign a milestone", func(t *testing.T) { // trigger the webhook @@ -679,7 +679,7 @@ func Test_WebhookPullRequest(t *testing.T) { }, http.StatusOK) defer provider.Close() - testCtx := NewAPITestContext(t, "user2", "repo1", 0, auth_model.AccessTokenScopeAll) + testCtx := NewAPITestContext(t, "user2", "repo1", auth_model.AccessTokenScopeAll) // add user4 as collabrator so that it can be a reviewer doAPIAddCollaborator(testCtx, "user4", perm.AccessModeWrite)(t) @@ -688,9 +688,9 @@ func Test_WebhookPullRequest(t *testing.T) { sessionUser4 := loginUser(t, "user4") // ignore the possible review_requested event to keep the test deterministic - testAPICreateWebhookForRepo(t, sessionUser2, 0, "user2", "repo1", provider.URL(), "pull_request_only") + testAPICreateWebhookForRepo(t, sessionUser2, "user2", "repo1", provider.URL(), "pull_request_only") - testAPICreateBranch(t, sessionUser2, 0, "user2", "repo1", "master", "master2", http.StatusCreated) + testAPICreateBranch(t, sessionUser2, "user2", "repo1", "master", "master2", http.StatusCreated) // 2. trigger the webhook repo1 := unittest.AssertExistsAndLoadBean(t, &repo.Repository{ID: 1}) testPullCreateDirectly(t, sessionUser4, createPullRequestOptions{ @@ -735,9 +735,9 @@ func Test_WebhookPullRequestDelete(t *testing.T) { // 1. create a new webhook with special webhook for repo1 session := loginUser(t, "user2") - testAPICreateWebhookForRepo(t, session, 0, "user2", "repo1", provider.URL(), "pull_request") + testAPICreateWebhookForRepo(t, session, "user2", "repo1", provider.URL(), "pull_request") - testAPICreateBranch(t, session, 0, "user2", "repo1", "master", "master2", http.StatusCreated) + testAPICreateBranch(t, session, "user2", "repo1", "master", "master2", http.StatusCreated) repo1 := unittest.AssertExistsAndLoadBean(t, &repo.Repository{ID: 1}) issueURL := testCreatePullToDefaultBranch(t, session, repo1, repo1, "master2", "first pull request") @@ -774,10 +774,10 @@ func Test_WebhookPullRequestComment(t *testing.T) { // 1. create a new webhook with special webhook for repo1 session := loginUser(t, "user2") - testAPICreateWebhookForRepo(t, session, 0, "user2", "repo1", provider.URL(), "pull_request_comment") + testAPICreateWebhookForRepo(t, session, "user2", "repo1", provider.URL(), "pull_request_comment") // 2. trigger the webhook - testAPICreateBranch(t, session, 0, "user2", "repo1", "master", "master2", http.StatusCreated) + testAPICreateBranch(t, session, "user2", "repo1", "master", "master2", http.StatusCreated) repo1 := unittest.AssertExistsAndLoadBean(t, &repo.Repository{ID: 1}) prID := testCreatePullToDefaultBranch(t, session, repo1, repo1, "master2", "first pull request") @@ -812,7 +812,7 @@ func Test_WebhookWiki(t *testing.T) { // 1. create a new webhook with special webhook for repo1 session := loginUser(t, "user2") - testAPICreateWebhookForRepo(t, session, 0, "user2", "repo1", provider.URL(), "wiki") + testAPICreateWebhookForRepo(t, session, "user2", "repo1", provider.URL(), "wiki") // 2. trigger the webhook testAPICreateWikiPage(t, session, "user2", "repo1", "Test Wiki Page", http.StatusCreated) @@ -918,7 +918,7 @@ func Test_WebhookStatus(t *testing.T) { // 1. create a new webhook with special webhook for repo1 session := loginUser(t, "user2") - testAPICreateWebhookForRepo(t, session, 0, "user2", "repo1", provider.URL(), "status") + testAPICreateWebhookForRepo(t, session, "user2", "repo1", provider.URL(), "status") repo1 := unittest.AssertExistsAndLoadBean(t, &repo.Repository{ID: 1}) @@ -928,7 +928,7 @@ func Test_WebhookStatus(t *testing.T) { assert.NoError(t, err) // 2. trigger the webhook - testCtx := NewAPITestContext(t, "user2", "repo1", 0, auth_model.AccessTokenScopeAll) + testCtx := NewAPITestContext(t, "user2", "repo1", auth_model.AccessTokenScopeAll) // update a status for a commit via API doAPICreateCommitStatusTest(testCtx, commitID, commitstatus.CommitStatusSuccess, "testci")(t) @@ -962,7 +962,7 @@ func Test_WebhookStatus_NoWrongTrigger(t *testing.T) { testCreateWebhookForRepo(t, session, "gitea", "user2", "repo1", provider.URL(), "push_only") // 2. trigger the webhook with a push action - testCreateFile(t, session, 0, "user2", "repo1", "master", "", "test_webhook_push.md", "# a test file for webhook push") + testCreateFile(t, session, "user2", "repo1", "master", "", "test_webhook_push.md", "# a test file for webhook push") // 3. validate the webhook is triggered with right event assert.Equal(t, "push", trigger) @@ -991,7 +991,7 @@ func Test_WebhookWorkflowJob(t *testing.T) { session := loginUser(t, "user2") token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) - testAPICreateWebhookForRepo(t, session, 0, "user2", "repo1", provider.URL(), "workflow_job") + testAPICreateWebhookForRepo(t, session, "user2", "repo1", provider.URL(), "workflow_job") repo1 := unittest.AssertExistsAndLoadBean(t, &repo.Repository{ID: 1}) @@ -1021,7 +1021,7 @@ jobs: - run: echo 'cmd 2' ` opts := getWorkflowCreateFileOptions(user2, repo1.DefaultBranch, "create "+wfTreePath, wfFileContent) - createWorkflowFile(t, token, "user2", "repo1", repo1.GroupID, wfTreePath, opts) + createWorkflowFile(t, token, "user2", "repo1", wfTreePath, opts) commitID, err := gitRepo1.GetBranchCommitID(repo1.DefaultBranch) assert.NoError(t, err) @@ -1183,7 +1183,7 @@ func testWorkflowRunEvents(t *testing.T, webhookData *workflowRunWebhook) { session := loginUser(t, "user2") token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) - testAPICreateWebhookForRepo(t, session, 0, "user2", "repo1", webhookData.URL, "workflow_run") + testAPICreateWebhookForRepo(t, session, "user2", "repo1", webhookData.URL, "workflow_run") repo1 := unittest.AssertExistsAndLoadBean(t, &repo.Repository{ID: 1}) @@ -1262,7 +1262,7 @@ jobs: steps: - run: exit 0` opts := getWorkflowCreateFileOptions(user2, repo1.DefaultBranch, "create "+wfTreePath, wfFileContent) - createWorkflowFile(t, token, "user2", "repo1", 0, wfTreePath, opts) + createWorkflowFile(t, token, "user2", "repo1", wfTreePath, opts) commitID, err := gitRepo1.GetBranchCommitID(repo1.DefaultBranch) assert.NoError(t, err) @@ -1308,7 +1308,7 @@ func testWorkflowRunEventsOnRerun(t *testing.T, webhookData *workflowRunWebhook) runners[i].registerAsRepoRunner(t, "user2", "repo1", fmt.Sprintf("mock-runner-%d", i), []string{"ubuntu-latest"}, false) } - testAPICreateWebhookForRepo(t, session, 0, "user2", "repo1", webhookData.URL, "workflow_run") + testAPICreateWebhookForRepo(t, session, "user2", "repo1", webhookData.URL, "workflow_run") repo1 := unittest.AssertExistsAndLoadBean(t, &repo.Repository{ID: 1}) @@ -1387,7 +1387,7 @@ jobs: steps: - run: exit 0` opts := getWorkflowCreateFileOptions(user2, repo1.DefaultBranch, "create "+wfTreePath, wfFileContent) - createWorkflowFile(t, token, "user2", "repo1", 0, wfTreePath, opts) + createWorkflowFile(t, token, "user2", "repo1", wfTreePath, opts) commitID, err := gitRepo1.GetBranchCommitID(repo1.DefaultBranch) assert.NoError(t, err) @@ -1479,7 +1479,7 @@ func testWorkflowRunEventsOnCancellingAbandonedRun(t *testing.T, webhookData *wo fmt.Sprintf("mock-runner-%d", i), []string{"ubuntu-latest"}, false) } - testAPICreateWebhookForRepo(t, session, 0, "user2", repoName, webhookData.URL, "workflow_run") + testAPICreateWebhookForRepo(t, session, "user2", repoName, webhookData.URL, "workflow_run") ctx := t.Context() gitRepo, err := gitrepo.OpenRepository(ctx, testRepo) @@ -1559,7 +1559,7 @@ jobs: - run: exit 0` opts := getWorkflowCreateFileOptions(user2, testRepo.DefaultBranch, "create "+wfTreePath, wfFileContent) - createWorkflowFile(t, token, "user2", repoName, 0, wfTreePath, opts) + createWorkflowFile(t, token, "user2", repoName, wfTreePath, opts) commitID, err := gitRepo.GetBranchCommitID(testRepo.DefaultBranch) assert.NoError(t, err) @@ -1696,7 +1696,7 @@ func testWebhookWorkflowRun(t *testing.T, webhookData *workflowRunWebhook) { session := loginUser(t, "user2") token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) - testAPICreateWebhookForRepo(t, session, 0, "user2", "repo1", webhookData.URL, "workflow_run") + testAPICreateWebhookForRepo(t, session, "user2", "repo1", webhookData.URL, "workflow_run") repo1 := unittest.AssertExistsAndLoadBean(t, &repo.Repository{ID: 1}) @@ -1720,7 +1720,7 @@ jobs: steps: - run: echo 'test the webhook' `) - createWorkflowFile(t, token, "user2", "repo1", 0, ".gitea/workflows/dispatch.yml", opts) + createWorkflowFile(t, token, "user2", "repo1", ".gitea/workflows/dispatch.yml", opts) // 2.2 trigger the webhooks @@ -1742,7 +1742,7 @@ jobs: - run: echo 'cmd 2' ` opts = getWorkflowCreateFileOptions(user2, repo1.DefaultBranch, "create "+wfTreePath, wfFileContent) - createWorkflowFile(t, token, "user2", "repo1", repo1.GroupID, wfTreePath, opts) + createWorkflowFile(t, token, "user2", "repo1", wfTreePath, opts) commitID, err := gitRepo1.GetBranchCommitID(repo1.DefaultBranch) assert.NoError(t, err) @@ -1797,7 +1797,7 @@ func testWebhookWorkflowRunDepthLimit(t *testing.T, webhookData *workflowRunWebh session := loginUser(t, "user2") token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) - testAPICreateWebhookForRepo(t, session, 0, "user2", "repo1", webhookData.URL, "workflow_run") + testAPICreateWebhookForRepo(t, session, "user2", "repo1", webhookData.URL, "workflow_run") repo1 := unittest.AssertExistsAndLoadBean(t, &repo.Repository{ID: 1}) @@ -1822,7 +1822,7 @@ jobs: - run: echo 'test the webhook' ` opts := getWorkflowCreateFileOptions(user2, repo1.DefaultBranch, "create "+wfTreePath, wfFileContent) - createWorkflowFile(t, token, "user2", "repo1", repo1.GroupID, wfTreePath, opts) + createWorkflowFile(t, token, "user2", "repo1", wfTreePath, opts) commitID, err := gitRepo1.GetBranchCommitID(repo1.DefaultBranch) assert.NoError(t, err) diff --git a/tests/integration/ssh_key_test.go b/tests/integration/ssh_key_test.go index 9679129455..1625dc3756 100644 --- a/tests/integration/ssh_key_test.go +++ b/tests/integration/ssh_key_test.go @@ -48,8 +48,8 @@ func TestPushDeployKeyOnEmptyRepo(t *testing.T) { func testPushDeployKeyOnEmptyRepo(t *testing.T, u *url.URL) { // OK login - ctx := NewAPITestContext(t, "user2", "deploy-key-empty-repo-1", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) - ctxWithDeleteRepo := NewAPITestContext(t, "user2", "deploy-key-empty-repo-1", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + ctx := NewAPITestContext(t, "user2", "deploy-key-empty-repo-1", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + ctxWithDeleteRepo := NewAPITestContext(t, "user2", "deploy-key-empty-repo-1", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) keyname := ctx.Reponame + "-push" u.Path = ctx.GitPath() @@ -92,8 +92,8 @@ func testKeyOnlyOneType(t *testing.T, u *url.URL) { keyname := reponame + "-push" // OK login - ctx := NewAPITestContext(t, username, reponame, 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) - ctxWithDeleteRepo := NewAPITestContext(t, username, reponame, 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + ctx := NewAPITestContext(t, username, reponame, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + ctxWithDeleteRepo := NewAPITestContext(t, username, reponame, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) otherCtx := ctx otherCtx.Reponame = "ssh-key-test-repo-2" diff --git a/tests/integration/timetracking_test.go b/tests/integration/timetracking_test.go index c83b8d5468..3dec6db2e8 100644 --- a/tests/integration/timetracking_test.go +++ b/tests/integration/timetracking_test.go @@ -20,24 +20,24 @@ func TestViewTimetrackingControls(t *testing.T) { t.Run("Exist", func(t *testing.T) { defer tests.PrintCurrentTest(t)() session := loginUser(t, "user2") - testViewTimetrackingControls(t, session, 0, "repo1", "1", true, "user2") + testViewTimetrackingControls(t, session, "user2", "repo1", "1", true) }) t.Run("Non-exist", func(t *testing.T) { defer tests.PrintCurrentTest(t)() session := loginUser(t, "user5") - testViewTimetrackingControls(t, session, 0, "repo1", "1", false, "user2") + testViewTimetrackingControls(t, session, "user2", "repo1", "1", false) }) t.Run("Disabled", func(t *testing.T) { defer tests.PrintCurrentTest(t)() session := loginUser(t, "user2") - testViewTimetrackingControls(t, session, 129, "repo3", "1", false, "org3") + testViewTimetrackingControls(t, session, "org3", "repo3", "1", false) }) } -func testViewTimetrackingControls(t *testing.T, session *TestSession, groupID int64, repo, issue string, canTrackTime bool, user string) { - req := NewRequest(t, "GET", path.Join(user, maybeGroupSegment(groupID), repo, "issues", issue)) +func testViewTimetrackingControls(t *testing.T, session *TestSession, user, repo, issue string, canTrackTime bool) { + req := NewRequest(t, "GET", path.Join(user, repo, "issues", issue)) resp := session.MakeRequest(t, req, http.StatusOK) htmlDoc := NewHTMLParser(t, resp.Body) @@ -45,7 +45,7 @@ func testViewTimetrackingControls(t *testing.T, session *TestSession, groupID in AssertHTMLElement(t, htmlDoc, ".issue-start-time", canTrackTime) AssertHTMLElement(t, htmlDoc, ".issue-add-time", canTrackTime) - issueLink := path.Join(user, maybeGroupSegment(groupID), repo, "issues", issue) + issueLink := path.Join(user, repo, "issues", issue) reqStart := NewRequest(t, "POST", path.Join(issueLink, "times", "stopwatch", "start")) if canTrackTime { session.MakeRequest(t, reqStart, http.StatusOK) diff --git a/tests/integration/wiki_test.go b/tests/integration/wiki_test.go index c74560f4e4..5718156ffa 100644 --- a/tests/integration/wiki_test.go +++ b/tests/integration/wiki_test.go @@ -80,7 +80,7 @@ func Test_WikiClone(t *testing.T) { reponame := "repo1" wikiPath := username + "/" + reponame + ".wiki.git" keyname := "my-testing-key" - baseAPITestContext := NewAPITestContext(t, username, "repo1", 0, auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) + baseAPITestContext := NewAPITestContext(t, username, "repo1", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser) u.Path = wikiPath diff --git a/tests/integration/workflow_run_api_check_test.go b/tests/integration/workflow_run_api_check_test.go index 36c821814f..6a80bb5118 100644 --- a/tests/integration/workflow_run_api_check_test.go +++ b/tests/integration/workflow_run_api_check_test.go @@ -27,7 +27,7 @@ func TestAPIWorkflowRun(t *testing.T) { testAPIWorkflowRunBasic(t, "/api/v1/orgs/org3/actions", "User1", 802, auth_model.AccessTokenScopeReadOrganization, auth_model.AccessTokenScopeReadRepository) }) t.Run("RepoRuns", func(t *testing.T) { - testAPIWorkflowRunBasic(t, "/api/v1/repos/org3/group/139/repo5/actions", "User2", 802, auth_model.AccessTokenScopeReadRepository) + testAPIWorkflowRunBasic(t, "/api/v1/repos/org3/repo5/actions", "User2", 802, auth_model.AccessTokenScopeReadRepository) }) }