예제 #1
0
    def test_has_admin_priviledges(self):
        """Test the has_admin_priviledges() method works correctly."""

        user_data = UserData()
        user_data.groups = ["wheel"]
        assert user_data.has_admin_priviledges()

        user_data = UserData()
        user_data.groups = ["foo"]
        assert not user_data.has_admin_priviledges()

        user_data = UserData()
        user_data.groups = ["foo", "wheel", "bar"]
        assert user_data.has_admin_priviledges()

        # multiple wheels
        user_data = UserData()
        user_data.groups = ["foo", "wheel", "bar", "wheel", "baz"]
        assert user_data.has_admin_priviledges()

        # group name is case sensitive
        user_data = UserData()
        user_data.groups = ["WHEEL", "Wheel"]
        assert not user_data.has_admin_priviledges()
예제 #2
0
    def has_admin_priviledges_test(self):
        """Test the has_admin_priviledges() method works correctly."""

        user_data = UserData()
        user_data.groups = ["wheel"]
        self.assertTrue(user_data.has_admin_priviledges())

        user_data = UserData()
        user_data.groups = ["foo"]
        self.assertFalse(user_data.has_admin_priviledges())

        user_data = UserData()
        user_data.groups = ["foo", "wheel", "bar"]
        self.assertTrue(user_data.has_admin_priviledges())

        # multiple wheels
        user_data = UserData()
        user_data.groups = ["foo", "wheel", "bar", "wheel", "baz"]
        self.assertTrue(user_data.has_admin_priviledges())

        # group name is case sensitive
        user_data = UserData()
        user_data.groups = ["WHEEL", "Wheel"]
        self.assertFalse(user_data.has_admin_priviledges())
예제 #3
0
    def test_set_admin_priviledges(self):
        """Test setting user admin privileges works correctly."""
        user_data = UserData()
        assert not user_data.has_admin_priviledges()
        assert "wheel" not in user_data.groups

        # turn it on
        user_data.set_admin_priviledges(True)
        assert user_data.has_admin_priviledges()
        assert "wheel" in user_data.groups

        # turn it off
        user_data.set_admin_priviledges(False)
        assert not user_data.has_admin_priviledges()
        assert "wheel" not in user_data.groups

        # existing groups - turn in on
        user_data = UserData()
        user_data.groups = ["foo", "bar"]
        user_data.set_admin_priviledges(True)
        assert user_data.has_admin_priviledges()
        assert "wheel" in user_data.groups
        assert "foo" in user_data.groups
        assert "bar" in user_data.groups

        # existing groups - turn in off
        user_data.set_admin_priviledges(False)
        assert not user_data.has_admin_priviledges()
        assert "wheel" not in user_data.groups
        assert "foo" in user_data.groups
        assert "bar" in user_data.groups

        # group wheel added externally
        user_data = UserData()
        user_data.groups = ["foo", "bar", "wheel"]
        assert user_data.has_admin_priviledges()
        assert "wheel" in user_data.groups
        assert "foo" in user_data.groups
        assert "bar" in user_data.groups

        # now remove the wheel group via API
        user_data.set_admin_priviledges(False)
        assert not user_data.has_admin_priviledges()
        assert "wheel" not in user_data.groups
        assert "foo" in user_data.groups
        assert "bar" in user_data.groups
예제 #4
0
    def set_admin_priviledges_test(self):
        """Test setting user admin privileges works correctly."""
        user_data = UserData()
        self.assertFalse(user_data.has_admin_priviledges())
        self.assertNotIn("wheel", user_data.groups)

        # turn it on
        user_data.set_admin_priviledges(True)
        self.assertTrue(user_data.has_admin_priviledges())
        self.assertIn("wheel", user_data.groups)

        # turn it off
        user_data.set_admin_priviledges(False)
        self.assertFalse(user_data.has_admin_priviledges())
        self.assertNotIn("wheel", user_data.groups)

        # existing groups - turn in on
        user_data = UserData()
        user_data.groups = ["foo", "bar"]
        user_data.set_admin_priviledges(True)
        self.assertTrue(user_data.has_admin_priviledges())
        self.assertIn("wheel", user_data.groups)
        self.assertIn("foo", user_data.groups)
        self.assertIn("bar", user_data.groups)

        # existing groups - turn in off
        user_data.set_admin_priviledges(False)
        self.assertFalse(user_data.has_admin_priviledges())
        self.assertNotIn("wheel", user_data.groups)
        self.assertIn("foo", user_data.groups)
        self.assertIn("bar", user_data.groups)

        # group wheel added externally
        user_data = UserData()
        user_data.groups = ["foo", "bar", "wheel"]
        self.assertTrue(user_data.has_admin_priviledges())
        self.assertIn("wheel", user_data.groups)
        self.assertIn("foo", user_data.groups)
        self.assertIn("bar", user_data.groups)

        # now remove the wheel group via API
        user_data.set_admin_priviledges(False)
        self.assertFalse(user_data.has_admin_priviledges())
        self.assertNotIn("wheel", user_data.groups)
        self.assertIn("foo", user_data.groups)
        self.assertIn("bar", user_data.groups)