Skip to content
This repository was archived by the owner on Oct 30, 2018. It is now read-only.

Commit 8bb456d

Browse files
committed
exception.py: added unit tests.
1 parent a25072c commit 8bb456d

1 file changed

Lines changed: 103 additions & 0 deletions

File tree

tests/unit/exception_test.py

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
# -*- coding: utf-8 -*-
2+
"""Test cases for the storj.exception module."""
3+
4+
from .. import AbstractTestCase
5+
6+
from storj.exception import \
7+
BridgeError, \
8+
ClientError, \
9+
FarmerError, \
10+
HashMismatchError, \
11+
SuppliedTokenNotAcceptedError
12+
13+
14+
class BridgeErrorTestCase(AbstractTestCase):
15+
"""Test case for the BridgeError."""
16+
17+
@staticmethod
18+
def assertBridgeError(error, code, message):
19+
"""Assert BridgeError expected conditions.
20+
21+
Args:
22+
error (:py:class:`storj.exception.BridgeError`): result.
23+
code (int): expected error code.
24+
message (str): expected error message.
25+
"""
26+
27+
assert code == error.code
28+
assert message == error.message
29+
assert '[%d] %s' % (code, message) == str(error)
30+
31+
def test(self):
32+
expected_code = 0
33+
expected_message = 'error'
34+
error = BridgeError(expected_code, expected_message)
35+
36+
self.assertBridgeError(error, expected_code, expected_message)
37+
38+
39+
class ClientErrorTestCase(AbstractTestCase):
40+
"""Test case for the ClientError."""
41+
42+
@staticmethod
43+
def assertClientError(error, message):
44+
"""Assert ClientError expected conditions.
45+
46+
Args:
47+
error (:py:class:`storj.exception.BridgeError`): result.
48+
message (str): expected error message.
49+
"""
50+
51+
assert message == error.message
52+
assert message == str(error)
53+
54+
def test(self):
55+
expected = 'error'
56+
error = ClientError(expected)
57+
58+
self.assertClientError(error, expected)
59+
60+
61+
class FarmerErrorTestCase(AbstractTestCase):
62+
"""Test case for the FarmerError."""
63+
64+
@staticmethod
65+
def assertFarmerError(error, code, message):
66+
"""Assert FarmerError expected conditions.
67+
68+
Args:
69+
error (:py:class:`storj.exception.FarmerError`): result.
70+
code (int): expected error code.
71+
message (str): expected error message.
72+
"""
73+
74+
assert code == error.code
75+
assert message == error.message
76+
assert '[%d] %s' % (code, message) == str(error)
77+
78+
def test(self):
79+
expected_code = 0
80+
expected_message = 'error'
81+
error = FarmerError(expected_code, expected_message)
82+
83+
self.assertFarmerError(error, expected_code, expected_message)
84+
85+
86+
class HashMismatchErrorErrorTestCase(FarmerErrorTestCase):
87+
"""Test case for the HashMismatchError."""
88+
89+
def test(self):
90+
expected = ''
91+
error = HashMismatchError()
92+
93+
self.assertFarmerError(error, HashMismatchError.CODE, expected)
94+
95+
96+
class SuppliedTokenNotAcceptedErrorTestCase(FarmerErrorTestCase):
97+
"""Test case for the SuppliedTokenNotAcceptedError."""
98+
99+
def test(self):
100+
expected = ''
101+
error = SuppliedTokenNotAcceptedError()
102+
103+
self.assertFarmerError(error, SuppliedTokenNotAcceptedError.CODE, expected)

0 commit comments

Comments
 (0)