def test_read_sub_lut(): parameters = {'path_to_json_file': path_to_json_file} aws_s2_meta_info_provider = AwsS2MetaInfoProviderAccessor.create_from_parameters(parameters) sub_lut = aws_s2_meta_info_provider._read_sub_lut('30', 'S') for key in sub_lut.keys(): assert key.startswith('30S')
def test_aws_s2_meta_info_provider_provides_data_type(): parameters = {'path_to_json_file': path_to_json_file} aws_s2_meta_info_provider = AwsS2MetaInfoProviderAccessor.create_from_parameters(parameters) assert not aws_s2_meta_info_provider.provides_data_type('AWS_S2_L2') assert not aws_s2_meta_info_provider.provides_data_type('hdtgbhhj') assert aws_s2_meta_info_provider.provides_data_type('AWS_S2_L1C')
def test_aws_s2_meta_info_provider_get_parameters_as_dict(): parameters = {'path_to_json_file': path_to_json_file} aws_s2_meta_info_provider = AwsS2MetaInfoProviderAccessor.create_from_parameters(parameters) parameters_as_dict = aws_s2_meta_info_provider._get_parameters_as_dict() assert 1 == len(parameters_as_dict.keys()) assert 'path_to_json_file' in parameters_as_dict.keys() assert path_to_json_file == parameters_as_dict['path_to_json_file']
def test_query_non_local(): parameters = {'path_to_json_file': path_to_json_file} aws_s2_meta_info_provider = AwsS2MetaInfoProviderAccessor.create_from_parameters(parameters) query_string = "POLYGON((-6.5 37.7, -5.7 37.6, -5.7 37.1, -6.5 37.1, -6.5 37.7));2017-09-04;2017-09-04;AWS_S2_L1C" data_set_meta_infos = aws_s2_meta_info_provider.query_non_local(query_string) assert 1 == len(data_set_meta_infos) assert '30/S/TG/2017/9/4/0' == data_set_meta_infos[0].identifier assert data_set_meta_infos[0].start_time == '2017-09-04T11:18:25' assert data_set_meta_infos[0].end_time == '2017-09-04T11:18:25' assert data_set_meta_infos[0].data_type == 'AWS_S2_L1C' data_set_coverage_0 = loads(data_set_meta_infos[0].coverage) stg_30_polygon = loads(STG_30_COVERAGE) assert data_set_coverage_0.almost_equals(stg_30_polygon)
def test_get_data_set_meta_infos_for_tile_description(): parameters = {'path_to_json_file': path_to_json_file} aws_s2_meta_info_provider = AwsS2MetaInfoProviderAccessor.create_from_parameters(parameters) tile_description = TileDescription('30SWJ', BARRAX_TILE) start_time = get_time_from_string('2016-04-01') end_time = get_time_from_string('2016-04-30') data_set_meta_infos = aws_s2_meta_info_provider._get_data_set_meta_infos_for_tile_description(tile_description, start_time, end_time) assert 6 == len(data_set_meta_infos) assert '2016-04-01T10:57:59' == data_set_meta_infos[0].start_time assert '30/S/WJ/2016/4/1/0' == data_set_meta_infos[0].identifier assert '2016-04-04T11:03:11' == data_set_meta_infos[1].start_time assert '30/S/WJ/2016/4/4/0' == data_set_meta_infos[1].identifier assert '2016-04-11T10:57:56' == data_set_meta_infos[2].start_time assert '30/S/WJ/2016/4/11/0' == data_set_meta_infos[2].identifier assert '2016-04-14T11:09:07' == data_set_meta_infos[3].start_time assert '30/S/WJ/2016/4/14/0' == data_set_meta_infos[3].identifier assert '2016-04-21T10:59:16' == data_set_meta_infos[4].start_time assert '30/S/WJ/2016/4/21/0' == data_set_meta_infos[4].identifier assert '2016-04-24T11:09:39' == data_set_meta_infos[5].start_time assert '30/S/WJ/2016/4/24/0' == data_set_meta_infos[5].identifier
def test_get_affected_tile_descriptions(): parameters = {'path_to_json_file': path_to_json_file} aws_s2_meta_info_provider = AwsS2MetaInfoProviderAccessor.create_from_parameters(parameters) barrax_geometry = loads(BARRAX_POLYGON) affected_tile_ids = aws_s2_meta_info_provider.get_affected_tile_descriptions(barrax_geometry) assert 1 == len(affected_tile_ids) assert '30SWJ' == affected_tile_ids[0].tile_id assert BARRAX_TILE == affected_tile_ids[0].coverage large_polygon = loads("POLYGON((-15. 52.43,10. 52.43, 10. 28.94,-15. 28.94,-15. 52.43))") affected_tile_ids = aws_s2_meta_info_provider.get_affected_tile_descriptions(large_polygon) for tile_description in affected_tile_ids: assert tile_description.tile_id.startswith('28R') or tile_description.tile_id.startswith('29R') or \ tile_description.tile_id.startswith('30R') or tile_description.tile_id.startswith('31R') or \ tile_description.tile_id.startswith('32R') or tile_description.tile_id.startswith('28S') or \ tile_description.tile_id.startswith('29S') or tile_description.tile_id.startswith('30S') or \ tile_description.tile_id.startswith('31S') or tile_description.tile_id.startswith('32S') or \ tile_description.tile_id.startswith('28T') or tile_description.tile_id.startswith('29T') or \ tile_description.tile_id.startswith('30T') or tile_description.tile_id.startswith('31T') or \ tile_description.tile_id.startswith('32T') or tile_description.tile_id.startswith('28U') or \ tile_description.tile_id.startswith('29U') or tile_description.tile_id.startswith('30U') or \ tile_description.tile_id.startswith('31U') or tile_description.tile_id.startswith('32U')
def test_aws_s2_meta_info_provider_get_name(): parameters = {'path_to_json_file': path_to_json_file} aws_s2_meta_info_provider = AwsS2MetaInfoProviderAccessor.create_from_parameters(parameters) assert 'AwsS2MetaInfoProvider' == aws_s2_meta_info_provider.name()
def test_aws_s2_meta_info_provider_accessor_create_from_parameters(): parameters = {'path_to_json_file': path_to_json_file} aws_s2_meta_info_provider = AwsS2MetaInfoProviderAccessor.create_from_parameters(parameters) assert type(aws_s2_meta_info_provider) == AwsS2MetaInfoProvider
def test_aws_s2_meta_info_provider_accessor_get_name(): assert 'AwsS2MetaInfoProvider' == AwsS2MetaInfoProviderAccessor.name()