diff --git a/dataserv/Farmer.py b/dataserv/Farmer.py index 5a7ef87..079e99a 100644 --- a/dataserv/Farmer.py +++ b/dataserv/Farmer.py @@ -56,7 +56,7 @@ def validate(self): if not self.is_btc_address(): raise ValueError("Invalid BTC Address.") elif self.exists(): - raise ValueError("Address Already Is Registered.") + raise LookupError("Address Already Is Registered.") def register(self): """Add the farmer to the database.""" diff --git a/dataserv/app.py b/dataserv/app.py index cbb8511..9aca2b1 100644 --- a/dataserv/app.py +++ b/dataserv/app.py @@ -17,16 +17,16 @@ def register(btc_addr): # create Farmer object to represent user user = Farmer(btc_addr) + # error template + error_msg = "Registration Failed: {0}" + # attempt to register the farmer/farming address try: user.register() return make_response("User registered.", 200) except ValueError as e: - error_msg = "Registration Failed: {0}" - - if str(e) == "Invalid BTC Address.": return make_response(error_msg.format(e), 400) - elif str(e) == "Address Already Is Registered.": + except LookupError as e: return make_response(error_msg.format(e), 409) diff --git a/tests/test_Farmer.py b/tests/test_Farmer.py index e46716b..17629b0 100644 --- a/tests/test_Farmer.py +++ b/tests/test_Farmer.py @@ -41,7 +41,7 @@ def test_register(self): self.assertTrue(farmer1.exists()) # test duplicate - self.assertRaises(ValueError, farmer1.register) + self.assertRaises(LookupError, farmer1.register) # these should not be inserted self.assertRaises(ValueError, farmer2.register)