Esempio n. 1
0
    def test_set_user_list(self):
        """Test the shared set_user_list() method."""
        user1 = UserData()
        user1.name = "user1"
        user1.uid = 123
        user1.groups = ["foo", "bar"]
        user1.gid = 321
        user1.homedir = "user1_home"
        user1.password = "******"
        user1.is_crypted = False
        user1.lock = False
        user1.shell = "zsh"
        user1.gecos = "some stuff"

        user2 = UserData()
        user2.name = "user2"
        user2.uid = 456
        user2.groups = ["baz", "bar"]
        user2.gid = 654
        user2.homedir = "user2_home"
        user2.password = "******"
        user2.is_crypted = True
        user2.lock = False
        user2.shell = "csh"
        user2.gecos = "some other stuff"

        users_module_mock = Mock()
        set_user_list(users_module_mock, [user1, user2])
        user_data_list = users_module_mock.SetUsers.call_args[0][0]

        assert len(user_data_list) == 2
        assert user_data_list[0] == UserData.to_structure(user1)
        assert user_data_list[1] == UserData.to_structure(user2)

        user1.name = ""
        set_user_list(users_module_mock, [user1, user2], remove_unset=True)
        user_data_list = users_module_mock.SetUsers.call_args[0][0]

        assert len(user_data_list) == 1
        assert user_data_list[0] == UserData.to_structure(user2)
Esempio n. 2
0
    def Users(self) -> List[Structure]:
        """List of users, each describing a single user.

        :return: a list of user describing DBus Structures
        """
        # internally we hold the data about users as a list of structures,
        # which we need to turn into a list of dicts before returning it
        # over DBus
        user_dicts = []

        for user_data in self.implementation.users:
            user_dicts.append(UserData.to_structure(user_data))
        return user_dicts