57 lines
1.5 KiB
Python
57 lines
1.5 KiB
Python
import json
|
|
import os
|
|
from recipe_graph import insert_sites
|
|
from sqlalchemy import select
|
|
import logging
|
|
|
|
import pytest
|
|
|
|
|
|
@pytest.fixture
|
|
def json_data() -> list[dict]:
|
|
return [{"key": "value"}, {"test": "value1", "test2": "value2"}]
|
|
|
|
|
|
@pytest.fixture
|
|
def json_file(json_data: list[dict]) -> str:
|
|
f_path = "test.json"
|
|
with open(f_path, 'w') as f:
|
|
json.dump(json_data, f)
|
|
yield f_path
|
|
if os.path.exists(f_path):
|
|
os.remove(f_path)
|
|
|
|
def test_load_file(json_file: str, json_data):
|
|
test_data = insert_sites.load_file(json_file)
|
|
assert test_data == json_data
|
|
|
|
|
|
def test_setup_argparser():
|
|
file_name = "test"
|
|
args = insert_sites.setup_argparser([file_name])
|
|
assert len(vars(args)) == 2
|
|
assert args.file == file_name
|
|
assert args.verbose == False
|
|
|
|
|
|
args = insert_sites.setup_argparser([file_name, "-v"])
|
|
assert args.file == file_name
|
|
assert args.verbose == True
|
|
|
|
args = insert_sites.setup_argparser([file_name, "--verbose"])
|
|
assert args.file == file_name
|
|
assert args.verbose == True
|
|
|
|
def test_setup_logging():
|
|
args = insert_sites.setup_argparser(["test"])
|
|
logger = insert_sites.setup_logging(args)
|
|
assert logger.level == logging.WARNING
|
|
|
|
args = insert_sites.setup_argparser(["test", "-v"])
|
|
logger = insert_sites.setup_logging(args)
|
|
assert logger.level == logging.INFO
|
|
|
|
args = insert_sites.setup_argparser(["test", "--verbose"])
|
|
logger = insert_sites.setup_logging(args)
|
|
assert logger.level == logging.INFO
|
|
|