def Run(self): client_ids = self.SetupClients(1) client_id = client_ids[0] client_mock = flow_test_lib.CrashClientMock(client_id, self.token) with test_lib.FakeTime(42): with self.CreateHunt(description="the hunt") as hunt_obj: hunt_obj.Run() with test_lib.FakeTime(45): self.AssignTasksToClients(client_ids) hunt_test_lib.TestHuntHelperWithMultipleMocks( {client_id: client_mock}, False, self.token) crashes = aff4_grr.VFSGRRClient.CrashCollectionForCID(client_id) crash = list(crashes)[0] session_id = crash.session_id.Basename() replace = { hunt_obj.urn.Basename(): "H:123456", session_id: "H:11223344" } self.Check("ListClientCrashes", args=client_plugin.ApiListClientCrashesArgs( client_id=client_id.Basename()), replace=replace) self.Check("ListClientCrashes", args=client_plugin.ApiListClientCrashesArgs( client_id=client_id.Basename(), count=1), replace=replace) self.Check("ListClientCrashes", args=client_plugin.ApiListClientCrashesArgs( client_id=client_id.Basename(), offset=1, count=1), replace=replace)
def testClientMethodsAreAccessChecked(self): args = api_client.ApiInterrogateClientArgs(client_id=self.client_id) self.CheckMethodIsAccessChecked( self.router.InterrogateClient, "CheckClientAccess", args=args) args = api_client.ApiListClientCrashesArgs(client_id=self.client_id) self.CheckMethodIsAccessChecked( self.router.ListClientCrashes, "CheckClientAccess", args=args)