コード例 #1
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)
コード例 #2
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)
コード例 #3
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)
コード例 #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())