예제 #1
0
파일: hunt.py 프로젝트: kaneschutzman/grr
  def Render(self, args, token=None):
    hunt = aff4.FACTORY.Open(HUNTS_ROOT_PATH.Add(args.hunt_id),
                             aff4_type="GRRHunt", token=token)

    return api_aff4_object_renderers.RenderAFF4Object(
        hunt,
        [ApiGRRHuntRendererArgs(with_full_summary=True),
         api_aff4_object_renderers.ApiAFF4ObjectRendererArgs(limit_lists=10)])
예제 #2
0
파일: hunt.py 프로젝트: rubicondimitri/grr
  def _RenderHuntList(self, hunt_list):
    hunts_list = sorted(hunt_list, reverse=True,
                        key=lambda hunt: hunt.GetRunner().context.create_time)

    encoded_hunt_list = []
    for hunt in hunts_list:
      encoded_hunt = api_aff4_object_renderers.RenderAFF4Object(
          hunt,
          [api_aff4_object_renderers.ApiAFF4ObjectRendererArgs(limit_lists=0)])
      encoded_hunt_list.append(encoded_hunt)

    return encoded_hunt_list
  def testRendersAff4Volume(self):
    data = self.renderer.RenderObject(
        self.fd, api_aff4_object_renderers.ApiAFF4ObjectRendererArgs())

    self.assertEqual(data,
                     {"age_policy": "NEWEST_TIME",
                      "attributes": {
                          "aff4:type": {
                              "age": 42000000,
                              "type": "RDFString",
                              "value": "AFF4Volume"},
                          "metadata:last": {
                              "age": 42000000,
                              "type": "RDFDatetime",
                              "value": 42000000}
                      },
                      "urn": "aff4:/tmp/foo/bar",
                      "aff4_class": "AFF4Volume"})
예제 #4
0
  def testAdditionalArgumentsAreParsedCorrectly(self):
    additional_args = http_api.FillAdditionalArgsFromRequest(
        {
            "AFF4Object.limit_lists": "10",
            "RDFValueCollection.with_total_count": "1"
        }, {
            "AFF4Object": api_aff4_object_renderers.ApiAFF4ObjectRendererArgs,
            "RDFValueCollection":
            api_aff4_object_renderers.ApiRDFValueCollectionRendererArgs
        })
    additional_args = sorted(additional_args, key=lambda x: x.name)

    self.assertListEqual(
        [x.name for x in additional_args],
        ["AFF4Object", "RDFValueCollection"])
    self.assertListEqual(
        [x.type for x in additional_args],
        ["ApiAFF4ObjectRendererArgs", "ApiRDFValueCollectionRendererArgs"])
    self.assertListEqual(
        [x.args for x in additional_args],
        [api_aff4_object_renderers.ApiAFF4ObjectRendererArgs(limit_lists=10),
         api_aff4_object_renderers.ApiRDFValueCollectionRendererArgs(
             with_total_count=True)])