Exemple #1
0
 def test_ACPRule_destination_network_add_for_objects_and_literals_present_initially(self, mock_ipaddress, mock_fqdns,
                                                                           mock_nwgroup, _):
     value2 = mock.Mock()
     value = mock.Mock()
     value.get.return_value = value2
     dummyvalue3 = mock.Mock()
     dummyvalue4 = mock.Mock()
     dummyvalue4.get.return_value = []
     dummyvalue3.get.return_value = dummyvalue4
     value2.get.return_value = [
         {'name': 'someExistingObjectName1', 'id': 'someExistingObjectId1', 'type': 'someExistingObjectType1'},
         {'name': 'someExistingObjectName2', 'id': 'someExistingObjectId2', 'type': 'someExistingObjectType2'},
         {'name': 'someExistingObjectName3', 'id': 'someExistingObjectId3', 'type': 'someExistingObjectType3'}]
     mock_ipaddress.return_value = value
     mock_nwgroup.return_value = dummyvalue3
     mock_fqdns.return_value = dummyvalue3
     rule_obj = api_objects.ACPRule(fmc=mock.Mock())
     rule_obj.destinationNetworks = {'literals': {'10.0.0.1': 'host'}}
     rule_obj.URL = '/accesspolicies/<accesspolicyid>/accessrules/<accessruleid>'
     rule_obj.destination_network(action='add', name='someExistingObjectName3')
     self.assertEqual(len(rule_obj.destinationNetworks['objects']), 1)
     self.assertEqual(rule_obj.destinationNetworks['objects'][0],
                      {'name': 'someExistingObjectName3', 'id': 'someExistingObjectId3',
                       'type': 'someExistingObjectType3'})
     self.assertEqual(len(rule_obj.destinationNetworks['literals']), 1)
     self.assertEqual(rule_obj.destinationNetworks['literals']['10.0.0.1'], 'host')
Exemple #2
0
 def test_ACPRule_format_data_with_source_networks(self, _):
     rule_obj = api_objects.ACPRule(fmc=mock.Mock(), sourceNetworks={'objects' : [{'name': 'someExistingObjectName1'}],
                                                                     'literals': [{'type': 'host', 'value': '10.0.0.1'}]
                                                                     })
     data = rule_obj.format_data()
     self.assertEqual([{'name': 'someExistingObjectName1'}], data['sourceNetworks']['objects'])
     self.assertEqual([{'type': 'host', 'value': '10.0.0.1'}], data['sourceNetworks']['literals'])
Exemple #3
0
 def test_ACPRule_destination_network_remove_for_objects_with_only_one_object_present(self, _):
     rule_obj = api_objects.ACPRule(fmc=mock.Mock())
     rule_obj.destinationNetworks = {'objects': [
         {'name': 'someExistingObjectName1', 'id': 'someExistingObjectId1', 'type': 'someExistingObjectType1'}]
     }
     rule_obj.destination_network(action='remove', name='someExistingObjectName1')
     self.assertNotIn('destinationNetworks', self.__dict__)
Exemple #4
0
 def test_ACPRule_destination_network_remove_for_literals_with_multiple_literals_present(self, _):
     rule_obj = api_objects.ACPRule(fmc=mock.Mock())
     rule_obj.destinationNetworks = {'literals': {'10.0.0.1': 'host', '10.0.0.2': 'host', '10.0.0.3': 'host'}}
     rule_obj.destination_network(action='remove', literal='10.0.0.1')
     self.assertEqual(len(rule_obj.destinationNetworks['literals']), 2)
     self.assertIsNotNone(rule_obj.destinationNetworks['literals']['10.0.0.2'])
     self.assertIsNotNone(rule_obj.destinationNetworks['literals']['10.0.0.3'])
Exemple #5
0
 def test_ACPRule_source_network_add_for_objects_and_duplicate_objects_present(self, mock_ipaddress, mock_fqdns,
                                                                               mock_nwgroup, _):
     value2 = mock.Mock()
     value = mock.Mock()
     value.get.return_value = value2
     dummyvalue3 = mock.Mock()
     dummyvalue4 = mock.Mock()
     dummyvalue4.get.return_value = []
     dummyvalue3.get.return_value = dummyvalue4
     value2.get.return_value = [
         {'name': 'someExistingObjectName1', 'id': 'someExistingObjectId1', 'type': 'someExistingObjectType1'},
         {'name': 'someExistingObjectName2', 'id': 'someExistingObjectId2', 'type': 'someExistingObjectType2'},
         {'name': 'someExistingObjectName3', 'id': 'someExistingObjectId3', 'type': 'someExistingObjectType3'}]
     mock_ipaddress.return_value = value
     mock_nwgroup.return_value = dummyvalue3
     mock_fqdns.return_value = dummyvalue3
     rule_obj = api_objects.ACPRule(fmc=mock.Mock())
     rule_obj.sourceNetworks = {'objects': [
         {'name': 'someExistingObjectName3', 'id': 'someExistingObjectId3', 'type': 'someExistingObjectType3'},
         {'name': 'someExistingObjectName1', 'id': 'someExistingObjectId1', 'type': 'someExistingObjectType1'}]}
     rule_obj.URL = '/accesspolicies/<accesspolicyid>/accessrules/<accessruleid>'
     rule_obj.source_network(action='add', name='someExistingObjectName3')
     self.assertEqual(len(rule_obj.sourceNetworks['objects']), 2)
     self.assertEqual(rule_obj.sourceNetworks['objects'][0],
                      {'name': 'someExistingObjectName3', 'id': 'someExistingObjectId3',
                       'type': 'someExistingObjectType3'})
     self.assertEqual(rule_obj.sourceNetworks['objects'][1],
                      {'name': 'someExistingObjectName1', 'id': 'someExistingObjectId1',
                       'type': 'someExistingObjectType1'})
Exemple #6
0
    def test_URL_SUFFIX_1(self, mock_fmc, *_):
        """
        Test URL_SUFFIX property
            - No URL params
        """
        a = api_objects.ACPRule(fmc=mock_fmc, acp_name='something')

        self.assertEqual('', a.URL_SUFFIX)
Exemple #7
0
 def test_ACPRule_destination_network_add_for_literals_and_one_literal_present_initially(self, _):
     rule_obj = api_objects.ACPRule(fmc=mock.Mock())
     rule_obj.destinationNetworks = {'literals': {'10.0.0.1': 'host'}}
     rule_obj.URL = '/accesspolicies/<accesspolicyid>/accessrules/<accessruleid>'
     rule_obj.destination_network(action='add', literal='10.0.0.2')
     self.assertEqual(len(rule_obj.destinationNetworks['literals']), 2)
     self.assertEqual(rule_obj.destinationNetworks['literals']['10.0.0.1'], 'host')
     self.assertEqual(rule_obj.destinationNetworks['literals']['10.0.0.2'], 'host')
Exemple #8
0
    def test_URL_SUFFIX_4(self, mock_fmc, *_):
        """
        Test URL_SUFFIX property
            - insertAfter param
        """
        a = api_objects.ACPRule(fmc=mock_fmc, acp_name='something', insertAfter='something')

        self.assertTrue(a.URL.endswith('?insertAfter=something'))
Exemple #9
0
    def test_URL_SUFFIX_2(self, mock_fmc, *_):
        """
        Test URL_SUFFIX property
            - Category param
        """
        a = api_objects.ACPRule(fmc=mock_fmc, acp_name='something', category='something')

        self.assertTrue(a.URL.endswith('?category=something'))
Exemple #10
0
 def test_ACPRule_destination_network_clear_for_objects(self, _):
     rule_obj = api_objects.ACPRule(fmc=mock.Mock())
     rule_obj.destinationNetworks = {'objects': [
         {'name': 'someExistingObjectName1', 'id': 'someExistingObjectId1', 'type': 'someExistingObjectType1'},
         {'name': 'someExistingObjectName2', 'id': 'someExistingObjectId2', 'type': 'someExistingObjectType2'},
         {'name': 'someExistingObjectName3', 'id': 'someExistingObjectId3', 'type': 'someExistingObjectType3'}]
     }
     rule_obj.destination_network(action='clear')
     self.assertNotIn('destinationNetworks', self.__dict__)
Exemple #11
0
    def test_URL_SUFFIX_7(self, mock_fmc, mock_log, *_):
        """
        Test URL_SUFFIX property
            - Category param
            - insertBefore param
            - insertAfter param
        """
        a = api_objects.ACPRule(fmc=mock_fmc, acp_name='something', category='something', insertBefore='something',
                                insertAfter='something')

        self.assertTrue(a.URL.endswith('?category=something&insertBefore=something&insertAfter=something'))
        mock_log.assert_called_once()
Exemple #12
0
 def test_ACPRule_destination_network_remove_for_objects_with_multiple_objects_present(self, _):
     rule_obj = api_objects.ACPRule(fmc=mock.Mock())
     rule_obj.destinationNetworks = {'objects': [
         {'name': 'someExistingObjectName1', 'id': 'someExistingObjectId1', 'type': 'someExistingObjectType1'},
         {'name': 'someExistingObjectName2', 'id': 'someExistingObjectId2', 'type': 'someExistingObjectType2'},
         {'name': 'someExistingObjectName3', 'id': 'someExistingObjectId3', 'type': 'someExistingObjectType3'}]
     }
     rule_obj.destination_network(action='remove', name='someExistingObjectName3')
     self.assertEqual(len(rule_obj.destinationNetworks['objects']), 2)
     self.assertEqual(rule_obj.destinationNetworks['objects'][0],
                      {'name': 'someExistingObjectName1', 'id': 'someExistingObjectId1',
                       'type': 'someExistingObjectType1'})
     self.assertEqual(rule_obj.destinationNetworks['objects'][1],
                      {'name': 'someExistingObjectName2', 'id': 'someExistingObjectId2',
                       'type': 'someExistingObjectType2'})
Exemple #13
0
 def test_ACPRule_destination_network_add_for_literals_and_objects_present_initially(self, _):
     rule_obj = api_objects.ACPRule(fmc=mock.Mock())
     rule_obj.destinationNetworks = {'objects': [
         {'name': 'someExistingObjectName3', 'id': 'someExistingObjectId3', 'type': 'someExistingObjectType3'},
         {'name': 'someExistingObjectName1', 'id': 'someExistingObjectId1', 'type': 'someExistingObjectType1'}],
         'literals': {}}
     rule_obj.URL = '/accesspolicies/<accesspolicyid>/accessrules/<accessruleid>'
     rule_obj.destination_network(action='add', literal="10.0.0.1")
     self.assertEqual(len(rule_obj.destinationNetworks['literals']), 1)
     self.assertEqual(rule_obj.destinationNetworks['literals']['10.0.0.1'], 'host')
     self.assertEqual(rule_obj.destinationNetworks['objects'][0],
                      {'name': 'someExistingObjectName3', 'id': 'someExistingObjectId3',
                       'type': 'someExistingObjectType3'})
     self.assertEqual(rule_obj.destinationNetworks['objects'][1],
                      {'name': 'someExistingObjectName1', 'id': 'someExistingObjectId1',
                       'type': 'someExistingObjectType1'})
Exemple #14
0
 def test_ACPRule_destination_network_clear_for_literals(self, _):
     rule_obj = api_objects.ACPRule(fmc=mock.Mock())
     rule_obj.destinationNetworks = {'literals': {'10.0.0.1': 'host'}}
     rule_obj.destination_network(action='clear')
     self.assertNotIn('destinationNetworks', self.__dict__)
Exemple #15
0
 def test_ACPRule_destination_network_remove_for_literals_with_only_one_literal_present(self, _):
     rule_obj = api_objects.ACPRule(fmc=mock.Mock())
     rule_obj.destinationNetworks = {'literals': {'10.0.0.1': 'host'}}
     rule_obj.destination_network(action='remove', literal='10.0.0.1')
     self.assertEqual(len(rule_obj.destinationNetworks['literals']), 0)
Exemple #16
0
 def test_ACPRule_source_network_add_for_literals_and_duplicate_literal_present(self, _):
     rule_obj = api_objects.ACPRule(fmc=mock.Mock())
     rule_obj.sourceNetworks = {'literals': {'10.0.0.1': 'host'}}
     rule_obj.URL = '/accesspolicies/<accesspolicyid>/accessrules/<accessruleid>'
     rule_obj.source_network(action='add', literal='10.0.0.1')
     self.assertEqual(len(rule_obj.sourceNetworks['literals']), 1)
Exemple #17
0
 def test_ACPRule_parse_kwargs_with_destination_networks(self, _):
     rule_obj = api_objects.ACPRule(fmc=mock.Mock(), destinationNetworks={'objects' : [{'name': 'someExistingObjectName1'}],
                                                                          'literals': [{'type': 'host', 'value': '10.0.0.1'}]
                                                                          })
     self.assertEqual([{'name': 'someExistingObjectName1'}], rule_obj.destinationNetworks['objects'])
     self.assertEqual({'10.0.0.1': 'host'}, rule_obj.destinationNetworks['literals'])
Exemple #18
0
 def test_ACPRule_destination_network_with_both_name_and_literals_given(self, _):
     rule_obj = api_objects.ACPRule(fmc=mock.Mock())
     with self.assertRaises(ValueError):
         rule_obj.destination_network(action='add', name='someObjectName', literal='10.0.0.1')
Exemple #19
0
 def test_ACPRule_source_network_add_for_literals_and_no_literal_present_initially(self, _):
     rule_obj = api_objects.ACPRule(fmc=mock.Mock())
     rule_obj.URL = '/accesspolicies/<accesspolicyid>/accessrules/<accessruleid>'
     rule_obj.source_network(action='add', literal='10.0.0.1')
     self.assertEqual(len(rule_obj.sourceNetworks['literals']), 1)
     self.assertEqual(rule_obj.sourceNetworks['literals']['10.0.0.1'], 'host')