示例#1
0
文件: mem_users.py 项目: qsdj/grr
 def ReadAllGRRUsers(self):
     """Reads all GRR users."""
     for u in self.users.values():
         yield rdf_objects.GRRUser(username=u["username"],
                                   password=u.get("password"),
                                   ui_mode=u.get("ui_mode"),
                                   canary_mode=u.get("canary_mode"),
                                   user_type=u.get("user_type"))
示例#2
0
    def testEmptyGRRUserReadWrite(self):
        d = self.db

        d.WriteGRRUser("foo")
        u = d.ReadGRRUser("foo")
        u_expected = objects.GRRUser(username="******")

        self.assertEqual(u_expected, u)
示例#3
0
    def testReadingMultipleGRRUsersEntriesWorks(self):
        d = self.db

        u_foo = objects.GRRUser(
            username="******",
            ui_mode="ADVANCED",
            canary_mode=True,
            user_type=objects.GRRUser.UserType.USER_TYPE_ADMIN)
        d.WriteGRRUser(u_foo.username,
                       ui_mode=u_foo.ui_mode,
                       canary_mode=u_foo.canary_mode,
                       user_type=u_foo.user_type)
        u_bar = objects.GRRUser(username="******")
        d.WriteGRRUser(u_bar.username)

        users = sorted(d.ReadAllGRRUsers(), key=lambda x: x.username)
        self.assertEqual(users[0], u_bar)
        self.assertEqual(users[1], u_foo)
示例#4
0
文件: mem_users.py 项目: qsdj/grr
 def ReadGRRUser(self, username):
     """Reads a user object corresponding to a given name."""
     try:
         u = self.users[username]
         return rdf_objects.GRRUser(username=u["username"],
                                    password=u.get("password"),
                                    ui_mode=u.get("ui_mode"),
                                    canary_mode=u.get("canary_mode"),
                                    user_type=u.get("user_type"))
     except KeyError:
         raise db.UnknownGRRUserError("Can't find user with name: %s" %
                                      username)
示例#5
0
    def _RowToGRRUser(self, row):
        """Creates a GRR user object from a database result row."""
        username, password, ui_mode, canary_mode, user_type = row
        result = objects.GRRUser(username=username,
                                 ui_mode=ui_mode,
                                 canary_mode=canary_mode,
                                 user_type=user_type)

        if password:
            result.password.ParseFromString(password)

        return result
示例#6
0
    def testFilledGRRUserReadWrite(self):
        d = self.db

        u_expected = objects.GRRUser(
            username="******",
            ui_mode="ADVANCED",
            canary_mode=True,
            user_type=objects.GRRUser.UserType.USER_TYPE_ADMIN)
        u_expected.password.SetPassword("blah")
        d.WriteGRRUser("foo",
                       password=u_expected.password,
                       ui_mode=u_expected.ui_mode,
                       canary_mode=u_expected.canary_mode,
                       user_type=u_expected.user_type)

        u = d.ReadGRRUser("foo")
        self.assertEqual(u_expected, u)