Exemplo n.º 1
0
def test_update_protected_fields():
    diet = Diet.Diet()
    copy = dict(TEST_DIET_DATA)
    copy.update({
        "user_id": "new user id",
        "diet_id": "new diet_id",
        "year": datetime.datetime.today().year - 1
    })
    res = diet.update(copy)
    assert res is None
Exemplo n.º 2
0
def test_update_with_invalid_data_types():
    diet = Diet.Diet()
    copy = dict(TEST_DIET_DATA)
    copy.update({
        "calories": "this is a string",
        "notes": 100,
        "year": "this should be an int"
    })
    res = diet.update(copy)
    assert res is None
Exemplo n.º 3
0
def test_update_diet():
    diet = Diet.Diet()
    copy = dict(TEST_DIET_DATA)
    copy.update({
        "calories": 3000,
        "notes": "Updated notes section",
        "year": datetime.datetime.today().year - 1
    })
    res = diet.update(copy)
    assert res is not None and res == copy
Exemplo n.º 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 = Diet.Diet()
        # 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:
        print(e)
        return make_response({"message": "Internal Error: " + str(e)}, 500)
Exemplo n.º 5
0
def test_delete():
    diet = Diet.Diet()
    res = diet.delete(TEST_USER_DATA["user_id"], TEST_DIET_DATA["diet_id"])
    actual = diet.get_one(TEST_DIET_DATA["diet_id"])
    user.delete(TEST_USER_DATA["user_id"])
    assert res == TEST_DIET_DATA["diet_id"] and actual is None
Exemplo n.º 6
0
def test_get_many():
    diet = Diet.Diet()
    res = diet.get(TEST_USER_DATA["user_id"])
    assert res is not None and isinstance(res, list)
Exemplo n.º 7
0
def test_get_one():
    diet = Diet.Diet()
    res = diet.get_one(TEST_DIET_DATA["diet_id"])
    assert res is not None
Exemplo n.º 8
0
def test_create_diet():
    diet = Diet.Diet()
    res = diet.create(TEST_USER_DATA["user_id"], TEST_DIET_DATA)
    print(res)
    TEST_DIET_DATA.update({"diet_id": res["diet_id"]})
    assert res is not None
Exemplo n.º 9
0
def test_instantiation():
    diet = Diet.Diet()
    assert diet is not None
Exemplo n.º 10
0
# Simple unit tests for Diet class

from tests import TestAssertion
from models import Diet
from db import DbAccess

db = DbAccess.DbAccess()
test = TestAssertion.TestAssertion()
test.print_test_name("Diet Object Tests")

# Test 1: instantiation
try:
    diet = Diet.Diet(db)
    test.assert_test_success("Instantiation")
except Exception:
    test.assert_test_failure("Instantiation")

# Test 2: get diet info
try:
    diet = Diet.Diet(db)
    info = diet.get_user_diet_entry("u001", 16, 4, 2021)
    if info is None:
        raise Exception("No Diet Data Returned")
    print(str(info))
    test.assert_test_success("Get Diet Entry")
except Exception:
    test.assert_test_failure("Get Diet Entry")

# Test 3: get user diet entries
try:
    diet = Diet.Diet(db)
Exemplo n.º 11
0
 def __init__(self):
     self.__db = DbAccess.DbAccess()
     self.__diet = Diet.Diet(self.__db)