def testResolvesSimpleFlowURN(self): flow_urn = flow.StartAFF4Flow( flow_name=flow_test_lib.FlowWithOneNestedFlow.__name__, client_id=self.client_urn, token=self.token) flow_id = flow_plugin.ApiFlowId(flow_urn.Basename()) self.assertEqual( flow_id.ResolveClientFlowURN(client_plugin.ApiClientId( self.client_urn), token=self.token), flow_urn)
def testResolvesHuntFlowURN(self): self._StartHunt() client_flows_urns = list( aff4.FACTORY.ListChildren(self.client_urn.Add("flows"))) self.assertEqual(len(client_flows_urns), 1) flow_id = flow_plugin.ApiFlowId(client_flows_urns[0].Basename()) self.assertEqual( flow_id.ResolveClientFlowURN( client_plugin.ApiClientId(self.client_urn), token=self.token), client_flows_urns[0])
def testResolvesNestedFlowURN(self): flow_urn = flow.StartAFF4Flow( flow_name=flow_test_lib.FlowWithOneNestedFlow.__name__, client_id=self.client_urn, token=self.token) children = list( aff4.FACTORY.MultiOpen(list(aff4.FACTORY.ListChildren(flow_urn)), aff4_type=flow.GRRFlow, token=self.token)) self.assertLen(children, 1) flow_id = flow_plugin.ApiFlowId(flow_urn.Basename() + "/" + children[0].urn.Basename()) self.assertEqual( flow_id.ResolveClientFlowURN(client_plugin.ApiClientId( self.client_urn), token=self.token), children[0].urn)
def testResolvesNestedHuntFlowURN(self): self._StartHunt() client_flows_urns = list( aff4.FACTORY.ListChildren(self.client_urn.Add("flows"))) self.assertEqual(len(client_flows_urns), 1) flow_fd = aff4.FACTORY.Open(client_flows_urns[0], token=self.token) nested_flows_urns = list(flow_fd.ListChildren()) nested_flows = list( aff4.FACTORY.MultiOpen( nested_flows_urns, aff4_type=flow.GRRFlow, token=self.token)) self.assertEqual(len(nested_flows), 1) flow_id = flow_plugin.ApiFlowId(client_flows_urns[0].Basename() + "/" + nested_flows[0].urn.Basename()) self.assertEqual( flow_id.ResolveClientFlowURN( client_plugin.ApiClientId(self.client_urn), token=self.token), nested_flows[0].urn)
def testRaisesWhenInitializedFromInvalidValues(self): with self.assertRaises(ValueError): flow_plugin.ApiFlowId("bla%h")
def GenerateSample(self, number=0): return flow_plugin.ApiFlowId("F:" + "123" * (number + 1))