def _FindAuditEvent(self): for fd in audit.AllAuditLogs(token=self.token): for event in fd: if event.action == events.AuditEvent.Action.CLIENT_ADD_LABEL: for client_id in self.client_ids: if event.client == rdf_client.ClientURN(client_id): return event
def testUserModificationAudit(self): worker = worker_test_lib.MockWorker(token=self.token) token = self.GenerateToken(username="******", reason="reason") maintenance_utils.AddUser( "testuser", password="******", labels=["admin"], token=token) worker.Simulate() maintenance_utils.UpdateUser( "testuser", "xxx", delete_labels=["admin"], token=token) worker.Simulate() maintenance_utils.DeleteUser("testuser", token=token) worker.Simulate() log_entries = [] for log in audit.AllAuditLogs(token=self.token): log_entries.extend(log) self.assertEqual(len(log_entries), 3) self.assertEqual(log_entries[0].action, "USER_ADD") self.assertEqual(log_entries[0].urn, "aff4:/users/testuser") self.assertEqual(log_entries[0].user, "usermodtest") self.assertEqual(log_entries[1].action, "USER_UPDATE") self.assertEqual(log_entries[1].urn, "aff4:/users/testuser") self.assertEqual(log_entries[1].user, "usermodtest") self.assertEqual(log_entries[2].action, "USER_DELETE") self.assertEqual(log_entries[2].urn, "aff4:/users/testuser") self.assertEqual(log_entries[2].user, "usermodtest")