Beispiel #1
0
  def Run(self):
    client_ids = self.SetupClients(1)
    client_mocks = dict([(client_id, test_lib.CrashClientMock(client_id,
                                                              self.token))
                         for client_id in client_ids])

    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)
      test_lib.TestHuntHelperWithMultipleMocks(client_mocks, False, self.token)

    crashes = aff4.FACTORY.Open(
        hunt_obj.urn.Add("crashes"), mode="r", token=self.token)
    crash = list(crashes)[0]
    session_id = crash.session_id.Basename()
    replace = {hunt_obj.urn.Basename(): "H:123456", session_id: "H:11223344"}

    self.Check(
        "ListHuntCrashes",
        args=hunt_plugin.ApiListHuntCrashesArgs(
            hunt_id=hunt_obj.urn.Basename()),
        replace=replace)
    self.Check(
        "ListHuntCrashes",
        args=hunt_plugin.ApiListHuntCrashesArgs(
            hunt_id=hunt_obj.urn.Basename(), count=1),
        replace=replace)
    self.Check(
        "ListHuntCrashes",
        args=hunt_plugin.ApiListHuntCrashesArgs(
            hunt_id=hunt_obj.urn.Basename(), offset=1, count=1),
        replace=replace)
    def Run(self):
        if data_store.RelationalDBReadEnabled():
            client_obj = self.SetupTestClientObject(0)
            client_id = client_obj.client_id
        else:
            client_id = self.SetupClient(0).Basename()

        client_mocks = {
            client_id: 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_id])
            hunt_test_lib.TestHuntHelperWithMultipleMocks(
                client_mocks, False, self.token)

        crashes = implementation.GRRHunt.CrashCollectionForHID(hunt_obj.urn)
        crash = list(crashes)[0]
        session_id = crash.session_id.Basename()
        replace = {
            hunt_obj.urn.Basename(): "H:123456",
            session_id: "H:11223344"
        }

        self.Check("ListHuntCrashes",
                   args=hunt_plugin.ApiListHuntCrashesArgs(
                       hunt_id=hunt_obj.urn.Basename()),
                   replace=replace)
        self.Check("ListHuntCrashes",
                   args=hunt_plugin.ApiListHuntCrashesArgs(
                       hunt_id=hunt_obj.urn.Basename(), count=1),
                   replace=replace)
        self.Check("ListHuntCrashes",
                   args=hunt_plugin.ApiListHuntCrashesArgs(
                       hunt_id=hunt_obj.urn.Basename(), offset=1, count=1),
                   replace=replace)