Skip to content
Snippets Groups Projects
Commit f32e6405 authored by Erik Reid's avatar Erik Reid
Browse files

added interface list to peer-info response schema

parent c9fa189a
No related branches found
No related tags found
No related merge requests found
......@@ -23,10 +23,10 @@ def test_trap_metadata(client_with_mocked_data):
VPN_RR_PEER_INFO_KEYS = {'vpn-rr-peer-info'}
IX_PUBLIC_PEER_INFO_KEYS = {'ix-public-peer-info', 'ix-public-peer-group'}
IX_PUBLIC_PEER_INFO_KEYS = {'ix-public-peer-info', 'ix-public-peer-group', 'interfaces'}
@pytest.mark.parametrize("peer_address,expected_response_keys", [
@pytest.mark.parametrize('peer_address,expected_response_keys', [
('109.105.110.54', VPN_RR_PEER_INFO_KEYS),
('2001:07f8:001c:024a:0000:0000:316e:0001', IX_PUBLIC_PEER_INFO_KEYS),
('2001:07f8:000b:0100:01d1:a5d1:0310:0029', IX_PUBLIC_PEER_INFO_KEYS),
......@@ -47,6 +47,13 @@ def test_peer_info(
{"pattern": r'^([a-f\d]{4}:){7}[a-f\d]{4}$'}
]
},
"interface-address": {
"type": "string",
"oneOf": [
{"pattern": r'^(\d+\.){3}\d+/\d+$'},
{"pattern": r'^[a-f\d:]+/\d+$'}
]
},
"vpn-rr-peer": {
"type": "object",
"properties": {
......@@ -81,15 +88,30 @@ def test_peer_info(
"type": "array",
"items": {"$ref": "#/definitions/ip-address"}
},
"interface-info": {
"type": "object",
"properties": {
"name": {"$ref": "#/definitions/ip-address"},
"interface address": {"$ref": "#/definitions/interface-address"},
"interface name": {"type": "string"},
"router": {"type": "string"}
},
"required": ["name", "interface address", "interface name", "router"],
"additionalProperties": False
}
},
},
"type": "object",
"properties": {
"ix-public-peer-info": {"$ref": "#/definitions/ix-public-peer"},
"ix-public-peer-group": {
"$ref": "#/definitions/ix-public-peer-group"},
"vpn-rr-peer-info": {"$ref": "#/definitions/vpn-rr-peer"}
"vpn-rr-peer-info": {"$ref": "#/definitions/vpn-rr-peer"},
"interfaces": {
"type": "array",
"items": {"$ref": "#/definitions/interface-info"}
}
},
"additionalProperties": False
}
......@@ -102,6 +124,7 @@ def test_peer_info(
response_data = json.loads(rv.data.decode('utf-8'))
jsonschema.validate(response_data, response_schema)
assert set(response_data.keys()) == expected_response_keys
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment