"""Test Report.""" from reports.period_reports import PeriodReports from reports.report import Report def test_report_create(): """Test creating a Report object.""" # Test creating with a valid URL report_name = 'report.avro' account_key = '123L' account_path = '{prefix}{key}'.format( prefix=Report.account_prefix, key=account_key) url_pieces = [ 'blah', 'blah', account_path, report_name ] bucket_name = 'foo_bar' period = PeriodReports(1, 'month', 'label') report = Report(period, bucket_name, '/'.join(url_pieces)) expected_s3_report = 's3://foo_bar/schematized_files/1_label_all_all_month/user_id_type=123L/report.avro' # noqa expected_user_params = '1__all__AVRO__en_US' assert report.filename == report_name assert report.user_id_type == account_key assert report.period_ids == period.period_ids assert report.prefix == period.prefix assert report.bucket == bucket_name assert report.s3_path == expected_s3_report assert report.user_params == expected_user_params expected_item = { 'file_type': Report.file_type, 'period_ids': period.period_ids, 's3_path': expected_s3_report, 'status': Report.status, 'user_id_type': account_key, 'user_params': expected_user_params } assert report.ddb_item == expected_item