diff --git a/integrationtests/basic_example/test_basic.py b/integrationtests/basic_example/test_basic.py index 15aee62bbb9bf253607dc0bb04c44f3baae2548d..f67628b3dd9f419ff4e4d4cb1e4ab783d782502f 100755 --- a/integrationtests/basic_example/test_basic.py +++ b/integrationtests/basic_example/test_basic.py @@ -26,38 +26,35 @@ an integration test module that does basic integration tests """ -from caosadvancedtools.crawler import Crawler as OldCrawler -from caoscrawler.debug_tree import DebugTree -import os -from caosdb import EmptyUniqueQueryError import argparse +import os import sys from argparse import RawTextHelpFormatter +from pathlib import Path + +import caosdb as db +import pytest +import yaml +from caosadvancedtools.crawler import Crawler as OldCrawler +from caosadvancedtools.models.parser import parse_model_from_yaml from caoscrawler import Crawler, SecurityMode +from caoscrawler.debug_tree import DebugTree from caoscrawler.identifiable import Identifiable -import caosdb as db from caoscrawler.identifiable_adapters import CaosDBIdentifiableAdapter from caoscrawler.scanner import scan_directory -import pytest -from caosadvancedtools.models.parser import parse_model_from_yaml -import yaml - +from caosdb import EmptyUniqueQueryError from caosdb.utils.register_tests import clear_database, set_test_key + set_test_key("10b128cf8a1372f30aa3697466bb55e76974e0c16a599bb44ace88f19c8f61e2") -#TODO move test related stuff here and remove it from unittests +# TODO move test related stuff here and remove it from unittests -def rfp(*pathcomponents): - """ - Return full path. - Shorthand convenience function. - """ - return os.path.join(os.path.dirname(__file__), *pathcomponents) +UNITTESTDIR = Path(__file__).parent.parent.parent / "unittests" @pytest.fixture def usemodel(): - model = parse_model_from_yaml(rfp("model.yml")) + model = parse_model_from_yaml(UNITTESTDIR / "model.yml") model.sync_data_model(noquestion=True, verbose=False) @@ -88,8 +85,8 @@ def ident(): def crawl_standard_test_directory(subdir: str = "examples_article", cfood: str = "scifolder_cfood.yml", debug_tree=None): - return scan_directory(rfp("..", "..", "unittests", "test_directories", subdir), - rfp("..", "..", "unittests", cfood), + return scan_directory(UNITTESTDIR / "test_directories" / subdir, + UNITTESTDIR / cfood, debug_tree=debug_tree) @@ -110,7 +107,7 @@ def crawler_extended(ident): # correct paths for current working directory file_list = [r for r in crawled_data if r.role == "File"] for f in file_list: - f.file = rfp("..", "..", "unittests", "test_directories", f.file) + f.file = UNITTESTDIR / "test_directories" / f.file return cr, crawled_data, debug_tree @@ -132,7 +129,7 @@ def test_single_insertion(clear_database, usemodel, crawler, ident): if res[i].parents[0].name == "PyTestInfo": del res[i] # uncomment this to recreate the `records.xml` file - # filename = rfp("..", "..", "unittests", "records.xml") + # filename = UNITTESTDIR/ "records.xml" # with open(filename, "w") as f: # xml = res.to_xml() # # Remove noscript and transaction benchmark: @@ -146,8 +143,8 @@ def test_single_insertion(clear_database, usemodel, crawler, ident): # Do a second run on the same data, there should be no changes: crawler = Crawler(identifiableAdapter=ident) - crawled_data = scan_directory(rfp("../../unittests/test_directories", "examples_article"), - rfp("../../unittests/scifolder_cfood.yml")) + crawled_data = scan_directory(UNITTESTDIR/"test_directories", "examples_article", + UNITTESTDIR/"scifolder_cfood.yml") ins, ups = crawler.synchronize(crawled_data=crawled_data) assert len(ins) == 0 assert len(ups) == 0 @@ -215,7 +212,6 @@ def test_insertion_and_update(clear_database, usemodel, ident, crawler): cr = Crawler(identifiableAdapter=ident) crawled_data = crawl_standard_test_directory("example_overwrite_1") - # cr.save_debug_data(rfp("provenance.yml")) assert len(crawled_data) == 3 ins, ups = cr.synchronize(crawled_data=crawled_data) assert len(ins) == 0 @@ -318,7 +314,7 @@ def test_file_update(clear_database, usemodel, ident, crawler_extended): file_list = [r for r in crawled_data if r.role == "File"] for f in file_list: - f.file = rfp("..", "..", "unittests", "test_directories", f.file) + f.file = UNITTESTDIR / "test_directories", f.file ins2, ups2 = cr.synchronize(crawled_data=crawled_data, commit_changes=True) assert len(ups1) == 0 assert len(ups2) == 0 @@ -333,7 +329,7 @@ def test_file_update(clear_database, usemodel, ident, crawler_extended): file_list = [r for r in crawled_data if r.role == "File"] for f in file_list: - f.file = rfp("..", "..", "unittests", "test_directories", f.file) + f.file = UNITTESTDIR / "test_directories", f.file ins3, ups3 = cr2.synchronize(crawled_data=crawled_data, commit_changes=True) assert len(ups3) == 11 diff --git a/unittests/test_table_converter.py b/unittests/test_table_converter.py index 12fcabf968e5319e0f2d0b569cb56afa7ac23fda..178393d9345bd8a6846b66e362ce4f7edac382ee 100644 --- a/unittests/test_table_converter.py +++ b/unittests/test_table_converter.py @@ -146,10 +146,6 @@ def test_crawl_csv_table(): rfp("test_directories", "examples_tables", "crawler_for_tables.yml"), debug_tree=dbt) for file_ext in ["xlsx", "csv"]: - print(dbt.debug_tree) - print(dircheckstr( - UNITTESTDIR / "test_directories" / "examples_tables" / "ExperimentalData", - "test1." + file_ext)) subd = dbt.debug_tree[dircheckstr( UNITTESTDIR / "test_directories" / "examples_tables" / "ExperimentalData", "test1." + file_ext)]