|
208 | 208 | repositories: |
209 | 209 | - cloudfoundry2/repo3 |
210 | 210 | - cloudfoundry2/repo4 |
211 | | - - cloudfoundry/repo5 |
| 211 | + - cloudfoundry2/repo5 |
212 | 212 | """ |
213 | 213 |
|
214 | 214 | toc = """ |
@@ -474,6 +474,18 @@ def test_validate_repo_ownership(self): |
474 | 474 | o = OrgGenerator(static_org_cfg=org_cfg, toc=toc, working_groups=[wg1, wg2, wg3]) |
475 | 475 | self.assertFalse(o.validate_repo_ownership()) |
476 | 476 |
|
| 477 | + def test_validate_repo_ownership_multiple_orgs(self): |
| 478 | + OrgGenerator._MANAGED_ORGS = ["cloudfoundry", "cloudfoundry2"] |
| 479 | + o = OrgGenerator(static_org_cfg=org_cfg_multiple, toc=toc, working_groups=[wg1, wg4_other_org]) |
| 480 | + self.assertTrue(o.validate_repo_ownership()) |
| 481 | + # includes non-managed orgs |
| 482 | + o = OrgGenerator(static_org_cfg=org_cfg_multiple, toc=toc, working_groups=[wg1, wg2, wg4_other_org]) |
| 483 | + self.assertTrue(o.validate_repo_ownership()) |
| 484 | + # wg can only have repos of one org |
| 485 | + bad_wg4_other_org = wg4_other_org.replace("cloudfoundry2/repo5", "cloudfoundry/repo5") |
| 486 | + o = OrgGenerator(static_org_cfg=org_cfg_multiple, toc=toc, working_groups=[wg1, bad_wg4_other_org]) |
| 487 | + self.assertFalse(o.validate_repo_ownership()) |
| 488 | + |
477 | 489 | def test_generate_wg_teams(self): |
478 | 490 | _wg1 = OrgGenerator._yaml_load(wg1) |
479 | 491 | OrgGenerator._validate_wg(_wg1) |
@@ -559,7 +571,7 @@ def test_generate_wg_teams_multiple_orgs(self): |
559 | 571 | self.assertDictEqual({"repo1": "write", "repo2": "write"}, team["repos"]) |
560 | 572 |
|
561 | 573 | team = wg_team["teams"]["wg-wg4-name-area-2-approvers"] |
562 | | - self.assertDictEqual({"repo3": "write", "repo4": "write"}, team["repos"]) |
| 574 | + self.assertDictEqual({"repo3": "write", "repo4": "write", "repo5": "write"}, team["repos"]) |
563 | 575 |
|
564 | 576 | def test_generate_toc_team(self): |
565 | 577 | _toc = OrgGenerator._yaml_load(toc) |
@@ -758,7 +770,7 @@ def test_generate_branch_protection_multiple_orgs(self): |
758 | 770 |
|
759 | 771 | bp_repos = o.branch_protection["branch-protection"]["orgs"]["cloudfoundry2"]["repos"] |
760 | 772 | # wg4 opted in, repo5 is ignored because of wrong org |
761 | | - self.assertSetEqual({f"repo{i}" for i in range(1, 5)}, set(bp_repos.keys())) |
| 773 | + self.assertSetEqual({f"repo{i}" for i in range(1, 6)}, set(bp_repos.keys())) |
762 | 774 | # repo1 has static config that wins over generated branch protection rules |
763 | 775 | self.assertTrue(bp_repos["repo1"]["protect"]) |
764 | 776 | self.assertNotIn("required_pull_request_reviews", bp_repos["repo1"]) |
|
0 commit comments