diff --git a/unittest/error-interface-field.yaml b/unittest/error-schema-field1.yaml similarity index 100% rename from unittest/error-interface-field.yaml rename to unittest/error-schema-field1.yaml diff --git a/unittest/error-schema-field2.yaml b/unittest/error-schema-field2.yaml new file mode 100644 index 0000000..13fb41d --- /dev/null +++ b/unittest/error-schema-field2.yaml @@ -0,0 +1,18 @@ +test: + description: "A bunch of schema fields with the wrong type" + errors: + expected: + - "yamale: .* is not a " + count: 9 +--- +interfaces: + GigabitEthernet1/0/0: + description: 1234 + lcp: True + mac: "0001.0203.0405" + addresses: [ 1234, "hello world", 192.0.2.1, 2001:db8::1 ] + sub-interfaces: + 100: + description: [ "a", "list" ] + encapsulation: + dot1q: "hello world" diff --git a/validator/__init__.py b/validator/__init__.py index 4d741b6..e342764 100644 --- a/validator/__init__.py +++ b/validator/__init__.py @@ -33,6 +33,8 @@ class IPInterfaceWithPrefixLength(Validator): network = ipaddress.ip_interface(value) except: return False + if not isinstance(value, str): + return False if not '/' in value: return False e = value.split('/')