Skip to content

Commit

Permalink
Source Google Analytics v4: certify to GA (#23872)
Browse files Browse the repository at this point in the history
* Source Google Analytics v4: check custom reports; remove date as required field

* Source Google Analytics: fix unit tests

* Source Google Analytics: fix unit tests

* Source Google Analytics: update to latest cdk

* Source Google Analytics: http -> https

* Source Google Analytics: add allowed hosts

* Source Google Analytics: docs update

* Apply suggestions from code review

Co-authored-by: Ella Rohm-Ensing <erohmensing@gmail.com>

* Source Google Analytics: docs update

* Source Google Analytics: add expected records

* auto-bump connector version

---------

Co-authored-by: Ella Rohm-Ensing <erohmensing@gmail.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
  • Loading branch information
3 people authored Mar 16, 2023
1 parent 62757c9 commit 3e81251
Show file tree
Hide file tree
Showing 11 changed files with 324 additions and 95 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -773,7 +773,7 @@
- name: Google Analytics 4 (GA4)
sourceDefinitionId: 3cc2eafd-84aa-4dca-93af-322d9dfeec1a
dockerRepository: airbyte/source-google-analytics-data-api
dockerImageTag: 0.1.2
dockerImageTag: 0.1.3
documentationUrl: https://docs.airbyte.com/integrations/sources/google-analytics-data-api/
icon: google-analytics.svg
sourceType: api
Expand Down
8 changes: 4 additions & 4 deletions airbyte-config/init/src/main/resources/seed/source_specs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5795,12 +5795,12 @@
oauthFlowOutputParameters:
- - "access_token"
- - "refresh_token"
- dockerImage: "airbyte/source-google-analytics-data-api:0.1.2"
- dockerImage: "airbyte/source-google-analytics-data-api:0.1.3"
spec:
documentationUrl: "https://docs.airbyte.com/integrations/sources/google-analytics-v4"
documentationUrl: "https://docs.airbyte.com/integrations/sources/google-analytics-data-api"
connectionSpecification:
$schema: "http://json-schema.org/draft-07/schema#"
title: "Google Analytics 4 (GA4) Spec"
$schema: "https://json-schema.org/draft-07/schema#"
title: "Google Analytics (Data API) Spec"
type: "object"
required:
- "property_id"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,5 @@ COPY source_google_analytics_data_api ./source_google_analytics_data_api
ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py"
ENTRYPOINT ["python", "/airbyte/integration_code/main.py"]

LABEL io.airbyte.version=0.1.2
LABEL io.airbyte.version=0.1.3
LABEL io.airbyte.name=airbyte/source-google-analytics-data-api
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference)
# for more information about how to configure these tests
connector_image: airbyte/source-google-analytics-data-api:dev
test_strictness_level: high
acceptance_tests:
spec:
tests:
Expand All @@ -17,36 +18,83 @@ acceptance_tests:
basic_read:
tests:
- config_path: "secrets/config.json"
configured_catalog_path: "integration_tests/configured_catalog.json"
empty_streams:
- name: "traffic_sources"
bypass_reason: "The data contains business information"
expect_records:
path: "integration_tests/expected_records.jsonl"
extra_fields: no
exact_order: no
extra_records: yes
ignored_fields:
daily_active_users:
- name: uuid
bypass_reason: "dynamically created field"
weekly_active_users:
- name: uuid
bypass_reason: "dynamically created field"
four_weekly_active_users:
- name: uuid
bypass_reason: "dynamically created field"
devices:
- name: uuid
bypass_reason: "dynamically created field"
- name: averageSessionDuration
bypass_reason: "dynamic field"
locations:
- name: uuid
bypass_reason: "dynamically created field"
- name: averageSessionDuration
bypass_reason: "dynamic field"
pages:
- name: uuid
bypass_reason: "dynamically created field"
- name: screenPageViews
bypass_reason: "dynamically created field"
- name: bounceRate
bypass_reason: "dynamically created field"
website_overview:
- name: uuid
bypass_reason: "dynamically created field"
- name: averageSessionDuration
bypass_reason: "dynamically created field"
full_refresh:
tests:
- config_path: "secrets/config.json"
configured_catalog_path: "integration_tests/configured_catalog.json"
ignored_fields:
daily_active_users:
- name: "uuid"
bypass_reason: "property is changing from sync to sync"
- name: uuid
bypass_reason: "dynamically created field"
weekly_active_users:
- name: "uuid"
bypass_reason: "property is changing from sync to sync"
- name: uuid
bypass_reason: "dynamically created field"
four_weekly_active_users:
- name: "uuid"
bypass_reason: "property is changing from sync to sync"
- name: uuid
bypass_reason: "dynamically created field"
devices:
- name: "uuid"
bypass_reason: "property is changing from sync to sync"
- name: uuid
bypass_reason: "dynamically created field"
- name: averageSessionDuration
bypass_reason: "dynamic field"
locations:
- name: "uuid"
bypass_reason: "property is changing from sync to sync"
- name: uuid
bypass_reason: "dynamically created field"
- name: averageSessionDuration
bypass_reason: "dynamic field"
pages:
- name: "uuid"
bypass_reason: "property is changing from sync to sync"
- name: uuid
bypass_reason: "dynamically created field"
traffic_sources:
- name: "uuid"
bypass_reason: "property is changing from sync to sync"
- name: uuid
bypass_reason: "dynamically created field"
- name: averageSessionDuration
bypass_reason: "dynamically created field"
website_overview:
- name: "uuid"
bypass_reason: "property is changing from sync to sync"
- name: uuid
bypass_reason: "dynamically created field"
- name: averageSessionDuration
bypass_reason: "dynamically created field"
incremental:
tests:
- config_path: "secrets/config.json"
Expand Down
Loading

0 comments on commit 3e81251

Please sign in to comment.