Example #1
0
 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))
Example #2
0
    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)
Example #3
0
 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)
Example #4
0
    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)
Example #5
0
    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)