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)])
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"})
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)])