from os import path import pytest from sample_validator import load_schema, validate_stream FIXTURES_PATH = path.join(path.dirname(__file__), "fixtures") @pytest.mark.parametrize('description,report_url,schema_url,rows_number,rate,expected_result,expected_log', ( ( 'dim track', 'gras/dim_track/gras_2020-02-11_dim_track.csv', 'gras/dim_track/v1/2019-12-31.json', 100, 0, True, { 'errors_len': 0, 'warnings_len': 0, } ), )) def test_gras( description, s3_upload_schema, s3_upload_report, report_url, schema_url, rows_number, rate, expected_result, expected_log, ): report_url = s3_upload_report(report_url) schema_url = s3_upload_schema(schema_url) result, log_info = validate_stream( load_schema(schema_url), report_url, rows_number, rate, ) assert result == expected_result assert len(log_info['errors']) == expected_log['errors_len'] assert len(log_info['warnings']) == expected_log['warnings_len']