def test_config_with_vlans(self): """Tests the config with tagged and native vlans""" vlan100 = MockVLAN('v100') vlan200 = MockVLAN('v200') vlan300 = MockVLAN('v300') tagged_vlans = [vlan200, vlan300] native_vlan = vlan100 port_number = 1 port_key = 'port_1' input_config = {'number': port_number} output_config = { 'description': str(port_key), 'number': port_number, 'native_vlan': vlan100.name, 'tagged_vlans': [vlan200.name, vlan300.name] } expected_config = self.default_config expected_config.update(input_config) expected_config.update(output_config) port = Port(port_key, 1, input_config) port.native_vlan = native_vlan port.tagged_vlans = tagged_vlans output_config = port.to_conf() self.assertEqual(output_config, expected_config)
def test_vlans(self): """Test that the vlans() method behaves correctly""" vlan100 = MockVLAN('v100') vlan200 = MockVLAN('v200') vlan300 = MockVLAN('v300') tagged_vlans = [vlan200, vlan300] native_vlan = vlan100 port = Port(1, 1, {}) port.native_vlan = native_vlan self.assertEqual(port.vlans(), [native_vlan]) port.tagged_vlans = tagged_vlans self.assertEqual(set(port.vlans()), set([native_vlan] + tagged_vlans)) port.native_vlan = None self.assertEqual(set(port.vlans()), set(tagged_vlans))
def test_vlans(self): """Test that the vlans() method behaves correctly""" vlan100 = MockVLAN('v100') vlan200 = MockVLAN('v200') vlan300 = MockVLAN('v300') tagged_vlans = [vlan200, vlan300] native_vlan = vlan100 port = Port(1, 1, {}) port.native_vlan = native_vlan self.assertIn(native_vlan, port.vlans()) port.tagged_vlans = tagged_vlans self.assertEqual(set(port.vlans()), set([native_vlan] + tagged_vlans)) port.native_vlan = None self.assertEqual(set(port.vlans()), set(tagged_vlans))
def _dp_parse_port(dp_id, p_identifier, port_conf, vlans): port = Port(p_identifier, dp_id, port_conf) if port.native_vlan is not None: v_identifier = port.native_vlan vlan = _get_vlan_by_identifier(dp_id, v_identifier, vlans) port.native_vlan = vlan vlan.add_untagged(port) port_tagged_vlans = [ _get_vlan_by_identifier(dp_id, v_identifier, vlans) for v_identifier in port.tagged_vlans] port.tagged_vlans = port_tagged_vlans for vlan in port.tagged_vlans: vlan.add_tagged(port) return port