def test_generate_day(run_generate, summary_store: SummaryStore): run_generate("ls8_nbar_albers") _expect_values( summary_store.get_or_update("ls8_nbar_albers", year=2017, month=5, day=2), dataset_count=29, footprint_count=29, time_range=Range( begin=datetime(2017, 5, 2, 0, 0, tzinfo=DEFAULT_TZ), end=datetime(2017, 5, 3, 0, 0, tzinfo=DEFAULT_TZ), ), newest_creation_time=datetime(2017, 10, 20, 8, 53, 26, 475_609, tzinfo=tzutc()), timeline_period="day", timeline_count=1, crses={"EPSG:3577"}, size_bytes=None, )
def test_generate_telemetry(run_generate, summary_store: SummaryStore): """ Telemetry data polygons can be synthesized from the path/row values """ run_generate("ls8_satellite_telemetry_data") summary = summary_store.get_or_update("ls8_satellite_telemetry_data") _expect_values( summary, dataset_count=1199, footprint_count=1199, time_range=Range( begin=datetime(2016, 1, 1, 0, 0, tzinfo=DEFAULT_TZ), end=datetime(2018, 1, 1, 0, 0, tzinfo=DEFAULT_TZ), ), region_dataset_counts={ "91": 56, "92": 56, "93": 56, "90": 51, "95": 47, "94": 45, "96": 44, "101": 43, "98": 43, "100": 42, "105": 42, "111": 42, "99": 42, "104": 41, "110": 41, "112": 41, "103": 40, "107": 40, "108": 40, "109": 40, "89": 40, "97": 40, "113": 39, "102": 37, "106": 36, "114": 32, "116": 29, "115": 27, "88": 27, }, newest_creation_time=datetime(2017, 12, 31, 3, 38, 43, tzinfo=tzutc()), timeline_period="month", timeline_count=24, crses={"EPSG:4326"}, size_bytes=10333203380934, )
def test_add_no_periods(summary_store: SummaryStore): """ All the get/update methods should work on products with no datasets. """ summary_store._set_product_extent( ProductSummary("test_empty_product", 0, None, None, [], [])) summary_store.get_or_update("test_empty_product", 2015, 7, 4) summary_store.get_or_update("test_empty_product", 2015, 7, None) summary_store.get_or_update("test_empty_product", 2015, None, None) summary_store.get_or_update("test_empty_product", None, None, None)
def test_generate_empty_time(run_generate, summary_store: SummaryStore): run_generate("ls8_nbar_albers") # No datasets in 2018 summary = summary_store.get_or_update("ls8_nbar_albers", year=2018, month=None, day=None) assert summary.dataset_count == 0, "There should be no datasets in 2018" # assert len(summary.timeline_dataset_counts) == 365, "Empty regions should still show up in timeline histogram" # Year that does not exist for LS8 summary = summary_store.get("ls8_nbar_albers", year=2006, month=None, day=None) assert summary is None
def test_uninitialised_overview(unpopulated_client: FlaskClient, summary_store: SummaryStore): # Populate one product, so they don't get the usage error message ("run cubedash generate") # Then load an unpopulated product. summary_store.get_or_update('ls7_nbar_albers') html = get_html(unpopulated_client, '/ls7_nbar_scene/2017') assert html.find('.coverage-region-count', first=True).text == '0 unique scenes'