Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
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
Exemple #4
0
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:
Exemple #6
0
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
Exemple #7
0
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
Exemple #8
0
def test_get_many():
    custom = Custom.Custom()
    res = custom.get(TEST_CUSTOM_DATA["user_id"])
    assert res is not None and isinstance(res, list)
Exemple #9
0
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
Exemple #10
0
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
Exemple #11
0
def test_instantiation():
    custom = Custom.Custom()
    assert custom is not None
 def __init__(self):
     self.__db = DbAccess.DbAccess()
     self.__custom = Custom.Custom(self.__db)