Пример #1
0
    def testResolvesSimpleFlowURN(self):
        flow_urn = flow.GRRFlow.StartFlow(
            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)
Пример #2
0
    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])
Пример #3
0
    def testResolvesNestedFlowURN(self):
        flow_urn = flow.GRRFlow.StartFlow(
            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.assertEqual(len(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)
Пример #4
0
    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)
Пример #5
0
    def testRaisesWhenInitializedFromInvalidValues(self):
        with self.assertRaises(ValueError):
            flow_plugin.ApiFlowId("blah")

        with self.assertRaises(ValueError):
            flow_plugin.ApiFlowId("foo/bar")
Пример #6
0
 def GenerateSample(self, number=0):
     return flow_plugin.ApiFlowId("F:" + "123" * (number + 1))