|
1 |
| -import json |
2 | 1 | import logging
|
3 | 2 |
|
4 | 3 | import pytest
|
@@ -444,3 +443,60 @@ def test_all_project_issue_types_exist(
|
444 | 443 | )
|
445 | 444 |
|
446 | 445 | assert jira.get_service()._all_project_issue_types_exist(actions) == expected_result
|
| 446 | + |
| 447 | + |
| 448 | +def test_visible_projects(mocked_responses): |
| 449 | + url = f"{get_settings().jira_base_url}rest/api/2/permissions/project" |
| 450 | + mocked_responses.add( |
| 451 | + responses.POST, |
| 452 | + url, |
| 453 | + status=200, |
| 454 | + match=[ |
| 455 | + responses.matchers.json_params_matcher( |
| 456 | + {"permissions": []}, |
| 457 | + ) |
| 458 | + ], |
| 459 | + json={"projects": [{"key": "ABC"}, {"key": "DEF"}]}, |
| 460 | + ) |
| 461 | + |
| 462 | + projects = jira.get_service().fetch_visible_projects() |
| 463 | + assert projects == ["ABC", "DEF"] |
| 464 | + |
| 465 | + |
| 466 | +@pytest.mark.parametrize( |
| 467 | + "project_data, expected_result", |
| 468 | + [ |
| 469 | + ( |
| 470 | + [{"key": "ABC"}, {"key": "DEF"}], |
| 471 | + True, |
| 472 | + ), |
| 473 | + ( |
| 474 | + [{"key": "ABC"}], |
| 475 | + False, |
| 476 | + ), |
| 477 | + ], |
| 478 | +) |
| 479 | +def test_all_projects_permissions( |
| 480 | + mocked_responses, action_factory, project_data, expected_result |
| 481 | +): |
| 482 | + actions = Actions( |
| 483 | + root=[ |
| 484 | + action_factory(whiteboard_tag="abc", parameters__jira_project_key="ABC"), |
| 485 | + action_factory(whiteboard_tag="def", parameters__jira_project_key="DEF"), |
| 486 | + ] |
| 487 | + ) |
| 488 | + |
| 489 | + url = f"{get_settings().jira_base_url}rest/api/2/permissions/project" |
| 490 | + mocked_responses.add( |
| 491 | + responses.POST, |
| 492 | + url, |
| 493 | + status=200, |
| 494 | + match=[ |
| 495 | + responses.matchers.json_params_matcher( |
| 496 | + {"permissions": list(jira.JIRA_REQUIRED_PERMISSIONS)}, |
| 497 | + ) |
| 498 | + ], |
| 499 | + json={"projects": project_data}, |
| 500 | + ) |
| 501 | + |
| 502 | + assert jira.get_service()._all_projects_permissions(actions) == expected_result |
0 commit comments