summaryrefslogtreecommitdiffstats
path: root/netaddr/tests/eui/test_ieee_parsers.py
diff options
context:
space:
mode:
Diffstat (limited to 'netaddr/tests/eui/test_ieee_parsers.py')
-rw-r--r--netaddr/tests/eui/test_ieee_parsers.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/netaddr/tests/eui/test_ieee_parsers.py b/netaddr/tests/eui/test_ieee_parsers.py
new file mode 100644
index 0000000..69dc014
--- /dev/null
+++ b/netaddr/tests/eui/test_ieee_parsers.py
@@ -0,0 +1,51 @@
+import contextlib
+import sys
+
+import pytest
+
+from netaddr.compat import _open_binary
+from netaddr.eui.ieee import OUIIndexParser, IABIndexParser, FileIndexer
+
+
+@pytest.mark.skipif(sys.version_info > (3,), reason="requires python 2.x")
+def test_oui_parser_py2():
+ from cStringIO import StringIO
+ outfile = StringIO()
+ with contextlib.closing(_open_binary(__package__, 'sample_oui.txt')) as infile:
+ iab_parser = OUIIndexParser(infile)
+ iab_parser.attach(FileIndexer(outfile))
+ iab_parser.parse()
+ assert outfile.getvalue() == '51966,1,138\n'
+
+
+@pytest.mark.skipif(sys.version_info > (3,), reason="requires python 2.x")
+def test_iab_parser_py2():
+ from cStringIO import StringIO
+ outfile = StringIO()
+ with contextlib.closing(_open_binary(__package__, 'sample_iab.txt')) as infile:
+ iab_parser = IABIndexParser(infile)
+ iab_parser.attach(FileIndexer(outfile))
+ iab_parser.parse()
+ assert outfile.getvalue() == '84683452,1,181\n'
+
+
+@pytest.mark.skipif(sys.version_info < (3,), reason="requires python 3.x")
+def test_oui_parser_py3():
+ from io import StringIO
+ outfile = StringIO()
+ with contextlib.closing(_open_binary(__package__, 'sample_oui.txt')) as infile:
+ iab_parser = OUIIndexParser(infile)
+ iab_parser.attach(FileIndexer(outfile))
+ iab_parser.parse()
+ assert outfile.getvalue() == '51966,1,138\n'
+
+
+@pytest.mark.skipif(sys.version_info < (3,), reason="requires python 3.x")
+def test_iab_parser_py3():
+ from io import StringIO
+ outfile = StringIO()
+ with contextlib.closing(_open_binary(__package__, 'sample_iab.txt')) as infile:
+ iab_parser = IABIndexParser(infile)
+ iab_parser.attach(FileIndexer(outfile))
+ iab_parser.parse()
+ assert outfile.getvalue() == '84683452,1,181\n'