示例#1
0
    def Run(self):
        output_plugins = [
            rdf_output_plugin.OutputPluginDescriptor(
                plugin_name=test_plugins.DummyHuntTestOutputPlugin.__name__,
                plugin_args=test_plugins.DummyHuntTestOutputPlugin.args_type(
                    filename_regex="blah!", fetch_binaries=True))
        ]
        with test_lib.FakeTime(42, increment=1):
            if data_store.RelationalDBEnabled():
                hunt_id = self.CreateHunt(description="the hunt",
                                          output_plugins=output_plugins)
                hunt.StartHunt(hunt_id)
            else:
                hunt_urn = self.StartHunt(description="the hunt",
                                          output_plugins=output_plugins)
                hunt_id = hunt_urn.Basename()

            self.client_ids = self.SetupClients(2)
            for index, client_id in enumerate(self.client_ids):
                self.RunHunt(client_ids=[client_id], failrate=-1)
                with test_lib.FakeTime(100042 + index * 100):
                    self.ProcessHuntOutputPlugins()

        self.Check("ListHuntOutputPluginLogs",
                   args=hunt_plugin.ApiListHuntOutputPluginLogsArgs(
                       hunt_id=hunt_id,
                       plugin_id="DummyHuntTestOutputPlugin_0"),
                   replace={hunt_id: "H:123456"})
示例#2
0
  def testReturnsLogsWhenMultiplePlugins(self):
    hunt_urn = self.RunHuntWithOutputPlugins(self.output_plugins)
    result = self.handler.Handle(
        hunt_plugin.ApiListHuntOutputPluginLogsArgs(
            hunt_id=hunt_urn.Basename(),
            plugin_id=test_plugins.DummyHuntTestOutputPlugin.__name__ + "_1"),
        token=self.token)

    self.assertEqual(result.total_count, 5)
    self.assertLen(result.items, 5)
示例#3
0
文件: hunt_test.py 项目: rezaduty/grr
  def testReturnsLogsWhenJustOnePlugin(self):
    hunt_id = self.RunHuntWithOutputPlugins([self.output_plugins[0]])
    result = self.handler.Handle(
        hunt_plugin.ApiListHuntOutputPluginLogsArgs(
            hunt_id=hunt_id,
            plugin_id=test_plugins.DummyHuntTestOutputPlugin.__name__ + "_0"),
        token=self.token)

    self.assertEqual(result.total_count, 5)
    self.assertLen(result.items, 5)
示例#4
0
  def testSlicesLogsWhenJustOnePlugin(self):
    hunt_urn = self.RunHuntWithOutputPlugins([self.output_plugins[0]])
    result = self.handler.Handle(
        hunt_plugin.ApiListHuntOutputPluginLogsArgs(
            hunt_id=hunt_urn.Basename(),
            offset=2,
            count=2,
            plugin_id=test_plugins.DummyHuntTestOutputPlugin.__name__ + "_0"),
        token=self.token)

    self.assertEqual(result.total_count, 5)
    self.assertEqual(len(result.items), 2)
示例#5
0
  def testReturnsLogsWhenMultiplePlugins(self):
    hunt_urn = self.RunHuntWithOutputPlugins(self.output_plugins)
    result = self.handler.Handle(
        hunt_plugin.ApiListHuntOutputPluginLogsArgs(
            hunt_id=hunt_urn.Basename(),
            plugin_id=test_plugins.DummyHuntTestOutputPlugin.__name__ + "_1"),
        token=self.token)

    self.assertEqual(result.total_count, 5)
    self.assertEqual(len(result.items), 5)
    for item in result.items:
      self.assertEqual("bar", item.plugin_descriptor.plugin_args.filename_regex)
示例#6
0
  def testSlicesLogsWhenMultiplePlugins(self):
    hunt_id = self.RunHuntWithOutputPlugins(self.output_plugins)
    result = self.handler.Handle(
        hunt_plugin.ApiListHuntOutputPluginLogsArgs(
            hunt_id=hunt_id,
            offset=2,
            count=2,
            plugin_id=test_plugins.DummyHuntTestOutputPlugin.__name__ + "_1"),
        context=self.context)

    self.assertEqual(result.total_count, 5)
    self.assertLen(result.items, 2)
示例#7
0
    def Run(self):
        output_plugins = [
            rdf_output_plugin.OutputPluginDescriptor(
                plugin_name=test_plugins.DummyHuntTestOutputPlugin.__name__,
                plugin_args=test_plugins.DummyHuntTestOutputPlugin.args_type(
                    filename_regex="blah!", fetch_binaries=True))
        ]
        with test_lib.FakeTime(42, increment=1):
            hunt_id = self.CreateHunt(description="the hunt",
                                      output_plugins=output_plugins,
                                      creator=self.token.username)
            hunt.StartHunt(hunt_id)

            self.client_ids = self.SetupClients(2)
            for client_id in self.client_ids:
                self.RunHunt(client_ids=[client_id], failrate=-1)

        self.Check("ListHuntOutputPluginLogs",
                   args=hunt_plugin.ApiListHuntOutputPluginLogsArgs(
                       hunt_id=hunt_id,
                       plugin_id="DummyHuntTestOutputPlugin_0"),
                   replace={hunt_id: "H:123456"})
示例#8
0
    def Run(self):
        with test_lib.FakeTime(42, increment=1):
            hunt_urn = self.StartHunt(
                description="the hunt",
                output_plugins=[
                    output_plugin.OutputPluginDescriptor(
                        plugin_name=test_plugins.DummyHuntTestOutputPlugin.
                        __name__,
                        plugin_args=test_plugins.DummyHuntTestOutputPlugin.
                        args_type(filename_regex="blah!", fetch_binaries=True))
                ])

            self.client_ids = self.SetupClients(2)
            for index, client_id in enumerate(self.client_ids):
                self.AssignTasksToClients(client_ids=[client_id])
                self.RunHunt(failrate=-1)
                with test_lib.FakeTime(100042 + index * 100):
                    self.ProcessHuntOutputPlugins()

        self.Check("ListHuntOutputPluginLogs",
                   args=hunt_plugin.ApiListHuntOutputPluginLogsArgs(
                       hunt_id=hunt_urn.Basename(),
                       plugin_id="DummyHuntTestOutputPlugin_0"),
                   replace={hunt_urn.Basename(): "H:123456"})