Merge "Fix arg k, m to be required"
This commit is contained in:
@@ -142,6 +142,12 @@ class ECDriver(object):
|
|||||||
self.ec_type = None
|
self.ec_type = None
|
||||||
self.chksum_type = None
|
self.chksum_type = None
|
||||||
self.validate = False
|
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():
|
for (key, value) in kwargs.items():
|
||||||
if key == "k":
|
if key == "k":
|
||||||
try:
|
try:
|
||||||
|
@@ -113,6 +113,34 @@ class TestPyECLibDriver(unittest.TestCase):
|
|||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
pass
|
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):
|
def test_valid_ec_types(self):
|
||||||
# Build list of available types and compare to VALID_EC_TYPES
|
# Build list of available types and compare to VALID_EC_TYPES
|
||||||
available_ec_types = []
|
available_ec_types = []
|
||||||
|
Reference in New Issue
Block a user