aboutsummaryrefslogtreecommitdiffstats
path: root/python-packages/order_utils/test
diff options
context:
space:
mode:
Diffstat (limited to 'python-packages/order_utils/test')
-rw-r--r--python-packages/order_utils/test/test_abi_utils.py53
-rw-r--r--python-packages/order_utils/test/test_asset_data_utils.py35
-rw-r--r--python-packages/order_utils/test/test_doctest.py22
-rw-r--r--python-packages/order_utils/test/test_signature_utils.py8
4 files changed, 106 insertions, 12 deletions
diff --git a/python-packages/order_utils/test/test_abi_utils.py b/python-packages/order_utils/test/test_abi_utils.py
new file mode 100644
index 000000000..49a2a4f20
--- /dev/null
+++ b/python-packages/order_utils/test/test_abi_utils.py
@@ -0,0 +1,53 @@
+"""Tests of 0x.abi_utils."""
+
+import pytest
+
+from zero_ex.dev_utils.abi_utils import (
+ elementary_name,
+ event_id,
+ method_id,
+ parse_signature,
+ simple_encode,
+)
+
+
+def test_parse_signature_type_error():
+ """Test that passing in wrong types raises TypeError."""
+ with pytest.raises(TypeError):
+ parse_signature(123)
+
+
+def test_parse_signature_bad_input():
+ """Test that passing a non-signature string raises a ValueError."""
+ with pytest.raises(ValueError):
+ parse_signature("a string that's not even close to a signature")
+
+
+def test_elementary_name_type_error():
+ """Test that passing in wrong types raises TypeError."""
+ with pytest.raises(TypeError):
+ elementary_name(123)
+
+
+def test_event_id_type_error():
+ """Test that passing in wrong types raises TypeError."""
+ with pytest.raises(TypeError):
+ event_id(123, [])
+
+ with pytest.raises(TypeError):
+ event_id("valid string", 123)
+
+
+def test_method_id_type_error():
+ """Test that passing in wrong types raises TypeError."""
+ with pytest.raises(TypeError):
+ method_id(123, [])
+
+ with pytest.raises(TypeError):
+ method_id("ERC20Token", 123)
+
+
+def test_simple_encode_type_error():
+ """Test that passing in wrong types raises TypeError."""
+ with pytest.raises(TypeError):
+ simple_encode(123)
diff --git a/python-packages/order_utils/test/test_asset_data_utils.py b/python-packages/order_utils/test/test_asset_data_utils.py
new file mode 100644
index 000000000..eeada5873
--- /dev/null
+++ b/python-packages/order_utils/test/test_asset_data_utils.py
@@ -0,0 +1,35 @@
+"""Tests of 0x.order_utils.asset_data_utils."""
+
+import pytest
+
+from zero_ex.order_utils.asset_data_utils import (
+ encode_erc20_asset_data,
+ decode_erc20_asset_data,
+ ERC20_ASSET_DATA_BYTE_LENGTH,
+)
+
+
+def test_encode_erc20_asset_data_type_error():
+ """Test that passing in a non-string raises a TypeError."""
+ with pytest.raises(TypeError):
+ encode_erc20_asset_data(123)
+
+
+def test_decode_erc20_asset_data_type_error():
+ """Test that passing in a non-string raises a TypeError."""
+ with pytest.raises(TypeError):
+ decode_erc20_asset_data(123)
+
+
+def test_decode_erc20_asset_data_too_short():
+ """Test that passing an insufficiently long string raises a ValueError."""
+ with pytest.raises(ValueError):
+ decode_erc20_asset_data(" " * (ERC20_ASSET_DATA_BYTE_LENGTH - 1))
+
+
+def test_decode_erc20_asset_data_invalid_proxy_id():
+ """Test that passing data with an invalid proxy ID raises a ValueError."""
+ with pytest.raises(ValueError):
+ decode_erc20_asset_data(
+ "0xffffffff" + (" " * ERC20_ASSET_DATA_BYTE_LENGTH)
+ )
diff --git a/python-packages/order_utils/test/test_doctest.py b/python-packages/order_utils/test/test_doctest.py
index a0e61f84a..ba5da5418 100644
--- a/python-packages/order_utils/test/test_doctest.py
+++ b/python-packages/order_utils/test/test_doctest.py
@@ -1,10 +1,24 @@
"""Exercise doctests for order_utils module."""
from doctest import testmod
-from zero_ex.order_utils import signature_utils
+from zero_ex.dev_utils import abi_utils, type_assertions
+from zero_ex.order_utils import asset_data_utils
-def test_doctest():
- """Invoke doctest on the module."""
- (failure_count, _) = testmod(signature_utils)
+
+def test_doctest_asset_data_utils():
+ """Invoke doctest on the asset_data_utils module."""
+ (failure_count, _) = testmod(asset_data_utils)
+ assert failure_count == 0
+
+
+def test_doctest_abi_utils():
+ """Invoke doctest on the abi_utils module."""
+ (failure_count, _) = testmod(abi_utils)
+ assert failure_count == 0
+
+
+def test_doctest_type_assertions():
+ """Invoke doctest on the type_assertions module."""
+ (failure_count, _) = testmod(type_assertions)
assert failure_count == 0
diff --git a/python-packages/order_utils/test/test_signature_utils.py b/python-packages/order_utils/test/test_signature_utils.py
deleted file mode 100644
index 7e830f9f8..000000000
--- a/python-packages/order_utils/test/test_signature_utils.py
+++ /dev/null
@@ -1,8 +0,0 @@
-"""Tests of 0x.order_utils.signature_utils.*."""
-
-from zero_ex.order_utils.signature_utils import ec_sign_order_hash
-
-
-def test_ec_sign_order_hash():
- """Test the signing of order hashes."""
- assert ec_sign_order_hash() == "stub return value"