def test_connect_vnic_to_network(self):
        # arrange
        connect_command = VirtualSwitchConnectCommand(
            self.pv_service, self.dv_connector, self.dv_port_name_gen,
            self.vlan_spec_factory, self.vlan_id_range_parser, Mock())
        mapping = VmNetworkMapping()
        mapping.vnic_name = 'name'
        mapping.vlan_id = 'vlan_id'
        mapping.vlan_spec = 'trunc'
        mapping.dv_port_name = 'port_name'

        # act
        connect_results = connect_command.connect_to_networks(
            self.si, self.vm_uuid, [mapping], 'default_network')

        mapping.dv_switch_path = self.vcenter_context.default_dvswitch_path
        mapping.dv_switch_name = self.vcenter_context.default_dvswitch_name
        mapping.port_group_path = self.vcenter_context.default_port_group_path

        # assert
        self.assertTrue(
            self.vlan_id_range_parser.parse_vlan_id.called_with(self.vlan_id))
        self.assertTrue(
            self.dv_port_name_gen.generate_port_group_name.called_with(
                self.vlan_id))
        self.assertTrue(
            self.vlan_spec_factory.get_vlan_spec.called_with(self.spec_type))
        self.assertTrue(
            self.dv_connector.connect_by_mapping.called_with(
                self.si, self.vm, [mapping]))
        self.assertEqual(connect_results[0].mac_address, 'AA-BB')
    def test_connect_vnic_to_network(self):
        # arrange
        connect_command = VirtualSwitchConnectCommand(self.pv_service, self.dv_connector, self.dv_port_name_gen,
                                                      self.vlan_spec_factory, self.vlan_id_range_parser, Mock())
        mapping = VmNetworkMapping()
        mapping.vnic_name = 'name'
        mapping.vlan_id = 'vlan_id'
        mapping.vlan_spec = 'trunc'
        mapping.dv_port_name = 'port_name'

        # act
        connect_results = connect_command.connect_to_networks(self.si, self.vm_uuid, [mapping], 'default_network')

        mapping.dv_switch_path = self.vcenter_context.default_dvswitch_path
        mapping.dv_switch_name = self.vcenter_context.default_dvswitch_name
        mapping.port_group_path = self.vcenter_context.default_port_group_path

        # assert
        self.assertTrue(self.vlan_id_range_parser.parse_vlan_id.called_with(self.vlan_id))
        self.assertTrue(self.dv_port_name_gen.generate_port_group_name.called_with(self.vlan_id))
        self.assertTrue(self.vlan_spec_factory.get_vlan_spec.called_with(self.spec_type))
        self.assertTrue(self.dv_connector.connect_by_mapping.called_with(self.si, self.vm, [mapping]))
        self.assertEqual(connect_results[0].mac_address, 'AA-BB')