-
Notifications
You must be signed in to change notification settings - Fork 26
Unit Tests
Dmitry Litvintsev edited this page Mar 2, 2021
·
18 revisions
yum install -y postgresql11 postgresql11-server
sudo localedef -v -c -i en_US -f UTF-8 C.UTF-8 # (needed for tests)
git clone https://github.com/HEPCloud/decisionengine
cd decisionengine
python3 setup.py develop --user
python3 -m pip install --user decisionengine[develop]
export PATH=/usr/pgsql-13/bin:$PATH
python3 -m pytest # (or just pytest at this point)
would produce output looking like so:
=================================================================================== test session starts ====================================================================================
platform linux -- Python 3.6.8, pytest-6.2.2, py-1.9.0, pluggy-0.13.1 -- /usr/bin/python3
cachedir: .pytest_cache
rootdir: /home/litvinse/junk/decisionengine, configfile: pyproject.toml, testpaths: src/decisionengine
plugins: cov-2.11.1, flake8-1.0.7, postgresql-2.6.1, timeout-1.4.2
collected 100 items
src/decisionengine/framework/config/tests/test_config.py::test_empty_config PASSED [ 1%]
src/decisionengine/framework/config/tests/test_config.py::test_wrong_type PASSED [ 2%]
src/decisionengine/framework/config/tests/test_config.py::test_empty_dict PASSED [ 3%]
src/decisionengine/framework/config/tests/test_config.py::test_empty_dict_with_leading_comment PASSED [ 4%]
src/decisionengine/framework/config/tests/test_config.py::test_minimal_python PASSED [ 5%]
src/decisionengine/framework/config/tests/test_config.py::test_minimal_jsonnet_wrong_extension PASSED [ 6%]
src/decisionengine/framework/config/tests/test_config.py::test_minimal_jsonnet_right_extension PASSED [ 7%]
src/decisionengine/framework/config/tests/test_config.py::test_channel_no_config_files PASSED [ 8%]
src/decisionengine/framework/config/tests/test_config.py::test_channel_empty_config PASSED [ 9%]
src/decisionengine/framework/config/tests/test_config.py::test_channel_empty_dictionary PASSED [ 10%]
src/decisionengine/framework/config/tests/test_config.py::test_channel_no_modules PASSED [ 11%]
src/decisionengine/framework/config/tests/test_config.py::test_channel_names PASSED [ 12%]
src/decisionengine/framework/config/tests/test_config.py::test_channel_loading PASSED [ 13%]
src/decisionengine/framework/config/tests/test_policies.py::test_valid_dir PASSED [ 14%]
src/decisionengine/framework/config/tests/test_policies.py::test_global_config_dir PASSED [ 15%]
src/decisionengine/framework/config/tests/test_policies.py::test_channel_config_dir PASSED [ 16%]
src/decisionengine/framework/config/tests/test_policies.py::test_global_config_file PASSED [ 17%]
src/decisionengine/framework/dataspace/datasources/tests/test_postgresql.py::test_generate_insert_query PASSED [ 18%]
src/decisionengine/framework/dataspace/datasources/tests/test_postgresql.py::test_create_tables PASSED [ 19%]
src/decisionengine/framework/dataspace/datasources/tests/test_postgresql.py::test_store_taskmanager PASSED [ 20%]
src/decisionengine/framework/dataspace/datasources/tests/test_postgresql.py::test_get_taskmanager PASSED [ 21%]
src/decisionengine/framework/dataspace/datasources/tests/test_postgresql.py::test_get_last_generation_id PASSED [ 22%]
src/decisionengine/framework/dataspace/datasources/tests/test_postgresql.py::test_insert PASSED [ 23%]
src/decisionengine/framework/dataspace/tests/test_Reaper.py::TestReaper::test_fail_missing_config_key PASSED [ 24%]
src/decisionengine/framework/dataspace/tests/test_Reaper.py::TestReaper::test_fail_wrong_config_key PASSED [ 25%]
src/decisionengine/framework/dataspace/tests/test_Reaper.py::TestReaper::test_loop_of_start_stop_in_clumps PASSED [ 26%]
src/decisionengine/framework/dataspace/tests/test_Reaper.py::TestReaper::test_reap_can_reap PASSED [ 27%]
src/decisionengine/framework/dataspace/tests/test_Reaper.py::TestReaper::test_reap_default_state PASSED [ 28%]
src/decisionengine/framework/dataspace/tests/test_Reaper.py::TestReaper::test_source_fail_can_be_fixed PASSED [ 29%]
src/decisionengine/framework/dataspace/tests/test_Reaper.py::TestReaper::test_start_stop PASSED [ 30%]
src/decisionengine/framework/dataspace/tests/test_Reaper.py::TestReaper::test_start_stop_delay PASSED [ 31%]
src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_constructor PASSED [ 32%]
src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_duplicate PASSED [ 33%]
src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_get_dataproducts PASSED [ 34%]
src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_get_header PASSED [ 35%]
src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_get_metadata PASSED [ 36%]
src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_get_taskmanager PASSED [ 37%]
src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_get_taskmanagers PASSED [ 38%]
src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_key_management PASSED [ 39%]
src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_to_str PASSED [ 40%]
src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_Header_constructor PASSED [ 41%]
src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_Header_is_valid PASSED [ 42%]
src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_Metadata_constructor PASSED [ 43%]
src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_Metadata_set_state PASSED [ 44%]
src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_compress PASSED [ 45%]
src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_zdumps PASSED [ 46%]
src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_zloads PASSED [ 47%]
src/decisionengine/framework/engine/tests/test_client_only.py::test_client_help PASSED [ 48%]
src/decisionengine/framework/engine/tests/test_client_only.py::test_client_with_no_server PASSED [ 49%]
src/decisionengine/framework/engine/tests/test_startup.py::test_default_config PASSED [ 50%]
src/decisionengine/framework/engine/tests/test_startup.py::test_change_port PASSED [ 51%]
src/decisionengine/framework/logicengine/tests/test_cascaded_rules.py::test_rule_that_fires PASSED [ 52%]
src/decisionengine/framework/logicengine/tests/test_cascaded_rules.py::test_rule_that_does_not_fire PASSED [ 53%]
src/decisionengine/framework/logicengine/tests/test_construction.py::test_default_construction PASSED [ 54%]
src/decisionengine/framework/logicengine/tests/test_construction.py::test_wrong_configuration PASSED [ 55%]
src/decisionengine/framework/logicengine/tests/test_construction.py::test_trivial_configuration PASSED [ 56%]
src/decisionengine/framework/logicengine/tests/test_construction.py::test_configuration_with_fact_using_function PASSED [ 57%]
src/decisionengine/framework/logicengine/tests/test_construction.py::test_configuration_with_numy_facts PASSED [ 58%]
src/decisionengine/framework/logicengine/tests/test_duplicate_fact_names.py::test_duplicate_fact_names PASSED [ 59%]
src/decisionengine/framework/logicengine/tests/test_facts.py::test_simple_fact PASSED [ 60%]
src/decisionengine/framework/logicengine/tests/test_facts.py::test_compound_fact PASSED [ 61%]
src/decisionengine/framework/logicengine/tests/test_facts.py::test_fact_with_nested_names PASSED [ 62%]
src/decisionengine/framework/logicengine/tests/test_facts.py::test_fact_using_numpy_array PASSED [ 63%]
src/decisionengine/framework/logicengine/tests/test_facts.py::test_fact_using_numpy_function PASSED [ 64%]
src/decisionengine/framework/logicengine/tests/test_missing_value.py::test_misspecified_fact PASSED [ 65%]
src/decisionengine/framework/logicengine/tests/test_missing_value.py::test_fact_with_misspecified_attribute PASSED [ 66%]
src/decisionengine/framework/logicengine/tests/test_missing_value.py::test_conditional_fact PASSED [ 67%]
src/decisionengine/framework/logicengine/tests/test_missing_value.py::test_lookup_error PASSED [ 68%]
src/decisionengine/framework/logicengine/tests/test_missing_value.py::test_fail_on_error PASSED [ 69%]
src/decisionengine/framework/logicengine/tests/test_pandas_fact.py::test_rule_that_fires PASSED [ 70%]
src/decisionengine/framework/logicengine/tests/test_pandas_fact.py::test_rule_that_does_not_fire PASSED [ 71%]
src/decisionengine/framework/logicengine/tests/test_rule_with_negated_fact.py::test_rule_that_fires PASSED [ 72%]
src/decisionengine/framework/logicengine/tests/test_rule_with_negated_fact.py::test_rule_that_does_not_fire PASSED [ 73%]
src/decisionengine/framework/logicengine/tests/test_simple_configuration.py::test_rule_that_fires PASSED [ 74%]
src/decisionengine/framework/logicengine/tests/test_simple_configuration.py::test_rule_that_does_not_fire PASSED [ 75%]
src/decisionengine/framework/taskmanager/tests/test_processing_state.py::test_shared_state_construction PASSED [ 76%]
src/decisionengine/framework/taskmanager/tests/test_processing_state.py::test_wrong_value_on_creation PASSED [ 77%]
src/decisionengine/framework/taskmanager/tests/test_processing_state.py::test_wrong_value_on_assignment PASSED [ 78%]
src/decisionengine/framework/taskmanager/tests/test_processing_state.py::test_wait_until PASSED [ 79%]
src/decisionengine/framework/taskmanager/tests/test_processing_state.py::test_wait_while PASSED [ 80%]
src/decisionengine/framework/taskmanager/tests/test_task_manager.py::test_task_manager_construction PASSED [ 81%]
src/decisionengine/framework/taskmanager/tests/test_task_manager.py::test_take_task_manager_offline PASSED [ 82%]
src/decisionengine/framework/taskmanager/tests/test_task_manager.py::test_failing_publisher PASSED [ 83%]
src/decisionengine/framework/tests/test_client_server.py::test_client_print_product PASSED [ 84%]
src/decisionengine/framework/tests/test_defaults.py::test_client_can_get_de_server_show_channel_logger_level PASSED [ 85%]
src/decisionengine/framework/tests/test_defaults.py::test_global_channel_log_level_in_config PASSED [ 86%]
src/decisionengine/framework/tests/test_defaults.py::test_client_de_config_is_json PASSED [ 87%]
src/decisionengine/framework/tests/test_failing_source_proxy.py::test_stop_failing_source_proxy PASSED [ 88%]
src/decisionengine/framework/tests/test_reaper.py::test_client_can_get_de_server_reaper_status PASSED [ 89%]
src/decisionengine/framework/tests/test_reaper.py::test_client_can_get_de_server_reaper_stop PASSED [ 90%]
src/decisionengine/framework/tests/test_reaper.py::test_client_can_get_de_server_reaper_start_delay PASSED [ 91%]
src/decisionengine/framework/tests/test_restart_channel.py::test_restart_channel PASSED [ 92%]
src/decisionengine/framework/tests/test_sample_config.py::test_client_can_get_de_server_status PASSED [ 93%]
src/decisionengine/framework/tests/test_sample_config.py::test_client_can_get_de_server_show_config PASSED [ 94%]
src/decisionengine/framework/tests/test_sample_config.py::test_client_can_get_de_server_show_logger_level PASSED [ 95%]
src/decisionengine/framework/tests/test_start_with_no_channels.py::test_start_from_nothing PASSED [ 96%]
src/decisionengine/framework/util/tests/test_fs.py::test_empty_directory PASSED [ 97%]
src/decisionengine/framework/util/tests/test_fs.py::test_nonempty_directory PASSED [ 98%]
src/decisionengine/framework/util/tests/test_fs.py::test_nonempty_directory_with_extensions PASSED [ 99%]
src/decisionengine/framework/util/tests/test_tsort.py::TestTsort::test_tsort PASSED [100%]
==================================================================================== slowest durations =====================================================================================
13.15s call src/decisionengine/framework/tests/test_start_with_no_channels.py::test_start_from_nothing
12.08s call src/decisionengine/framework/taskmanager/tests/test_task_manager.py::test_take_task_manager_offline
12.08s call src/decisionengine/framework/tests/test_restart_channel.py::test_restart_channel
11.09s call src/decisionengine/framework/taskmanager/tests/test_task_manager.py::test_failing_publisher
10.01s teardown src/decisionengine/framework/tests/test_restart_channel.py::test_restart_channel
3.11s call src/decisionengine/framework/tests/test_failing_source_proxy.py::test_stop_failing_source_proxy
3.10s call src/decisionengine/framework/dataspace/tests/test_Reaper.py::TestReaper::test_loop_of_start_stop_in_clumps
3.08s teardown src/decisionengine/framework/tests/test_defaults.py::test_client_can_get_de_server_show_channel_logger_level
2.11s call src/decisionengine/framework/tests/test_client_server.py::test_client_print_product
2.07s call src/decisionengine/framework/tests/test_reaper.py::test_client_can_get_de_server_reaper_stop
2.06s call src/decisionengine/framework/tests/test_sample_config.py::test_client_can_get_de_server_status
2.06s call src/decisionengine/framework/tests/test_reaper.py::test_client_can_get_de_server_reaper_start_delay
2.06s call src/decisionengine/framework/tests/test_defaults.py::test_global_channel_log_level_in_config
2.06s call src/decisionengine/framework/tests/test_reaper.py::test_client_can_get_de_server_reaper_status
2.06s call src/decisionengine/framework/tests/test_sample_config.py::test_client_can_get_de_server_show_logger_level
2.06s call src/decisionengine/framework/tests/test_defaults.py::test_client_de_config_is_json
2.06s call src/decisionengine/framework/tests/test_sample_config.py::test_client_can_get_de_server_show_config
2.01s call src/decisionengine/framework/taskmanager/tests/test_processing_state.py::test_wait_until
2.01s call src/decisionengine/framework/taskmanager/tests/test_processing_state.py::test_wait_while
1.62s teardown src/decisionengine/framework/tests/test_reaper.py::test_client_can_get_de_server_reaper_start_delay
1.62s teardown src/decisionengine/framework/tests/test_defaults.py::test_client_de_config_is_json
1.62s teardown src/decisionengine/framework/tests/test_defaults.py::test_global_channel_log_level_in_config
1.53s teardown src/decisionengine/framework/tests/test_sample_config.py::test_client_can_get_de_server_show_logger_level
1.52s teardown src/decisionengine/framework/tests/test_reaper.py::test_client_can_get_de_server_reaper_stop
1.52s teardown src/decisionengine/framework/tests/test_reaper.py::test_client_can_get_de_server_reaper_status
1.52s teardown src/decisionengine/framework/tests/test_sample_config.py::test_client_can_get_de_server_status
1.52s teardown src/decisionengine/framework/tests/test_sample_config.py::test_client_can_get_de_server_show_config
1.52s teardown src/decisionengine/framework/tests/test_client_server.py::test_client_print_product
1.14s teardown src/decisionengine/framework/tests/test_failing_source_proxy.py::test_stop_failing_source_proxy
1.11s teardown src/decisionengine/framework/util/tests/test_tsort.py::TestTsort::test_tsort
1.10s call src/decisionengine/framework/dataspace/tests/test_Reaper.py::TestReaper::test_source_fail_can_be_fixed
1.10s call src/decisionengine/framework/dataspace/tests/test_Reaper.py::TestReaper::test_start_stop_delay
1.10s setup src/decisionengine/framework/tests/test_restart_channel.py::test_restart_channel
0.92s setup src/decisionengine/framework/tests/test_reaper.py::test_client_can_get_de_server_reaper_status
0.91s setup src/decisionengine/framework/tests/test_defaults.py::test_client_can_get_de_server_show_channel_logger_level
0.91s setup src/decisionengine/framework/tests/test_failing_source_proxy.py::test_stop_failing_source_proxy
0.89s setup src/decisionengine/framework/tests/test_sample_config.py::test_client_can_get_de_server_status
0.89s setup src/decisionengine/framework/tests/test_client_server.py::test_client_print_product
0.84s setup src/decisionengine/framework/dataspace/datasources/tests/test_postgresql.py::test_create_tables
0.11s teardown src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_Header_constructor
0.11s teardown src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_constructor
0.11s teardown src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_get_taskmanagers
0.11s teardown src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_key_management
0.10s setup src/decisionengine/framework/tests/test_reaper.py::test_client_can_get_de_server_reaper_start_delay
0.10s setup src/decisionengine/framework/tests/test_sample_config.py::test_client_can_get_de_server_show_logger_level
0.10s call src/decisionengine/framework/dataspace/tests/test_Reaper.py::TestReaper::test_fail_missing_config_key
0.10s call src/decisionengine/framework/dataspace/tests/test_Reaper.py::TestReaper::test_fail_wrong_config_key
0.10s call src/decisionengine/framework/dataspace/tests/test_Reaper.py::TestReaper::test_start_stop
0.10s call src/decisionengine/framework/dataspace/tests/test_Reaper.py::TestReaper::test_reap_default_state
0.10s call src/decisionengine/framework/dataspace/tests/test_Reaper.py::TestReaper::test_reap_can_reap
0.10s setup src/decisionengine/framework/tests/test_defaults.py::test_client_de_config_is_json
0.10s call src/decisionengine/framework/config/tests/test_config.py::test_channel_loading
0.10s setup src/decisionengine/framework/tests/test_defaults.py::test_global_channel_log_level_in_config
0.10s setup src/decisionengine/framework/tests/test_sample_config.py::test_client_can_get_de_server_show_config
0.09s setup src/decisionengine/framework/tests/test_reaper.py::test_client_can_get_de_server_reaper_stop
0.07s call src/decisionengine/framework/engine/tests/test_client_only.py::test_client_help
0.05s call src/decisionengine/framework/config/tests/test_config.py::test_channel_no_modules
0.05s call src/decisionengine/framework/config/tests/test_config.py::test_channel_names
0.05s call src/decisionengine/framework/config/tests/test_config.py::test_channel_empty_dictionary
0.05s setup src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_constructor
0.05s setup src/decisionengine/framework/tests/test_start_with_no_channels.py::test_start_from_nothing
0.05s setup src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_get_metadata
0.05s call src/decisionengine/framework/taskmanager/tests/test_task_manager.py::test_task_manager_construction
0.04s setup src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_to_str
0.04s setup src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_Metadata_set_state
0.04s setup src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_key_management
0.04s setup src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_Metadata_constructor
0.04s setup src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_zdumps
0.04s setup src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_zloads
0.04s setup src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_Header_is_valid
0.04s setup src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_get_taskmanagers
0.04s setup src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_get_dataproducts
0.04s setup src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_Header_constructor
0.04s setup src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_duplicate
0.04s call src/decisionengine/framework/config/tests/test_config.py::test_minimal_jsonnet_right_extension
0.04s setup src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_compress
0.04s setup src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_get_header
0.04s setup src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_get_taskmanager
0.03s call src/decisionengine/framework/engine/tests/test_startup.py::test_default_config
0.03s call src/decisionengine/framework/config/tests/test_config.py::test_empty_dict_with_leading_comment
0.03s call src/decisionengine/framework/config/tests/test_config.py::test_minimal_jsonnet_wrong_extension
0.03s call src/decisionengine/framework/config/tests/test_config.py::test_empty_dict
0.03s call src/decisionengine/framework/engine/tests/test_startup.py::test_change_port
0.03s setup src/decisionengine/framework/dataspace/datasources/tests/test_postgresql.py::test_insert
0.03s setup src/decisionengine/framework/dataspace/datasources/tests/test_postgresql.py::test_store_taskmanager
0.03s setup src/decisionengine/framework/dataspace/datasources/tests/test_postgresql.py::test_get_taskmanager
0.03s setup src/decisionengine/framework/dataspace/datasources/tests/test_postgresql.py::test_get_last_generation_id
0.02s call src/decisionengine/framework/config/tests/test_config.py::test_channel_empty_config
0.02s call src/decisionengine/framework/config/tests/test_config.py::test_minimal_python
0.02s call src/decisionengine/framework/config/tests/test_config.py::test_wrong_type
0.02s call src/decisionengine/framework/config/tests/test_config.py::test_channel_no_config_files
0.01s teardown src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_Header_is_valid
0.01s teardown src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_compress
0.01s teardown src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_get_metadata
0.01s teardown src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_zloads
0.01s teardown src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_duplicate
0.01s teardown src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_get_taskmanager
0.01s teardown src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_to_str
0.01s teardown src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_Metadata_set_state
0.01s teardown src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_get_header
0.01s teardown src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_zdumps
0.01s teardown src/decisionengine/framework/dataspace/datasources/tests/test_postgresql.py::test_get_taskmanager
0.01s teardown src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_DataBlock_get_dataproducts
0.01s teardown src/decisionengine/framework/dataspace/datasources/tests/test_postgresql.py::test_create_tables
0.01s teardown src/decisionengine/framework/dataspace/datasources/tests/test_postgresql.py::test_get_last_generation_id
0.01s teardown src/decisionengine/framework/dataspace/tests/test_datablock.py::TestDatablock::test_Metadata_constructor
0.01s teardown src/decisionengine/framework/dataspace/datasources/tests/test_postgresql.py::test_store_taskmanager
0.01s teardown src/decisionengine/framework/dataspace/datasources/tests/test_postgresql.py::test_insert
0.01s call src/decisionengine/framework/dataspace/datasources/tests/test_postgresql.py::test_get_last_generation_id
0.01s call src/decisionengine/framework/dataspace/datasources/tests/test_postgresql.py::test_get_taskmanager
(190 durations < 0.005s hidden. Use -vv to show these durations.)
============================================================================= 100 passed in 119.20s (0:01:59) ==============================================================================
[litvinse@litvintsev decisionengine]$