def test_get_notifiable_roles(self): admin = self.session.query(User) \ .filter(User.email == '*****@*****.**').one() wapi = WorkspaceApi( session=self.session, config=self.app_config, current_user=admin, ) w = wapi.create_workspace(label='workspace w', save_now=True) uapi = UserApi(session=self.session, current_user=admin, config=self.app_config) u = uapi.create_minimal_user(email='[email protected]', save_now=True) eq_([], wapi.get_notifiable_roles(workspace=w)) rapi = RoleApi( session=self.session, current_user=admin, config=self.app_config, ) r = rapi.create_one(u, w, UserRoleInWorkspace.READER, with_notif=True) eq_([ r, ], wapi.get_notifiable_roles(workspace=w)) u.is_active = False eq_([], wapi.get_notifiable_roles(workspace=w))
def test__unit__get_notifiable_roles__ok__do_not_show_deleted( self, admin_user, session, app_config, user_api_factory, role_api_factory ): wapi = WorkspaceApi(session=session, config=app_config, current_user=admin_user) workspace = wapi.create_workspace(label="workspace w", save_now=True) uapi = user_api_factory.get() user_1 = uapi.create_user( email="[email protected]", auth_type=AuthType.INTERNAL, do_save=True, do_notify=False ) user_2 = uapi.create_user( email="[email protected]", auth_type=AuthType.INTERNAL, do_save=True, do_notify=False ) assert wapi.get_notifiable_roles(workspace=workspace) == [] rapi = role_api_factory.get() role_1 = rapi.create_one(user_1, workspace, UserRoleInWorkspace.READER, with_notif=True) role_2 = rapi.create_one(user_2, workspace, UserRoleInWorkspace.READER, with_notif=True) assert role_1 in wapi.get_notifiable_roles(workspace=workspace) assert role_2 in wapi.get_notifiable_roles(workspace=workspace) user_1.is_deleted = True assert role_1 not in wapi.get_notifiable_roles(workspace=workspace) assert role_2 in wapi.get_notifiable_roles(workspace=workspace)
def test__unit__get_notifiable_roles__ok__nominal_case(self): admin = self.session.query(User).filter( User.email == "*****@*****.**").one() wapi = WorkspaceApi(session=self.session, config=self.app_config, current_user=admin) workspace = wapi.create_workspace(label="workspace w", save_now=True) uapi = UserApi(session=self.session, current_user=admin, config=self.app_config) user_1 = uapi.create_user(email="[email protected]", auth_type=AuthType.INTERNAL, do_save=True, do_notify=False) user_2 = uapi.create_user(email="[email protected]", auth_type=AuthType.INTERNAL, do_save=True, do_notify=False) assert wapi.get_notifiable_roles(workspace=workspace) == [] rapi = RoleApi(session=self.session, current_user=admin, config=self.app_config) role_1 = rapi.create_one(user_1, workspace, UserRoleInWorkspace.READER, with_notif=True) role_2 = rapi.create_one(user_2, workspace, UserRoleInWorkspace.READER, with_notif=False) assert role_1 in wapi.get_notifiable_roles(workspace=workspace) assert role_2 not in wapi.get_notifiable_roles(workspace=workspace)
def test__unit__get_notifiable_roles__ok__do_not_show_inactive(self): admin = self.session.query(User) \ .filter(User.email == '*****@*****.**').one() wapi = WorkspaceApi( session=self.session, config=self.app_config, current_user=admin, ) workspace = wapi.create_workspace(label='workspace w', save_now=True) uapi = UserApi( session=self.session, current_user=admin, config=self.app_config ) user_1 = uapi.create_user( email='[email protected]', auth_type=AuthType.INTERNAL, do_save=True, do_notify=False ) user_2 = uapi.create_user( email='[email protected]', auth_type=AuthType.INTERNAL, do_save=True, do_notify = False ) assert wapi.get_notifiable_roles(workspace=workspace) == [] rapi = RoleApi( session=self.session, current_user=admin, config=self.app_config, ) role_1 = rapi.create_one( user_1, workspace, UserRoleInWorkspace.READER, with_notif=True ) role_2 = rapi.create_one( user_2, workspace, UserRoleInWorkspace.READER, with_notif=True ) assert role_1 in wapi.get_notifiable_roles(workspace=workspace) assert role_2 in wapi.get_notifiable_roles(workspace=workspace) user_1.is_active = False assert not role_1 in wapi.get_notifiable_roles(workspace=workspace) assert role_2 in wapi.get_notifiable_roles(workspace=workspace)
def test__unit__get_notifiable_roles__ok__do_not_show_unknown_auth(self): admin = self.session.query(User) \ .filter(User.email == '*****@*****.**').one() wapi = WorkspaceApi( session=self.session, config=self.app_config, current_user=admin, ) workspace = wapi.create_workspace(label='workspace w', save_now=True) uapi = UserApi(session=self.session, current_user=admin, config=self.app_config) user_1 = uapi.create_user(email='[email protected]', auth_type=AuthType.INTERNAL, do_save=True, do_notify=False) user_2 = uapi.create_user(email='[email protected]', auth_type=AuthType.UNKNOWN, do_save=True, do_notify=False) user_3 = uapi.create_user(email='[email protected]', auth_type=AuthType.REMOTE, do_save=True, do_notify=False) assert wapi.get_notifiable_roles(workspace=workspace) == [] rapi = RoleApi( session=self.session, current_user=admin, config=self.app_config, ) role_1 = rapi.create_one(user_1, workspace, UserRoleInWorkspace.READER, with_notif=True) role_2 = rapi.create_one(user_2, workspace, UserRoleInWorkspace.READER, with_notif=True) role_3 = rapi.create_one(user_3, workspace, UserRoleInWorkspace.READER, with_notif=True) assert role_1 in wapi.get_notifiable_roles(workspace=workspace) assert not role_2 in wapi.get_notifiable_roles(workspace=workspace) assert role_3 in wapi.get_notifiable_roles(workspace=workspace)