diff --git a/integrationtests/realworld_example/test_dataset_crawler.py b/integrationtests/realworld_example/test_dataset_crawler.py index 206020cef67b20716bacfa99399d63bb8e06360e..1e83e1e731deab22b5f152b1b74aeb7aa9bc6646 100644 --- a/integrationtests/realworld_example/test_dataset_crawler.py +++ b/integrationtests/realworld_example/test_dataset_crawler.py @@ -29,7 +29,7 @@ import os import caosdb as db -from newcrawler.crawl import Crawler +from newcrawler.crawl import Crawler, crawler_main from newcrawler.converters import JSONFileConverter, DictConverter from newcrawler.identifiable_adapters import CaosDBIdentifiableAdapter from newcrawler.structure_elements import File, JSONFile, Directory @@ -75,7 +75,6 @@ def usemodel(): def test_dataset( # clear_database, usemodel): - # json_file_path = rfp("test_directories", "single_file_test_data", "testjson.json") ident = CaosDBIdentifiableAdapter() ident.register_identifiable( @@ -86,7 +85,8 @@ def test_dataset( ).add_parent("Person").add_property("full_name")) crawler = Crawler(debug=True, identifiableAdapter=ident) - crawler_definition = crawler.load_definition(os.path.join(DATADIR, "dataset_cfoods.yml")) + crawler_definition = crawler.load_definition( + os.path.join(DATADIR, "dataset_cfoods.yml")) # print(json.dumps(crawler_definition, indent=3)) # Load and register converter packages: converter_registry = crawler.load_converters(crawler_definition) @@ -120,3 +120,15 @@ def test_dataset( "") == 1 assert db.execute_query(f"COUNT RECORD with id={dataset.id} AND WHICH REFERENCES Event WITH " "start_datetime='2022-02-10T16:36:48+01:00'") == 1 + + +def test_event_update(usemodel): + + ident = CaosDBIdentifiableAdapter() + ident.load_from_yaml_definition(os.path.join(DATADIR, "identifiables.yml")) + + # TODO(fspreck): Use crawler_main + crawler_main() + + # TODO(fspreck): crawl again manually, edit the event records in the update + # list, synchronize, and test whether the events have been updated. diff --git a/integrationtests/test_data/extroot/realworld_example/identifiables.yml b/integrationtests/test_data/extroot/realworld_example/identifiables.yml new file mode 100644 index 0000000000000000000000000000000000000000..0ea0265ecfec05392c599457d81339bc91ba18d0 --- /dev/null +++ b/integrationtests/test_data/extroot/realworld_example/identifiables.yml @@ -0,0 +1,22 @@ +license: + - name +project_type: + - name +Keyword: + - name +Taxon: + - name +Person: + - email + # - full_name +Dataset: + - title + # - DOI +Event: + - longitude + - latitude + - start_datetime +Dataspace: + - dataspace_id +Project: + - name