def test_update_without_default_schema(): custom = Custom.Custom() copy = dict(TEST_CUSTOM_DATA) copy.update( {"custom_schema": { "test_field": "this is not a supported data type" }}) res = custom.update(copy) assert res is None
def test_update_invalid_data_types(): custom = Custom.Custom() copy = dict(TEST_CUSTOM_DATA) copy.update({ "custom_schema": { "name": "text", "description": "number", "test_field": "this is not a supported data type" } }) res = custom.update(copy) assert res is None
def test_update(): custom = Custom.Custom() copy = dict(TEST_CUSTOM_DATA) copy.update({ "custom_schema": { "name": "text", "description": "number", "test_field": "text" } }) res = custom.update(copy) assert res is not None
def call_api(func_name): try: if func_name not in ENDPOINTS: message = "No such endpoint " + "'" + func_name + "'" return make_response({"message": message}, 404) model = Custom.Custom() # GET requests have no request bodies, so we must get data from the header if func_name == "get": user_id = request.headers.get("user_id") token = request.headers.get("token") return CONTROLLER.execute_model_logic(token, user_id, model, "get", dict(user_id=user_id)) request_body = request.get_json() params = CONTROLLER.deconstruct_request_body(request_body, model, func_name) params.update({"model": model, "function_name": func_name}) return CONTROLLER.execute_model_logic(**params) except Exception as e: return make_response({"message": "Internal Error: " + str(e)}, 500)
# Simple unit tests for Custom class from tests import TestAssertion from models import Custom from db import DbAccess from pprint import pprint db = DbAccess.DbAccess() test = TestAssertion.TestAssertion() test.print_test_name("Custom Object Tests") # Test 1: instantiation try: custom = Custom.Custom(db) test.assert_test_success("Instantiation") except Exception: test.assert_test_failure("Instantiation") # Test 2: get custom types and entries try: custom = Custom.Custom(db) pprint("User Custom Types: " + str(custom.get_user_custom_types('u001'))) pprint("User Custom Entries: " + str(custom.get_user_custom_entries('u001'))) pprint("Custom Type by Id: " + str(custom.get_custom_type_by_id('c001'))) pprint("Custom Entries by Custom Id: " + str(custom.get_user_custom_entries_by_custom_id('c001'))) pprint("Custom Entry by Entry Id: " + str(custom.get_custom_entry_by_id('ce001'))) test.assert_test_success("Get Custom Types and Entries") except Exception:
def test_delete(): custom = Custom.Custom() custom.delete(TEST_CUSTOM_DATA["user_id"], TEST_CUSTOM_DATA["custom_id"]) assert custom.get_one(TEST_CUSTOM_DATA["custom_id"]) is None
def test_update_protected_fields(): custom = Custom.Custom() copy = dict(TEST_CUSTOM_DATA) copy.update({"user_id": "test", "custom_id": "test"}) res = custom.update(copy) assert res is None
def test_get_many(): custom = Custom.Custom() res = custom.get(TEST_CUSTOM_DATA["user_id"]) assert res is not None and isinstance(res, list)
def test_get_one(): custom = Custom.Custom() res = custom.get_one(TEST_CUSTOM_DATA["custom_id"]) assert res is not None and res == TEST_CUSTOM_DATA
def test_create(): custom = Custom.Custom() res = custom.create(TEST_CUSTOM_DATA["user_id"], TEST_CUSTOM_DATA) TEST_CUSTOM_DATA.update({"custom_id": res["custom_id"]}) assert res is not None
def test_instantiation(): custom = Custom.Custom() assert custom is not None
def __init__(self): self.__db = DbAccess.DbAccess() self.__custom = Custom.Custom(self.__db)