示例#1
0
    def test_format_invalid_vm_power_state_update(self):
        self._mock_rabbitmq_client()
        cloudstack_mock = self._mock_cloudstack_service(
            open_json('tests/json/vm.json')['virtualmachine'][0],
            open_json('tests/json/project.json')['project'][0],
            open_json('tests/json/zone.json')['zone'][0]
        )
        update = self._create_driver()._create_updates({
            'status': 'preStateTransitionEvent'
        })

        self.assertEqual([], update)
        self.assertFalse(cloudstack_mock.get_virtual_machine.called)
        self.assertFalse(cloudstack_mock.get_project.called)
示例#2
0
    def test_format_unmapped_update(self):
        self._mock_rabbitmq_client()
        cloudstack_mock = self._mock_cloudstack_service(
            open_json('tests/json/vm.json')['virtualmachine'][0],
            open_json('tests/json/project.json')['project'][0],
            open_json('tests/json/zone.json')['zone'][0]
        )
        update = self._create_driver()._create_updates({
            'status': 'Completed',
            'event': 'VM.START'
        })

        self.assertEqual([], update)
        self.assertFalse(cloudstack_mock.get_virtual_machine.called)
        self.assertFalse(cloudstack_mock.get_project.called)
    def test_get_project_given_project_not_found(self):
        mock = self._mock_list_projects(open_json('tests/json/empty_project.json'))
        service = CloudstackService(mock)
        project = service.get_project('unique_id')

        self.assertEqual(dict(), project)
        self.assertTrue(mock.listProjects.called)
示例#4
0
    def test_get_project_given_project_not_found(self):
        mock = self._mock_list_projects(open_json(TEST_JSON + 'empty_project.json'))
        service = CloudstackService(mock)
        project = service.get_project(UNIQUE_ID)

        self.assertEqual(dict(), project)
        self.assertTrue(mock.listProjects.called)
    def test_get_virtual_machine_given_vm_not_found(self):
        mock = self._mock_list_vm(open_json('tests/json/empty_vm.json'))
        service = CloudstackService(mock)
        vm = service.get_virtual_machine('unique_id')

        self.assertIsNone(vm)
        self.assertTrue(mock.listVirtualMachines.called)
示例#6
0
    def test_get_virtual_machine_given_vm_not_found(self):
        mock = self._mock_list_vm(open_json(TEST_JSON + 'empty_vm.json'))
        service = CloudstackService(mock)
        vm = service.get_virtual_machine(UNIQUE_ID)

        self.assertIsNone(vm)
        self.assertTrue(mock.listVirtualMachines.called)
    def test_data_spec_comp_unit(self):
        """Test method comp_unit of DataSpec"""

        comp_unit = open_json('tests/json/data_spec/comp_unit.json')
        data = DataSpec().comp_unit(comp_unit)
        expected = {
            'id': 'eqpt1',
            'name': '',
            'provider': 'globomap',
            'properties': [
                {
                    'key': 'maintenance',
                    'value': False,
                    'description': 'Maintenance'
                },
                {
                    'key': 'equipment_type',
                    'value': 'Server',
                    'description': 'Equipment Type'
                },
                {
                    'key': 'ips',
                    'value': [
                        '10.0.0.1',
                        'bebe:bebe:bebe:0000:0000:0000:0000:0001'
                    ],
                    'description': 'IPs'
                },
            ]
        }
        self.assertDictEqual(data, expected)
示例#8
0
    def test_get_project(self):
        mock = self._mock_list_projects(open_json(TEST_JSON + 'project.json'))
        service = CloudstackService(mock)
        project = service.get_project(UNIQUE_ID)

        self.assertIsNotNone(project)
        self.assertTrue(mock.listProjects.called)
    def test_data_spec_vip(self):
        """Test method vip of DataSpec"""

        vip = open_json('tests/json/data_spec/vip.json')
        data = DataSpec().vip(vip)
        expected = {
            'id': '1',
            'name': 'vip_teste',
            'provider': 'napi',
            'properties': [
                {
                    'key': 'created',
                    'value': False,
                    'description': 'Created id Load Balancer'
                },
                {
                    'key': 'ip',
                    'value': '10.10.0.2',
                    'description': 'IP'
                },
                {
                    'key': 'environmentvip',
                    'value': 'FIN_VIP-ClientTxt-VIP-EnvP44Txt-VIP',
                    'description': 'Environment of VIP'
                }
            ]
        }

        self.assertDictEqual(data, expected)
示例#10
0
    def test_data_spec_vlan(self):
        """Test method vlan of DataSpec"""

        vlan = open_json('tests/json/data_spec/vlan.json')
        data = DataSpec().vlan(vlan)
        expected = {
            'id':
            '1',
            'name':
            'Vlan1',
            'provider':
            'napi',
            'properties': [{
                'key': 'num_vlan',
                'value': 2,
                'description': 'Number of VLAN'
            }, {
                'key': 'description',
                'value': 'Vlan Description',
                'description': 'Description'
            }, {
                'value': False,
                'key': 'active',
                'description': 'Status'
            }]
        }
        self.assertDictEqual(data, expected)
    def test_data_spec_port(self):
        """Test method port of DataSpec"""

        port = open_json('tests/json/data_spec/port.json')
        data = DataSpec().port(port, 1)
        expected = {
            'from': 'vip/napi_1',
            'to': 'pool/napi_1',
            'id': '1',
            'name': '8080:Default VIP',
            'provider': 'napi',
            'properties': {
                'l4_protocol': 'TCP',
                'l7_protocol': 'HTTP',
                'l7_rule': 'Default VIP',
                'port': 8080
            },
            'properties_metadata': {
                'l4_protocol': {
                    'description': 'L4 Protocol'
                },
                'l7_protocol': {
                    'description': 'L7 Protocol'
                },
                'l7_rule': {
                    'description': 'L7 Rule'
                },
                'port': {
                    'description': 'Port'
                }
            }
        }
        self.assertDictEqual(data, expected)
    def test_data_spec_vlan(self):
        """Test method vlan of DataSpec"""

        vlan = open_json('tests/json/data_spec/vlan.json')
        data = DataSpec().vlan(vlan)
        expected = {
            'id': '1',
            'name': 'Vlan1',
            'provider': 'napi',
            'properties': {
                'num_vlan': 2,
                'description': 'Vlan Description',
                'active': False
            },
            'properties_metadata': {
                'num_vlan': {
                    'description': 'Number of VLAN'
                },
                'description': {
                    'description': 'Description'
                },
                'active': {
                    'description': 'Active Vlan'
                }
            }
        }
        self.assertDictEqual(data, expected)
示例#13
0
    def test_data_spec_comp_unit(self):
        """Test method comp_unit of DataSpec"""

        comp_unit = open_json('tests/json/data_spec/comp_unit.json')
        data = DataSpec().comp_unit(comp_unit)
        expected = {
            'id':
            'eqpt1',
            'name':
            '',
            'provider':
            'globomap',
            'properties': [
                {
                    'key': 'maintenance',
                    'value': False,
                    'description': 'Maintenance'
                },
                {
                    'key': 'equipment_type',
                    'value': 'Server',
                    'description': 'Equipment Type'
                },
                {
                    'key':
                    'ips',
                    'value':
                    ['10.0.0.1', 'bebe:bebe:bebe:0000:0000:0000:0000:0001'],
                    'description':
                    'IPs'
                },
            ]
        }
        self.assertDictEqual(data, expected)
    def test_data_spec_vlan(self):
        """Test method vlan of DataSpec"""

        vlan = open_json('tests/json/data_spec/vlan.json')
        data = DataSpec().vlan(vlan)
        expected = {
            'id': '1',
            'name': 'Vlan1',
            'provider': 'napi',
            'properties': [
                {
                    'key': 'num_vlan',
                    'value': 2,
                    'description': 'Number of VLAN'
                },
                {
                    'key': 'description',
                    'value': 'Vlan Description',
                    'description': 'Description'
                },
                {
                    'value': False,
                    'key': 'active',
                    'description': 'Status'
                }
            ]
        }
        self.assertDictEqual(data, expected)
示例#15
0
    def test_data_spec_vip(self):
        """Test method vip of DataSpec"""

        vip = open_json('tests/json/data_spec/vip.json')
        data = DataSpec().vip(vip)
        expected = {
            'id':
            '1',
            'name':
            'vip_teste',
            'provider':
            'napi',
            'properties': [{
                'key': 'created',
                'value': False,
                'description': 'Created id Load Balancer'
            }, {
                'key': 'ip',
                'value': '10.10.0.2',
                'description': 'IP'
            }, {
                'key': 'environmentvip',
                'value': 'FIN_VIP-ClientTxt-VIP-EnvP44Txt-VIP',
                'description': 'Environment of VIP'
            }]
        }

        self.assertDictEqual(data, expected)
    def test_get_project(self):
        mock = self._mock_list_projects(open_json('tests/json/project.json'))
        service = CloudstackService(mock)
        project = service.get_project('unique_id')

        self.assertIsNotNone(project)
        self.assertTrue(mock.listProjects.called)
    def test_data_spec_comp_unit_acs(self):
        """Test method comp_unit of DataSpec"""

        comp_unit = open_json('tests/json/data_spec/comp_unit_acs.json')
        data = DataSpec().comp_unit(comp_unit)
        expected = {
            'id': '8f1d34c1-ab89-4ef7-9d9d-0d57c2b6547b',
            'provider': 'globomap',
            'properties': {
                'maintenance': False,
                'equipment_type': 'Server',
                'ips': [
                    '10.0.0.1',
                    'bebe:bebe:bebe:0000:0000:0000:0000:0001'
                ],
            },
            'properties_metadata': {
                'maintenance': {
                    'description': 'Maintenance'
                },
                'equipment_type': {
                    'description': 'Equipment Type'
                },
                'ips': {
                    'description': 'IPs'
                },
            }
        }
        self.assertDictEqual(data, expected)
示例#18
0
    def test_get_updates_returning_list_of_updates(self):
        updates = [open_json('tests/json/globomap/vip.json')]
        self._mock_rabbitmq_client((updates, 1))

        def callback(updates):
            self.assertIsNotNone(updates)

        GenericDriver().process_updates(callback)
示例#19
0
    def test_format_create_vm_update(self):
        self._mock_rabbitmq_client()
        cloudstack_mock = self._mock_cloudstack_service(
            open_json('tests/json/vm.json')['virtualmachine'][0],
            open_json('tests/json/project.json')['project'][0],
            open_json('tests/json/zone.json')['zone'][0]
        )
        update = self._create_driver()._create_updates(
            open_json('tests/json/vm_create_event.json'))[0]

        self.assertEqual('PATCH', update['action'])
        self.assertEqual('comp_unit', update['collection'])
        self.assertEqual('collections', update['type'])
        self.assertEqual(
            'globomap_3018bdf1-4843-43b3-bdcf-ba1beb63c930', update['key'])
        self.assertTrue(cloudstack_mock.get_virtual_machine.called)
        self.assertTrue(cloudstack_mock.get_project.called)
示例#20
0
    def test_sync_updates(self):
        update = open_json('tests/json/driver/driver_output_create.json')
        globomap_client_mock = MagicMock()

        DriverWorker(globomap_client_mock, Mock(),
                     None)._process_update(update)
        globomap_client_mock.update_element_state.assert_called_once_with(
            'CREATE', 'collections', 'vip', update['element'], None)
示例#21
0
    def test_send_updates_expected_status_500(self):
        rabbit_mock = self._mock_rabbitmq_client(Exception())
        updates = [open_json('tests/json/driver/driver_output_create.json')]
        response = self.app.post('/v2/updates/',
                                 data=json.dumps(updates),
                                 headers={'Content-Type': 'application/json'})

        self.assertEqual(500, response.status_code)
        self.assertEqual(1, rabbit_mock.post_message.call_count)
示例#22
0
    def test_format_update_wrong_event(self):
        self._mock_rabbitmq_client()
        cloudstack_mock = self._mock_cloudstack_service(None, None, None)
        update = self._create_driver()._create_updates(
            open_json('tests/json/vm_create_wrong_event.json'))

        self.assertEqual([], update)
        self.assertFalse(cloudstack_mock.get_virtual_machine.called)
        self.assertFalse(cloudstack_mock.get_project.called)
示例#23
0
    def test_get_updates_given_exception(self):
        rabbit_client_mock = self._mock_rabbitmq_client(
            open_json('tests/json/vm_create_event.json'))
        cloudstack_mock = self._mock_cloudstack_service(
            open_json('tests/json/vm.json')['virtualmachine'][0],
            open_json('tests/json/project.json')['project'][0],
            open_json('tests/json/zone.json')['zone'][0]
        )

        def callback(update):
            raise Exception()

        with self.assertRaises(Exception):
            self._create_driver().process_updates(callback)

        self.assertTrue(cloudstack_mock.get_virtual_machine.called)
        self.assertTrue(cloudstack_mock.get_project.called)
        self.assertEqual(0, rabbit_client_mock.ack_message.call_count)
        self.assertEqual(1, rabbit_client_mock.nack_message.call_count)
    def test_data_spec_pool_comp_unit_acs(self):
        """Test method pool_comp_unit of DataSpec"""

        pool_comp_unit = open_json(
            'tests/json/data_spec/pool_comp_unit_acs.json')
        data = DataSpec().pool_comp_unit(pool_comp_unit, 1)
        expected = {
            'from': 'pool/napi_1',
            'to': 'comp_unit/globomap_8f1d34c1-ab89-4ef7-9d9d-0d57c2b6547b',
            'id': '1',
            'name': '10.0.0.2',
            'provider': 'napi',
            'properties': {
                'ip': u'10.0.0.2',
                'priority': 0,
                'weight': 1,
                'limit': 1000,
                'port_real': 8080,
                'status_last_update': None,
                'status_monitor': 'Up',
                'status_session': 'Up',
                'status_healthcheck': 'Up'
            },
            'properties_metadata': {
                'ip': {
                    'description': 'IP'
                },
                'priority': {
                    'description': 'Priority'
                },
                'weight': {
                    'description': 'Weight'
                },
                'limit': {
                    'description': 'Limit'
                },
                'port_real': {
                    'description': 'Port'
                },
                'status_last_update': {
                    'description': 'Last Update of Status'
                },
                'status_monitor': {
                    'description': 'User Up/Down (Forced)'
                },
                'status_session': {
                    'description': 'Enabled/Disabled'
                },
                'status_healthcheck': {
                    'description': 'Up/Down (Healthcheck)'
                }
            }
        }

        self.assertDictEqual(data, expected)
示例#25
0
    def test_process_updates_given_vm_without_project(self):
        rabbit_client_mock = self._mock_rabbitmq_client(
            open_json('tests/json/vm_create_event.json'))
        cloudstack_mock = self._mock_cloudstack_service(
            open_json('tests/json/vm.json')['virtualmachine'][0],
            dict(),
            open_json('tests/json/zone.json')['zone'][0]
        )

        def callback(update):
            if update['action'] == PATCH:
                self.assertIsNone(
                    update['element']['properties'].get('project'))

        self._create_driver().process_updates(callback)

        self.assertTrue(cloudstack_mock.get_virtual_machine.called)
        self.assertTrue(cloudstack_mock.get_project.called)
        self.assertEqual(1, rabbit_client_mock.ack_message.call_count)
        self.assertEqual(0, rabbit_client_mock.nack_message.call_count)
示例#26
0
    def test_format_comp_unit(self):
        self._mock_cloudstack_service(None, None, None)
        self._mock_rabbitmq_client()
        vm = open_json('tests/json/vm.json')['virtualmachine'][0]
        project = open_json('tests/json/project.json')['project'][0]
        comp_unit = self._create_vm_update_handler()._create_comp_unit_document(project, vm)

        self.assertIsNotNone(comp_unit)
        self.assertEqual(
            '3018bdf1-4843-43b3-bdcf-ba1beb63c930', comp_unit['id'])
        self.assertEqual('vm_name', comp_unit['name'])
        self.assertEqual('globomap', comp_unit['provider'])
        self.assertIsNotNone(comp_unit['timestamp'])
        self.assertEqual(14, len(comp_unit['properties'].keys()))

        for property_key in comp_unit['properties'].keys():
            property_meta = comp_unit['properties_metadata'][property_key]
            self.assertIsNotNone(comp_unit['properties'][property_key])
            self.assertIsNotNone(property_meta)
            self.assertIsNotNone(property_meta['description'])
示例#27
0
    def test_send_updates_invalid_provider(self):
        rabbit_mock = self._mock_rabbitmq_client(True)
        updates = [open_json('tests/json/driver/driver_output_create.json')]
        updates[0]["element"]["provider"] = "globo.map"
        response = self.app.post('/v2/updates/',
                                 data=json.dumps(updates),
                                 headers={'Content-Type': 'application/json'})

        response_json = json.loads(response.data)
        self.assertEqual(400, response.status_code)
        self.assertEqual('Input payload validation failed',
                         response_json['message'])
示例#28
0
    def test_send_updates(self):
        rabbit_mock = self._mock_rabbitmq_client(True)
        updates = [open_json('tests/json/driver/driver_output_create.json')]
        response = self.app.post('/v2/updates/',
                                 data=json.dumps(updates),
                                 headers={'Content-Type': 'application/json'})

        response_json = json.loads(response.data)
        self.assertEqual(202, response.status_code)
        self.assertEqual('Updates published successfully',
                         response_json['message'])
        self.assertEqual(1, rabbit_mock.post_message.call_count)
    def test_data_spec_network_v6_comp_unit(self):
        """Test method network_comp_unit(v6) of DataSpec"""

        network = open_json('tests/json/data_spec/network_v6_comp_unit.json')
        data = DataSpec().network_comp_unit(network, 'EQPT1', 6)
        expected = {
            'from': 'network/napi_v6_2',
            'to': 'comp_unit/globomap_eqpt1',
            'id': 'v6_6',
            'provider': 'napi',
        }
        self.assertDictEqual(data, expected)
    def test_data_spec_vlan_network_v6(self):
        """Test method vlan_network(v6) of DataSpec"""

        network = open_json('tests/json/data_spec/network_v6.json')
        data = DataSpec().vlan_network(network)
        expected = {
            'from': 'vlan/napi_3',
            'to': 'network/napi_v6_1',
            'id': 'v6_1',
            'name': '31 - bebe:bebe:bebe:0000:0000:0000:0000:0000/64',
            'provider': 'napi',
        }
        self.assertDictEqual(data, expected)
示例#31
0
    def test_data_spec_port(self):
        """Test method port of DataSpec"""

        vip = open_json('tests/json/data_spec/port.json')
        data = DataSpec().port(vip, 1)
        expected = {
            'from': 'vip/napi_1',
            'to': 'pool/napi_1',
            'id': '1',
            'name': '8080',
            'provider': 'napi'
        }
        self.assertDictEqual(data, expected)
    def test_data_spec_port(self):
        """Test method port of DataSpec"""

        vip = open_json('tests/json/data_spec/port.json')
        data = DataSpec().port(vip, 1)
        expected = {
            'from': 'vip/napi_1',
            'to': 'pool/napi_1',
            'id': '1',
            'name': '8080',
            'provider': 'napi'
        }
        self.assertDictEqual(data, expected)
    def test_data_spec_network_v6_comp_unit(self):
        """Test method network_comp_unit(v6) of DataSpec"""

        network = open_json('tests/json/data_spec/network_v6_comp_unit.json')
        data = DataSpec().network_comp_unit(network, 'EQPT1', 6)
        expected = {
            'from': 'network/napi_v6_2',
            'to': 'comp_unit/globomap_eqpt1',
            'id': 'v6_6',
            'name': 'fdbe:bebe:bebe:bebe:0000:0000:0000:0001 - eqpt1',
            'provider': 'napi',
        }
        self.assertDictEqual(data, expected)
    def test_data_spec_network_v4_comp_unit(self):
        """Test method network_comp_unit(v4) of DataSpec"""

        network = open_json('tests/json/data_spec/network_v4_comp_unit.json')
        data = DataSpec().network_comp_unit(network, 'EQPT1', 8)
        expected = {
            'from': 'network/napi_v4_3',
            'to': 'comp_unit/globomap_eqpt1',
            'id': 'v4_8',
            'name': '10.0.0.5 - eqpt1',
            'provider': 'napi',
        }
        self.assertDictEqual(data, expected)
示例#35
0
    def test_data_spec_vlan_network_v6(self):
        """Test method vlan_network(v6) of DataSpec"""

        network = open_json('tests/json/data_spec/network_v6.json')
        data = DataSpec().vlan_network(network)
        expected = {
            'from': 'vlan/napi_3',
            'to': 'network/napi_v6_1',
            'id': 'v6_1',
            'name': '31 - bebe:bebe:bebe:0000:0000:0000:0000:0000/64',
            'provider': 'napi',
        }
        self.assertDictEqual(data, expected)
    def test_data_spec_network_v6_comp_unit_acs(self):
        """Test method network_comp_unit(v6) of DataSpec"""

        network = open_json('tests/json/data_spec/network_v6_comp_unit.json')
        data = DataSpec().network_comp_unit(
            network, 'vm-8f1d34c1-ab89-4ef7-9d9d-0d57c2b6547b', 6)
        expected = {
            'from': 'network/napi_v6_2',
            'to': 'comp_unit/globomap_8f1d34c1-ab89-4ef7-9d9d-0d57c2b6547b',
            'id': 'v6_6',
            'provider': 'napi',
        }
        self.assertDictEqual(data, expected)
示例#37
0
    def test_data_spec_vlan_network_v4(self):
        """Test method vlan_network(v4) of DataSpec"""

        network = open_json('tests/json/data_spec/network_v4.json')
        data = DataSpec().vlan_network(network)
        expected = {
            'from': 'vlan/napi_3',
            'to': 'network/napi_v4_1',
            'id': 'v4_1',
            'name': '31 - 10.0.0.0/24',
            'provider': 'napi',
        }
        self.assertDictEqual(data, expected)
        self.assertDictEqual(data, expected)
    def test_data_spec_vlan_network_v4(self):
        """Test method vlan_network(v4) of DataSpec"""

        network = open_json('tests/json/data_spec/network_v4.json')
        data = DataSpec().vlan_network(network)
        expected = {
            'from': 'vlan/napi_3',
            'to': 'network/napi_v4_1',
            'id': 'v4_1',
            'name': '31 - 10.0.0.0/24',
            'provider': 'napi',
        }
        self.assertDictEqual(data, expected)
        self.assertDictEqual(data, expected)
    def test_data_spec_father_environment(self):
        """Test method father_environment of DataSpec"""

        environment = open_json('tests/json/data_spec/environment.json')
        data = DataSpec().father_environment(environment)
        name = 'DIVISAO_DC_SPACE_2 - AMBIENTE_LOGICO_SPACE_2 - GRUPO_L3_SPACE_2 / ' \
            'DIVISAO_DC_YELLOW - AMBIENTE_LOGICO_YELLOW - GRUPO_L3_YELLOW'
        expected = {
            'from': 'environment/napi_7',
            'to': 'environment/napi_1',
            'id': '1',
            'name': name,
            'provider': 'napi'
        }
        self.assertDictEqual(data, expected)
    def test_data_spec_pool(self):
        """Test method pool of DataSpec"""

        pool = open_json('tests/json/data_spec/pool.json')
        data = DataSpec().pool(pool)
        expected = {
            'id': '1',
            'name': 'Pool_1',
            'provider': 'napi',
            'properties': [
                {
                    'key': 'default_port',
                    'value': 8080,
                    'description': 'Default Port of Pool'
                },
                {
                    'key': 'environment',
                    'value': 'DIVISAO_DC_POOL - AMBIENTE_LOGICO_POOL - GRUPO_L3_POOL',
                    'description': 'Environment of Pool'
                },
                {
                    'key': 'servicedownaction',
                    'value': 'none',
                    'description': 'Action On Service Down'
                },
                {
                    'key': 'healthcheck',
                    'value': 'TCP',
                    'description': 'Healthcheck Type'
                },
                {
                    'key': 'lb_method',
                    'value': 'least-conn',
                    'description': 'Method of Load Balancing'
                },
                {
                    'key': 'default_limit',
                    'value': 100,
                    'description': 'Limit of Connections'
                },
                {
                    'key': 'pool_created',
                    'value': True,
                    'description': 'Created in Load Balancer'
                }
            ]
        }
        self.assertDictEqual(data, expected)
    def test_data_spec_environment_vlan(self):
        """Test method environment_vlan of DataSpec"""

        vlan = open_json('tests/json/data_spec/vlan.json')
        data = DataSpec().environment_vlan(vlan)
        name = 'DIVISAO_DC_SPACE_2 - AMBIENTE_LOGICO_SPACE_2 - ' \
            'GRUPO_L3_SPACE_2 / 2'

        expected = {
            'from': 'environment/napi_3',
            'to': 'vlan/napi_1',
            'id': '1',
            'name': name,
            'provider': 'napi',
        }
        self.assertDictEqual(data, expected)
    def test_data_spec_environment(self):
        """Test method environment of DataSpec"""

        environment = open_json('tests/json/data_spec/environment.json')
        data = DataSpec().environment(environment)
        expected = {
            'id': '1',
            'name': 'DIVISAO_DC_SPACE_2 - AMBIENTE_LOGICO_SPACE_2 - GRUPO_L3_SPACE_2',
            'provider': 'napi',
            'properties': [
                {
                    'key': 'default_vrf',
                    'value': 'default',
                    'description': 'Default VRF'
                }
            ]
        }
        self.assertDictEqual(data, expected)
    def test_data_spec_pool_comp_unit(self):
        """Test method pool_comp_unit of DataSpec"""

        pool_comp_unit = open_json('tests/json/data_spec/pool_comp_unit.json')
        data = DataSpec().pool_comp_unit(pool_comp_unit, 1)
        expected = {
            'from': 'pool/napi_1',
            'to': 'comp_unit/globomap_serverspace1',
            'id': '1',
            'name': '10.0.0.2',
            'provider': 'napi',
            'properties': [
                {
                    'key': 'ip',
                    'value': u'10.0.0.2',
                    'description': 'IP'
                },
                {
                    'key': 'priority',
                    'value': 0,
                    'description': 'Priority'
                },
                {
                    'key': 'weight',
                    'value': 1,
                    'description': 'Weight'
                },
                {
                    'key': 'limit',
                    'value': 1000,
                    'description': 'Limit'
                },
                {
                    'key': 'port_real',
                    'value': 8080,
                    'description': 'Port'
                }
            ]
        }

        self.assertDictEqual(data, expected)
    def test_data_spec_network_v6(self):
        """Test method network(v6) of DataSpec"""

        network = open_json('tests/json/data_spec/network_v6.json')
        data = DataSpec().network(network)
        expected = {
            'id': 'v6_1',
            'name': 'bebe:bebe:bebe:0000:0000:0000:0000:0000/64',
            'provider': 'napi',
            'properties': [
                {
                    'key': 'active',
                    'value': False,
                    'description': 'Network Status'
                },
                {
                    'key': 'network_type',
                    'value': 'Point-to-Point',
                    'description': 'Network Type'
                }
            ]
        }
        self.assertDictEqual(data, expected)
 def _mock_networkv6(self):
     napi_mock = patch(
         'globomap_driver_napi.driver.NetworkAPI.get_network_ipv6_id').start()
     data = open_json('tests/json/messages/networkapi/get_networkv6.json')
     napi_mock.return_value = data['networks'][0]
 def _mock_vip(self):
     napi_mock = patch(
         'globomap_driver_napi.driver.NetworkAPI.get_vip').start()
     data = open_json('tests/json/driver/get_vip.json')
     napi_mock.return_value = data['vips'][0]
示例#47
0
 def _mock_pool_member_id(self):
     napi_mock = patch(
         'globomap_driver_napi.driver.NetworkAPI.get_pool_by_member_id').start()
     data = open_json('tests/json/driver/get_pool.json')
     napi_mock.return_value = data['server_pools'][0]
 def _open_message(self):
     data = open_json('tests/json/driver/queue_messages.json')
     return data
 def _mock_equipment(self):
     napi_mock = patch(
         'globomap_driver_napi.driver.NetworkAPI.get_equipment').start()
     data = open_json('tests/json/messages/networkapi/get_equipment.json')
     napi_mock.return_value = data['equipments'][0]
 def _mock_vip_by_portpool_id(self):
     napi_mock = patch(
         'globomap_driver_napi.driver.NetworkAPI.get_vip_by_portpool_id').start()
     data = open_json('tests/json/messages/networkapi/get_vip.json')
     napi_mock.return_value = data['vips'][0]
 def _mock_pool(self):
     napi_mock = patch(
         'globomap_driver_napi.driver.NetworkAPI.get_pool').start()
     data = open_json('tests/json/messages/networkapi/get_pool.json')
     napi_mock.return_value = data['server_pools'][0]
 def _update_message(self, file_name):
     data = open_json(file_name)
     return data