コード例 #1
0
    def test_build_flow_spec(self):
        res = build_flow_spec(
            'tenant=a context=b sip=1.2.3.4 dip=10/24 arpOpc=req etherT=ip prot=tcp dport=10 - 20'
        )
        self.assertEqual(res.tenant_name, 'a')
        self.assertEqual(res.context_name, 'b')
        self.assertEqual(res.sip[0], IpAddress('1.2.3.4'))
        self.assertEqual(res.dip[0], IpAddress('10.0.0.0/24'))
        self.assertEqual(res.protocol_filter[0].arpOpc, 'req')
        self.assertEqual(res.protocol_filter[0].etherT, 'ip')
        self.assertEqual(res.protocol_filter[0].prot, 'tcp')
        self.assertEqual(res.protocol_filter[0].dFromPort, 10)
        self.assertEqual(res.protocol_filter[0].dToPort, 20)

        res = build_flow_spec('sport=45- 49 tcpRules=syn')
        self.assertEqual(res.tenant_name, '*')
        self.assertEqual(res.context_name, '*')
        self.assertEqual(res.sip[0], IpAddress('0/0'))
        self.assertEqual(res.dip[0], IpAddress('0/0'))
        self.assertEqual(res.protocol_filter[0].arpOpc, 'any')
        self.assertEqual(res.protocol_filter[0].etherT, 'ip')
        self.assertEqual(res.protocol_filter[0].prot, 'tcp')
        self.assertEqual(res.protocol_filter[0].sFromPort, 45)
        self.assertEqual(res.protocol_filter[0].sToPort, 49)
        self.assertEqual(res.protocol_filter[0].tcpRules, 'syn')

        res = build_flow_spec('sport=45 tcpRules=syn')
        self.assertEqual(res.tenant_name, '*')
        self.assertEqual(res.context_name, '*')
        self.assertEqual(res.sip[0], IpAddress('0/0'))
        self.assertEqual(res.dip[0], IpAddress('0/0'))
        self.assertEqual(res.protocol_filter[0].arpOpc, 'any')
        self.assertEqual(res.protocol_filter[0].etherT, 'ip')
        self.assertEqual(res.protocol_filter[0].prot, 'tcp')
        self.assertEqual(res.protocol_filter[0].sFromPort, 45)
        self.assertEqual(res.protocol_filter[0].sToPort, 45)
        self.assertEqual(res.protocol_filter[0].tcpRules, 'syn')

        res = build_flow_spec('etherT=arp')
        self.assertEqual(res.tenant_name, '*')
        self.assertEqual(res.context_name, '*')
        self.assertEqual(res.sip[0], IpAddress('0/0'))
        self.assertEqual(res.dip[0], IpAddress('0/0'))
        self.assertEqual(res.protocol_filter[0].arpOpc, 'any')
        self.assertEqual(res.protocol_filter[0].etherT, 'arp')
        self.assertEqual(res.protocol_filter[0].prot, 'any')
        self.assertEqual(res.protocol_filter[0].sFromPort, 'any')
        self.assertEqual(res.protocol_filter[0].sToPort, 'any')
        self.assertEqual(res.protocol_filter[0].tcpRules, 'any')
コード例 #2
0
    def test_build_flow_spec(self):
        res = build_flow_spec('tenant=a context=b sip=1.2.3.4 dip=10/24 arpOpc=req etherT=ip prot=tcp dport=10 - 20')
        self.assertEqual(res.tenant_name, 'a')
        self.assertEqual(res.context_name, 'b')
        self.assertEqual(res.sip[0], IpAddress('1.2.3.4'))
        self.assertEqual(res.dip[0], IpAddress('10.0.0.0/24'))
        self.assertEqual(res.protocol_filter[0].arpOpc, 'req')
        self.assertEqual(res.protocol_filter[0].etherT, 'ip')
        self.assertEqual(res.protocol_filter[0].prot, 'tcp')
        self.assertEqual(res.protocol_filter[0].dFromPort, 10)
        self.assertEqual(res.protocol_filter[0].dToPort, 20)

        res = build_flow_spec('sport=45- 49 tcpRules=syn')
        self.assertEqual(res.tenant_name, '*')
        self.assertEqual(res.context_name, '*')
        self.assertEqual(res.sip[0], IpAddress('0/0'))
        self.assertEqual(res.dip[0], IpAddress('0/0'))
        self.assertEqual(res.protocol_filter[0].arpOpc, 'any')
        self.assertEqual(res.protocol_filter[0].etherT, 'ip')
        self.assertEqual(res.protocol_filter[0].prot, 'tcp')
        self.assertEqual(res.protocol_filter[0].sFromPort, 45)
        self.assertEqual(res.protocol_filter[0].sToPort, 49)
        self.assertEqual(res.protocol_filter[0].tcpRules, 'syn')

        res = build_flow_spec('sport=45 tcpRules=syn')
        self.assertEqual(res.tenant_name, '*')
        self.assertEqual(res.context_name, '*')
        self.assertEqual(res.sip[0], IpAddress('0/0'))
        self.assertEqual(res.dip[0], IpAddress('0/0'))
        self.assertEqual(res.protocol_filter[0].arpOpc, 'any')
        self.assertEqual(res.protocol_filter[0].etherT, 'ip')
        self.assertEqual(res.protocol_filter[0].prot, 'tcp')
        self.assertEqual(res.protocol_filter[0].sFromPort, 45)
        self.assertEqual(res.protocol_filter[0].sToPort, 45)
        self.assertEqual(res.protocol_filter[0].tcpRules, 'syn')

        res = build_flow_spec('etherT=arp')
        self.assertEqual(res.tenant_name, '*')
        self.assertEqual(res.context_name, '*')
        self.assertEqual(res.sip[0], IpAddress('0/0'))
        self.assertEqual(res.dip[0], IpAddress('0/0'))
        self.assertEqual(res.protocol_filter[0].arpOpc, 'any')
        self.assertEqual(res.protocol_filter[0].etherT, 'arp')
        self.assertEqual(res.protocol_filter[0].prot, 'any')
        self.assertEqual(res.protocol_filter[0].sFromPort, 'any')
        self.assertEqual(res.protocol_filter[0].sToPort, 'any')
        self.assertEqual(res.protocol_filter[0].tcpRules, 'any')
コード例 #3
0
    def test_infer_multiple_filters(self):
        res = build_flow_spec('dport=80')
        self.assertEqual(len(res.protocol_filter), 2)
        exp = [res.protocol_filter[0].prot, res.protocol_filter[1].prot]
        self.assertTrue('tcp' in exp)
        self.assertTrue('udp' in exp)

        self.assertEqual(res.protocol_filter[0].etherT, 'ip')
        self.assertEqual(res.protocol_filter[1].etherT, 'ip')

        res = build_flow_spec('sport=80')
        self.assertEqual(len(res.protocol_filter), 2)
        exp = [res.protocol_filter[0].prot, res.protocol_filter[1].prot]
        self.assertTrue('tcp' in exp)
        self.assertTrue('udp' in exp)

        self.assertEqual(res.protocol_filter[0].etherT, 'ip')
        self.assertEqual(res.protocol_filter[1].etherT, 'ip')
コード例 #4
0
    def test_infer_multiple_filters(self):
        res = build_flow_spec('dport=80')
        self.assertEqual(len(res.protocol_filter), 2)
        exp = [res.protocol_filter[0].prot, res.protocol_filter[1].prot]
        self.assertTrue('tcp' in exp)
        self.assertTrue('udp' in exp)

        self.assertEqual(res.protocol_filter[0].etherT, 'ip')
        self.assertEqual(res.protocol_filter[1].etherT, 'ip')

        res = build_flow_spec('sport=80')
        self.assertEqual(len(res.protocol_filter), 2)
        exp = [res.protocol_filter[0].prot, res.protocol_filter[1].prot]
        self.assertTrue('tcp' in exp)
        self.assertTrue('udp' in exp)

        self.assertEqual(res.protocol_filter[0].etherT, 'ip')
        self.assertEqual(res.protocol_filter[1].etherT, 'ip')