@app.errorhandler(403) def forbidden(error=None): apiFace = Face(appStats,'401 Error',request.method,'user is not allowed to access the resource') return apiFace.response(appStats,"Error",'403') @app.errorhandler(404) def not_found(error=None): apiFace = Face(appStats,'404 Error',request.method,'URL not found') links = [] for rule in app.url_map.iter_rules(): if rule.endpoint != 'static': links.append(rule.endpoint) return apiFace.response(appStats,'401 Error',apiFace.listToJson(sorted(links))) @app.errorhandler(405) def wrong_method(error=None): apiFace = Face(appStats,'405 Error',request.method,'request type not allowed') return apiFace.response(appStats,"Error",'405') @app.errorhandler(500) def runtime_error(error=None): apiFace = Face(appStats,'500 Error',request.method,'python runtime error encountered, see server output') return apiFace.response(appStats,"Error",'500') if __name__ == '__main__': libs.add('TableFib','limited recursion with simple storage') libs.add('LoopFib','For-loop addition with simple storage') libs.add('GoldFib','Approximation using the Golden Ratio') app.run(host='0.0.0.0', debug=True) #app.run(host='0.0.0.0')
class TestUserLib(unittest.TestCase): def setUp(self): self.userLib = UserLib() def test_add1(self): self.userLib.add('one','two') self.assertEqual(self.userLib.list(),{'one':'two'}) def test_add2(self): self.userLib.add('one','two') self.userLib.add('three','four') self.assertEqual(self.userLib.list(),{'one':'two','three':'four'}) def test_addDuplicate(self): self.userLib.add('one','two') self.assertRaises(ValueError,self.userLib.add,'one','five') def test_delete(self): self.userLib.add('one','two') self.userLib.add('three','four') self.userLib.delete('one') self.assertEqual(self.userLib.list(),{'three':'four'}) def test_badDelete(self): self.userLib.add('three','four') self.assertRaises(ValueError,self.userLib.delete,'deleteMe') def test_update(self): self.userLib.add('three','four') self.userLib.update('three','funkiness reigns') self.assertEqual(self.userLib.list(),{'three':'funkiness reigns'}) def test_badUpdate(self): self.userLib.add('three','four') self.assertRaises(ValueError,self.userLib.update,'foo','bar')