Add unit tests for bridgedomain - move is_bridge_interface*() functions to validator/bridgedomain.py
This commit is contained in:
		| @@ -31,6 +31,32 @@ def get_by_name(yaml, ifname): | ||||
|     return None | ||||
|  | ||||
|  | ||||
| def get_bridge_interfaces(yaml): | ||||
|     """ Returns a list of all interfaces that are bridgedomain members """ | ||||
|  | ||||
|     ret = [] | ||||
|     if not 'bridgedomains' in yaml: | ||||
|         return ret | ||||
|  | ||||
|     for ifname, iface in yaml['bridgedomains'].items(): | ||||
|         if 'interfaces' in iface: | ||||
|             ret.extend(iface['interfaces']) | ||||
|  | ||||
|     return ret | ||||
|  | ||||
| def is_bridge_interface_unique(yaml, ifname): | ||||
|     """ Returns True if this interface is referenced in bridgedomains zero or one times """ | ||||
|  | ||||
|     ifs = get_bridge_interfaces(yaml) | ||||
|     return ifs.count(ifname) < 2 | ||||
|  | ||||
|  | ||||
| def is_bridge_interface(yaml, ifname): | ||||
|     """ Returns True if this interface is a member of a BridgeDomain """ | ||||
|  | ||||
|     return ifname in get_bridge_interfaces(yaml) | ||||
|  | ||||
|  | ||||
| def validate_bridgedomains(yaml): | ||||
|     result = True | ||||
|     msgs = [] | ||||
| @@ -66,7 +92,7 @@ def validate_bridgedomains(yaml): | ||||
|                     result = False | ||||
|                     continue | ||||
|  | ||||
|                 if not interface.is_bridge_interface_unique(yaml, member): | ||||
|                 if not is_bridge_interface_unique(yaml, member): | ||||
|                     msgs.append("bridgedomain %s member %s is not unique" % (ifname, member)) | ||||
|                     result = False | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user