diff --git a/test/per_router/test_juniper_data.py b/test/per_router/test_juniper_data.py
index 7847e322edd15ba2e85e87836a6a37ffc1322467..c40f025ceae1c399d9ac74f1739497f12d746759 100644
--- a/test/per_router/test_juniper_data.py
+++ b/test/per_router/test_juniper_data.py
@@ -1,4 +1,5 @@
 import ast
+import netifaces
 import os
 
 import jsonschema
@@ -102,19 +103,29 @@ def test_bgp_list(netconf_doc):
 
 
 NETIFACES_TEST_DATA_STRING = """{
-    'lo0':  {2: [{'addr': '127.0.0.1', 'netmask': '255.0.0.0', 'peer': '127.0.0.1'}],
-             30: [{'addr': '::1', 'netmask': 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128', 'peer': '::1', 'flags': 0},
+    'lo0':  {{AF_INET}: [{'addr': '127.0.0.1', 'netmask': '255.0.0.0', 'peer': '127.0.0.1'}],
+             {AF_INET6}: [{'addr': '::1', 'netmask': 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128', 'peer': '::1', 'flags': 0},
                  {'addr': 'fe80::1%lo0', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 0}]},
-    'eth0': {18: [{'addr': '78:4f:43:76:73:ba'}],
-             2: [{'addr': '83.97.92.239', 'netmask': '255.255.252.0', 'broadcast': '83.97.95.255'}],
-             30: [{'addr': 'fe80::250:56ff:fea1:8340', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 1024},
+    'eth0': {{AF_LINK}: [{'addr': '78:4f:43:76:73:ba'}],
+             {AF_INET}: [{'addr': '83.97.92.239', 'netmask': '255.255.252.0', 'broadcast': '83.97.95.255'}],
+             {AF_INET6}: [{'addr': 'fe80::250:56ff:fea1:8340', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 1024},
                  {'addr': '2001:798:3::104', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 1088}]}
 }"""  # noqa E501
 
-NETIFACES_TEST_DATA = ast.literal_eval(NETIFACES_TEST_DATA_STRING)
 
-
-def test_snmp_community_string(mocker, netconf_doc):
-    mocker.patch('netifaces.interfaces', lambda: NETIFACES_TEST_DATA.keys())
-    mocker.patch('netifaces.ifaddresses', lambda n: NETIFACES_TEST_DATA[n])
+@pytest.fixture
+def mocked_netifaces(mocker):
+    s = NETIFACES_TEST_DATA_STRING
+    for k, v in {
+                'AF_INET': netifaces.AF_INET,
+                'AF_INET6': netifaces.AF_INET6,
+                'AF_LINK': netifaces.AF_LINK
+            }.items():
+        s = s.replace('{%s}' % k, str(v))
+    data = ast.literal_eval(s)
+    mocker.patch('netifaces.interfaces', lambda: data.keys())
+    mocker.patch('netifaces.ifaddresses', lambda n: data[n])
+
+
+def test_snmp_community_string(mocked_netifaces, netconf_doc):
     assert juniper.snmp_community_string(netconf_doc) == '0pBiFbD'
diff --git a/test/test_juniper_data_global.py b/test/test_juniper_data_global.py
index 74454f003e531ee2070a99c52cd3860997978355..accb5d6f43bec6b39ef8b3bd1465c502d82cdb04 100644
--- a/test/test_juniper_data_global.py
+++ b/test/test_juniper_data_global.py
@@ -2,60 +2,70 @@ import ast
 import netifaces
 import ipaddress
 
+import pytest
+
 from inventory_provider import juniper
 
 NETIFACES_TEST_DATA_STRING = """{
-    'lo0': {2: [{'addr': '127.0.0.1', 'netmask': '255.0.0.0', 'peer': '127.0.0.1'}],
-            30: [{'addr': '::1', 'netmask': 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128', 'peer': '::1', 'flags': 0},
+    'lo0': {{AF_INET}: [{'addr': '127.0.0.1', 'netmask': '255.0.0.0', 'peer': '127.0.0.1'}],
+            {AF_INET6}: [{'addr': '::1', 'netmask': 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128', 'peer': '::1', 'flags': 0},
                  {'addr': 'fe80::1%lo0', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 0}]},
     'gif0': {},
     'stf0': {},
     'XHC20': {},
     'XHC4': {},
     'XHC3': {},
-    'en3': {18: [{'addr': 'b6:00:24:b9:f0:01'}]},
-    'en8': {18: [{'addr': 'b6:00:24:b9:f0:00'}]},
-    'en4': {18: [{'addr': 'b6:00:24:b9:f0:05'}]},
-    'en9': {18: [{'addr': 'b6:00:24:b9:f0:04'}]},
-    'en0': {18: [{'addr': '78:4f:43:76:73:ba'}],
-            2: [{'addr': '195.169.24.149', 'netmask': '255.255.255.128', 'broadcast': '195.169.24.255'}],
-            30: [{'addr': 'fe80::1c97:ec77:3f32:cdfe%en0', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 1024},
+    'en3': {{AF_LINK}: [{'addr': 'b6:00:24:b9:f0:01'}]},
+    'en8': {{AF_LINK}: [{'addr': 'b6:00:24:b9:f0:00'}]},
+    'en4': {{AF_LINK}: [{'addr': 'b6:00:24:b9:f0:05'}]},
+    'en9': {{AF_LINK}: [{'addr': 'b6:00:24:b9:f0:04'}]},
+    'en0': {{AF_LINK}: [{'addr': '78:4f:43:76:73:ba'}],
+            {AF_INET}: [{'addr': '195.169.24.149', 'netmask': '255.255.255.128', 'broadcast': '195.169.24.255'}],
+            {AF_INET6}: [{'addr': 'fe80::1c97:ec77:3f3{AF_INET}:cdfe%en0', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 1024},
                  {'addr': '2001:610:9d8:4:4d7:f763:9815:e78d', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 1088},
-                 {'addr': '2001:610:9d8:4:492e:61b6:2c92:c387', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 192}]},
-    'p2p0': {18: [{'addr': '0a:4f:43:76:73:ba'}]},
-    'awdl0': {18: [{'addr': '8e:87:e3:bb:92:1f'}],
-              30: [{'addr': 'fe80::8c87:e3ff:febb:921f%awdl0', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 0}]},
-    'bridge0': {18: [{'addr': 'b6:00:24:b9:f0:01'}]},
-    'utun0': {30: [{'addr': 'fe80::8328:d0ef:52b4:d379%utun0', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 0}]},
-    'utun1': {30: [{'addr': 'fe80::5a75:c789:2fa0:6ee4%utun1', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 0}]},
+                 {'addr': '2001:610:9d8:4:492e:61b6:2c9{AF_INET}:c387', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 192}]},
+    'p2p0': {{AF_LINK}: [{'addr': '0a:4f:43:76:73:ba'}]},
+    'awdl0': {{AF_LINK}: [{'addr': '8e:87:e3:bb:9{AF_INET}:1f'}],
+              {AF_INET6}: [{'addr': 'fe80::8c87:e3ff:febb:921f%awdl0', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 0}]},
+    'bridge0': {{AF_LINK}: [{'addr': 'b6:00:24:b9:f0:01'}]},
+    'utun0': {{AF_INET6}: [{'addr': 'fe80::8328:d0ef:52b4:d379%utun0', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 0}]},
+    'utun1': {{AF_INET6}: [{'addr': 'fe80::5a75:c789:2fa0:6ee4%utun1', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 0}]},
     'XHC0': {},
     'XHC1': {},
     'XHC2': {},
-    'en21': {18: [{'addr': '64:4b:f0:10:23:25'}],
-             2: [{'addr': '195.169.24.170', 'netmask': '255.255.255.128', 'broadcast': '195.169.24.255'}],
-             30: [{'addr': 'fe80::41c:798c:3fff:f8c9%en21', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 1024},
-                  {'addr': '2001:610:9d8:4:c1e:4402:e7cf:547f', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 1088},
-                  {'addr': '2001:610:9d8:4:911c:954d:d4e2:baef', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 192}]},
-    'en5': {18: [{'addr': 'ac:de:48:00:11:22'}],
-            30: [{'addr': 'fe80::aede:48ff:fe00:1122%en5', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 0}]},
-    'en18': {18: [{'addr': 'ca:3c:85:86:34:2a'}], 2: [{'addr': '169.254.184.83', 'netmask': '255.255.0.0'}]},
+    'en21': {{AF_LINK}: [{'addr': '64:4b:f0:10:23:25'}],
+             {AF_INET}: [{'addr': '195.169.24.170', 'netmask': '255.255.255.128', 'broadcast': '195.169.24.255'}],
+             {AF_INET6}: [{'addr': 'fe80::41c:798c:3fff:f8c9%en21', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 1024},
+                  {'addr': '2001:610:9d8:4:c1e:440{AF_INET}:e7cf:547f', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 1088},
+                  {'addr': '2001:610:9d8:4:911c:954d:d4e{AF_INET}:baef', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 192}]},
+    'en5': {{AF_LINK}: [{'addr': 'ac:de:48:00:11:22'}],
+            {AF_INET6}: [{'addr': 'fe80::aede:48ff:fe00:1122%en5', 'netmask': 'ffff:ffff:ffff:ffff::/64', 'flags': 0}]},
+    'en18': {{AF_LINK}: [{'addr': 'ca:3c:85:86:34:2a'}], {AF_INET}: [{'addr': '169.254.184.83', 'netmask': '255.255.0.0'}]},
 }"""  # noqa: E501
 
-NETIFACES_TEST_DATA = ast.literal_eval(NETIFACES_TEST_DATA_STRING)
+
+@pytest.fixture
+def mocked_netifaces(mocker):
+    s = NETIFACES_TEST_DATA_STRING
+    for k, v in {
+                'AF_INET': netifaces.AF_INET,
+                'AF_INET6': netifaces.AF_INET6,
+                'AF_LINK': netifaces.AF_LINK
+            }.items():
+        s = s.replace('{%s}' % k, str(v))
+    data = ast.literal_eval(s)
+    mocker.patch('netifaces.interfaces', lambda: data.keys())
+    mocker.patch('netifaces.ifaddresses', lambda n: data[n])
 
 
-def test_local_v4_interfaces(mocker):
-    mocker.patch('netifaces.interfaces', lambda: NETIFACES_TEST_DATA.keys())
-    mocker.patch('netifaces.ifaddresses', lambda n: NETIFACES_TEST_DATA[n])
+def test_local_v4_interfaces(mocked_netifaces):
     addresses = list(juniper.local_interfaces())
     assert len(addresses) == 3
     for a in addresses:
         assert isinstance(a, ipaddress.IPv4Interface)
 
 
-def test_local_v6_interfaces(mocker):
-    mocker.patch('netifaces.interfaces', lambda: NETIFACES_TEST_DATA.keys())
-    mocker.patch('netifaces.ifaddresses', lambda n: NETIFACES_TEST_DATA[n])
+def test_local_v6_interfaces(mocked_netifaces):
     addresses = list(juniper.local_interfaces(netifaces.AF_INET6))
     assert len(addresses) == 4
     for a in addresses: