| @@ 746-806 (lines=61) @@ | ||
| 743 | workspace = res.json_body |
|
| 744 | assert workspace['is_deleted'] is False |
|
| 745 | ||
| 746 | def test_api__undelete_workspace__ok_200__manager_workspace_manager(self) -> None: |
|
| 747 | """ |
|
| 748 | Test undelete workspace as global manager and workspace manager |
|
| 749 | """ |
|
| 750 | self.testapp.authorization = ( |
|
| 751 | 'Basic', |
|
| 752 | ( |
|
| 753 | '[email protected]', |
|
| 754 | '[email protected]' |
|
| 755 | ) |
|
| 756 | ) |
|
| 757 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
| 758 | admin = dbsession.query(models.User) \ |
|
| 759 | .filter(models.User.email == '[email protected]') \ |
|
| 760 | .one() |
|
| 761 | uapi = UserApi( |
|
| 762 | current_user=admin, |
|
| 763 | session=dbsession, |
|
| 764 | config=self.app_config, |
|
| 765 | ) |
|
| 766 | gapi = GroupApi( |
|
| 767 | current_user=admin, |
|
| 768 | session=dbsession, |
|
| 769 | config=self.app_config, |
|
| 770 | ) |
|
| 771 | groups = [gapi.get_one_with_name('trusted-users')] |
|
| 772 | user = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups) # nopep8 |
|
| 773 | workspace_api = WorkspaceApi( |
|
| 774 | current_user=admin, |
|
| 775 | session=dbsession, |
|
| 776 | config=self.app_config, |
|
| 777 | show_deleted=True, |
|
| 778 | ) |
|
| 779 | workspace = workspace_api.create_workspace('test', save_now=True) # nopep8 |
|
| 780 | workspace_api.delete(workspace, flush=True) |
|
| 781 | rapi = RoleApi( |
|
| 782 | current_user=admin, |
|
| 783 | session=dbsession, |
|
| 784 | config=self.app_config, |
|
| 785 | ) |
|
| 786 | rapi.create_one(user, workspace, UserRoleInWorkspace.WORKSPACE_MANAGER, False) # nopep8 |
|
| 787 | transaction.commit() |
|
| 788 | workspace_id = int(workspace.workspace_id) |
|
| 789 | self.testapp.authorization = ( |
|
| 790 | 'Basic', |
|
| 791 | ( |
|
| 792 | '[email protected]', |
|
| 793 | '[email protected]' |
|
| 794 | ) |
|
| 795 | ) |
|
| 796 | # delete |
|
| 797 | res = self.testapp.put( |
|
| 798 | '/api/v2/workspaces/{}/trashed/restore'.format(workspace_id), |
|
| 799 | status=204 |
|
| 800 | ) |
|
| 801 | res = self.testapp.get( |
|
| 802 | '/api/v2/workspaces/{}'.format(workspace_id), |
|
| 803 | status=200 |
|
| 804 | ) |
|
| 805 | workspace = res.json_body |
|
| 806 | assert workspace['is_deleted'] is False |
|
| 807 | ||
| 808 | def test_api__undelete_workspace__err_403__user_workspace_manager(self) -> None: |
|
| 809 | """ |
|
| @@ 425-484 (lines=60) @@ | ||
| 422 | workspace = res.json_body |
|
| 423 | assert workspace['is_deleted'] is True |
|
| 424 | ||
| 425 | def test_api__delete_workspace__ok_200__manager_workspace_manager(self) -> None: |
|
| 426 | """ |
|
| 427 | Test delete workspace as global manager and workspace manager |
|
| 428 | """ |
|
| 429 | self.testapp.authorization = ( |
|
| 430 | 'Basic', |
|
| 431 | ( |
|
| 432 | '[email protected]', |
|
| 433 | '[email protected]' |
|
| 434 | ) |
|
| 435 | ) |
|
| 436 | dbsession = get_tm_session(self.session_factory, transaction.manager) |
|
| 437 | admin = dbsession.query(models.User) \ |
|
| 438 | .filter(models.User.email == '[email protected]') \ |
|
| 439 | .one() |
|
| 440 | uapi = UserApi( |
|
| 441 | current_user=admin, |
|
| 442 | session=dbsession, |
|
| 443 | config=self.app_config, |
|
| 444 | ) |
|
| 445 | gapi = GroupApi( |
|
| 446 | current_user=admin, |
|
| 447 | session=dbsession, |
|
| 448 | config=self.app_config, |
|
| 449 | ) |
|
| 450 | groups = [gapi.get_one_with_name('trusted-users')] |
|
| 451 | user = uapi.create_user('[email protected]', password='[email protected]', do_save=True, do_notify=False, groups=groups) # nopep8 |
|
| 452 | workspace_api = WorkspaceApi( |
|
| 453 | current_user=admin, |
|
| 454 | session=dbsession, |
|
| 455 | config=self.app_config, |
|
| 456 | show_deleted=True, |
|
| 457 | ) |
|
| 458 | workspace = workspace_api.create_workspace('test', save_now=True) # nopep8 |
|
| 459 | rapi = RoleApi( |
|
| 460 | current_user=admin, |
|
| 461 | session=dbsession, |
|
| 462 | config=self.app_config, |
|
| 463 | ) |
|
| 464 | rapi.create_one(user, workspace, UserRoleInWorkspace.WORKSPACE_MANAGER, False) # nopep8 |
|
| 465 | transaction.commit() |
|
| 466 | workspace_id = int(workspace.workspace_id) |
|
| 467 | self.testapp.authorization = ( |
|
| 468 | 'Basic', |
|
| 469 | ( |
|
| 470 | '[email protected]', |
|
| 471 | '[email protected]' |
|
| 472 | ) |
|
| 473 | ) |
|
| 474 | # delete |
|
| 475 | res = self.testapp.put( |
|
| 476 | '/api/v2/workspaces/{}/trashed'.format(workspace_id), |
|
| 477 | status=204 |
|
| 478 | ) |
|
| 479 | res = self.testapp.get( |
|
| 480 | '/api/v2/workspaces/{}'.format(workspace_id), |
|
| 481 | status=200 |
|
| 482 | ) |
|
| 483 | workspace = res.json_body |
|
| 484 | assert workspace['is_deleted'] is True |
|
| 485 | ||
| 486 | def test_api__delete_workspace__err_403__user_workspace_manager(self) -> None: |
|
| 487 | """ |
|