Merge "Fix arg k, m to be required"
This commit is contained in:
commit
f53a0d5700
@ -142,6 +142,12 @@ class ECDriver(object):
|
||||
self.ec_type = None
|
||||
self.chksum_type = None
|
||||
self.validate = False
|
||||
|
||||
for required in ('k', 'm'):
|
||||
if required not in kwargs:
|
||||
raise ECDriverError(
|
||||
"Invalid Argument: %s is required" % required)
|
||||
|
||||
for (key, value) in kwargs.items():
|
||||
if key == "k":
|
||||
try:
|
||||
|
@ -113,6 +113,34 @@ class TestPyECLibDriver(unittest.TestCase):
|
||||
def tearDown(self):
|
||||
pass
|
||||
|
||||
def test_invalid_km_args(self):
|
||||
for ec_type in VALID_EC_TYPES:
|
||||
# missing k
|
||||
with self.assertRaises(ECDriverError) as err_context:
|
||||
ECDriver(ec_type=ec_type, m=1)
|
||||
|
||||
self.assertEqual(str(err_context.exception),
|
||||
"Invalid Argument: k is required")
|
||||
|
||||
# missing m
|
||||
with self.assertRaises(ECDriverError) as err_context:
|
||||
ECDriver(ec_type=ec_type, k=1)
|
||||
|
||||
self.assertEqual(str(err_context.exception),
|
||||
"Invalid Argument: m is required")
|
||||
|
||||
with self.assertRaises(ECDriverError) as err_context:
|
||||
# m is smaller than 1
|
||||
ECDriver(ec_type=ec_type, k=-100, m=1)
|
||||
self.assertEqual(str(err_context.exception),
|
||||
"Invalid number of data fragments (k)")
|
||||
|
||||
with self.assertRaises(ECDriverError) as err_context:
|
||||
# m is smaller than 1
|
||||
ECDriver(ec_type=ec_type, k=1, m=-100)
|
||||
self.assertEqual(str(err_context.exception),
|
||||
"Invalid number of data fragments (m)")
|
||||
|
||||
def test_valid_ec_types(self):
|
||||
# Build list of available types and compare to VALID_EC_TYPES
|
||||
available_ec_types = []
|
||||
|
Loading…
x
Reference in New Issue
Block a user