コード例 #1
0
    def test_expected_headers_all(self, mocked_report_type_fields):
        mocked_report_type_fields.return_value = samples.SAMPLE_REPORT_TYPE_FIELDS
        fields = samples.SAMPLE_REPORT_TYPE_FIELDS

        reports = Reports(credentials={})

        self.assertEqual(set(fields), set(reports.expected_headers('CLICK_PERFORMANCE_REPORT')))
コード例 #2
0
    def test_expected_headers_subset(self, mocked_report_type_fields):
        mocked_report_type_fields.return_value = samples.SAMPLE_REPORT_TYPE_FIELDS
        fields = samples.SAMPLE_REPORT_TYPE_FIELDS[:5]
        names = [field.name for field in fields]

        reports = Reports(credentials={})

        self.assertEqual(set(fields), set(reports.expected_headers('CLICK_PERFORMANCE_REPORT', names)))
コード例 #3
0
    def test_report_type_fields(self, mocked__cached, mocked__report_type_fields, mocked__validate_type):
        mocked__cached.side_effect = lambda x, y, z: z()
        mocked__report_type_fields.return_value = samples.SAMPLE_REPORT_TYPE_FIELDS

        reports = Reports(credentials={})
        types = reports.report_type_fields('CLICK_PERFORMANCE_REPORT')

        self.assertEqual(set(samples.SAMPLE_REPORT_TYPE_FIELDS), set(types))
コード例 #4
0
    def test_integration_subset(self, mock_report_type_fields, mock_types, mock_report_schema, mock__retrieve_report_data):
        mock_report_type_fields.return_value = samples.SAMPLE_REPORT_TYPE_FIELDS
        mock_types.side_effect = fake_types
        mock__retrieve_report_data.return_value = gzip.GzipFile(samples.SAMPLE_SUBSET_REPORT_FILE_PATH, mode='rb')

        reports = Reports(samples.FAKE_CREDENTIALS)
        report = reports.retrieve_report('CLICK_PERFORMANCE_REPORT', 'YESTERDAY', ['CampaignId', 'GclId'])

        self.assertEqual(samples.EXPECTED_SUBSET_HEADERS, report.headers)
        self.assertEqual(samples.EXPECTED_LENGTH, report.length)
        self.assertEqual(samples.EXPECTED_SUBSET_FIRST_ROW, report.rows.next())
コード例 #5
0
    def test_build_report_request_with_specified_fields_invalid(self,
                                                                mocked__retrieve_report_data,
                                                                mocked__validate_type,
                                                                mocked_report_type_fields,
                                                                mocked__init__):
        mocked__init__.return_value = None

        fields = ['AccountDescriptiveName', 'Page', 'InvalidReportFieldName']
        reports = Reports(credentials={})

        with self.assertRaises(InvalidReportFieldNameError):
            reports.retrieve_report('CLICK_PERFORMANCE_REPORT', 'YESTERDAY', fields)
コード例 #6
0
    def test_build_report_request_with_specified_fields_valid(self,
                                                              mocked__retrieve_report_data,
                                                              mocked__validate_type,
                                                              mocked_report_type_fields,
                                                              mocked__init__):
        mocked__init__.return_value = None
        mocked_report_type_fields.return_value = samples.SAMPLE_REPORT_TYPE_FIELDS

        fields = ['AccountDescriptiveName', 'Page']

        reports = Reports(credentials={})
        reports.retrieve_report('CLICK_PERFORMANCE_REPORT', 'YESTERDAY', fields)
コード例 #7
0
    def test_build_report_request_without_specified_fields(self,
                                                           mocked__retrieve_report_data,
                                                           mocked__validate_type,
                                                           mocked_report_type_fields,
                                                           mocked__init__):
        mocked__init__.return_value = None
        mocked_report_type_fields.return_value = samples.SAMPLE_REPORT_TYPE_FIELDS

        reports = Reports(credentials={})
        reports.retrieve_report('CLICK_PERFORMANCE_REPORT', 'YESTERDAY')

        mocked__retrieve_report_data.assert_called_once_with(reports, samples.EXPECTED_REPORT_REQUEST)