From f0d0c05ef3e88a9b01beb958b127a3732c1e236b Mon Sep 17 00:00:00 2001 From: Danylo Jablonski <150933663+DanyloGL@users.noreply.github.com> Date: Fri, 19 Dec 2025 14:50:04 +0200 Subject: [PATCH] Source-YouTube-Data: enable acceptance tests (#70971) Co-authored-by: Octavia Squidington III --- .../acceptance-test-config.yml | 23 +++-- .../integration_tests/__init__.py | 3 + .../integration_tests/acceptance.py | 15 ++++ .../integration_tests/configured_catalog.json | 49 ++++++++++ .../integration_tests/invalid_config.json | 11 +++ .../source-youtube-data/manifest.yaml | 2 +- .../source-youtube-data/metadata.yaml | 15 +++- docs/integrations/sources/youtube-data.md | 89 ++++++++++--------- 8 files changed, 156 insertions(+), 51 deletions(-) create mode 100644 airbyte-integrations/connectors/source-youtube-data/integration_tests/__init__.py create mode 100644 airbyte-integrations/connectors/source-youtube-data/integration_tests/acceptance.py create mode 100644 airbyte-integrations/connectors/source-youtube-data/integration_tests/configured_catalog.json create mode 100644 airbyte-integrations/connectors/source-youtube-data/integration_tests/invalid_config.json diff --git a/airbyte-integrations/connectors/source-youtube-data/acceptance-test-config.yml b/airbyte-integrations/connectors/source-youtube-data/acceptance-test-config.yml index bfa5088005a..f6a87a8221c 100644 --- a/airbyte-integrations/connectors/source-youtube-data/acceptance-test-config.yml +++ b/airbyte-integrations/connectors/source-youtube-data/acceptance-test-config.yml @@ -6,12 +6,25 @@ acceptance_tests: tests: - spec_path: "manifest.yaml" connection: - bypass_reason: "This is a builder contribution, and we do not have secrets at this time" + tests: + - config_path: "secrets/config_oauth.json" + status: "succeed" + - config_path: "secrets/config.json" + status: "succeed" + - config_path: "integration_tests/invalid_config.json" + status: "failed" discovery: - bypass_reason: "This is a builder contribution, and we do not have secrets at this time" + tests: + - config_path: "secrets/config_oauth.json" basic_read: - bypass_reason: "This is a builder contribution, and we do not have secrets at this time" + tests: + - config_path: "secrets/config_oauth.json" + configured_catalog_path: "integration_tests/configured_catalog.json" + timeout_seconds: 1200 incremental: - bypass_reason: "This is a builder contribution, and we do not have secrets at this time" + bypass_reason: "Connector doesn't support Incremental sync for any stream" full_refresh: - bypass_reason: "This is a builder contribution, and we do not have secrets at this time" + tests: + - config_path: "secrets/config_oauth.json" + configured_catalog_path: "integration_tests/configured_catalog.json" + timeout_seconds: 3600 diff --git a/airbyte-integrations/connectors/source-youtube-data/integration_tests/__init__.py b/airbyte-integrations/connectors/source-youtube-data/integration_tests/__init__.py new file mode 100644 index 00000000000..2acb8555b30 --- /dev/null +++ b/airbyte-integrations/connectors/source-youtube-data/integration_tests/__init__.py @@ -0,0 +1,3 @@ +# +# Copyright (c) 2025 Airbyte, Inc., all rights reserved. +# diff --git a/airbyte-integrations/connectors/source-youtube-data/integration_tests/acceptance.py b/airbyte-integrations/connectors/source-youtube-data/integration_tests/acceptance.py new file mode 100644 index 00000000000..fbed37992cb --- /dev/null +++ b/airbyte-integrations/connectors/source-youtube-data/integration_tests/acceptance.py @@ -0,0 +1,15 @@ +# +# Copyright (c) 2023 Airbyte, Inc., all rights reserved. +# + + +import pytest + + +pytest_plugins = ("connector_acceptance_test.plugin",) + + +@pytest.fixture(scope="session", autouse=True) +def connector_setup(): + """This fixture is a placeholder for external resources that acceptance test might require.""" + yield diff --git a/airbyte-integrations/connectors/source-youtube-data/integration_tests/configured_catalog.json b/airbyte-integrations/connectors/source-youtube-data/integration_tests/configured_catalog.json new file mode 100644 index 00000000000..e6bc7671d93 --- /dev/null +++ b/airbyte-integrations/connectors/source-youtube-data/integration_tests/configured_catalog.json @@ -0,0 +1,49 @@ +{ + "streams": [ + { + "stream": { + "name": "video", + "json_schema": {}, + "supported_sync_modes": ["full_refresh"] + }, + "sync_mode": "full_refresh", + "destination_sync_mode": "append" + }, + { + "stream": { + "name": "channels", + "json_schema": {}, + "supported_sync_modes": ["full_refresh"] + }, + "sync_mode": "full_refresh", + "destination_sync_mode": "append" + }, + { + "stream": { + "name": "comments", + "json_schema": {}, + "supported_sync_modes": ["full_refresh"] + }, + "sync_mode": "full_refresh", + "destination_sync_mode": "append" + }, + { + "stream": { + "name": "videos", + "json_schema": {}, + "supported_sync_modes": ["full_refresh"] + }, + "sync_mode": "full_refresh", + "destination_sync_mode": "append" + }, + { + "stream": { + "name": "channel_comments", + "json_schema": {}, + "supported_sync_modes": ["full_refresh"] + }, + "sync_mode": "full_refresh", + "destination_sync_mode": "append" + } + ] +} diff --git a/airbyte-integrations/connectors/source-youtube-data/integration_tests/invalid_config.json b/airbyte-integrations/connectors/source-youtube-data/integration_tests/invalid_config.json new file mode 100644 index 00000000000..a659c67769f --- /dev/null +++ b/airbyte-integrations/connectors/source-youtube-data/integration_tests/invalid_config.json @@ -0,0 +1,11 @@ +{ + "start_date": "2020-01-01", + "end_date": "2020-01-02", + "account_ids": [], + "credentials": { + "auth_method": "oAuth2.0", + "client_id": "client_id", + "client_secret": "client_secret", + "refresh_token": "refresh_token" + } +} diff --git a/airbyte-integrations/connectors/source-youtube-data/manifest.yaml b/airbyte-integrations/connectors/source-youtube-data/manifest.yaml index 6cccbdea7ea..2c15fa99a06 100644 --- a/airbyte-integrations/connectors/source-youtube-data/manifest.yaml +++ b/airbyte-integrations/connectors/source-youtube-data/manifest.yaml @@ -10,7 +10,7 @@ description: >- check: type: CheckStream stream_names: - - video + - channels definitions: streams: diff --git a/airbyte-integrations/connectors/source-youtube-data/metadata.yaml b/airbyte-integrations/connectors/source-youtube-data/metadata.yaml index 21e23f52b89..93f7f2af58e 100644 --- a/airbyte-integrations/connectors/source-youtube-data/metadata.yaml +++ b/airbyte-integrations/connectors/source-youtube-data/metadata.yaml @@ -17,7 +17,7 @@ data: connectorSubtype: api connectorType: source definitionId: 743a2a44-fd13-4109-a8fe-fb0e68f467f5 - dockerImageTag: 0.0.42 + dockerImageTag: 0.0.43 dockerRepository: airbyte/source-youtube-data githubIssueLabel: source-youtube-data icon: icon.svg @@ -33,6 +33,19 @@ data: ab_internal: ql: 100 sl: 100 + connectorTestSuitesOptions: + - suite: acceptanceTests + testSecrets: + - name: SECRET_YOUTUBE-DATA_CREDS + fileName: config_oauth.json + secretStore: + type: GSM + alias: airbyte-connector-testing-secret-store + - name: SECRET_YOUTUBE-DATA_API_KEY_CREDS + fileName: config.json + secretStore: + type: GSM + alias: airbyte-connector-testing-secret-store externalDocumentationUrls: - title: YouTube Data API v3 url: https://developers.google.com/youtube/v3 diff --git a/docs/integrations/sources/youtube-data.md b/docs/integrations/sources/youtube-data.md index 20fe1f08ed7..3d3982aa355 100644 --- a/docs/integrations/sources/youtube-data.md +++ b/docs/integrations/sources/youtube-data.md @@ -117,49 +117,50 @@ The YouTube Data API source connector supports the following sync modes:
Expand to review -| Version | Date | Pull Request | Subject | -|------------------|-------------------|--------------|----------------| -| 0.0.42 | 2025-11-23 | [69315](https://github.com/airbytehq/airbyte/pull/69315) | Add OAuth 2.0 support | -| 0.0.41 | 2025-11-25 | [70079](https://github.com/airbytehq/airbyte/pull/70079) | Update dependencies | -| 0.0.40 | 2025-11-18 | [69532](https://github.com/airbytehq/airbyte/pull/69532) | Update dependencies | -| 0.0.39 | 2025-10-29 | [68942](https://github.com/airbytehq/airbyte/pull/68942) | Update dependencies | -| 0.0.38 | 2025-10-21 | [68456](https://github.com/airbytehq/airbyte/pull/68456) | Update dependencies | -| 0.0.37 | 2025-10-14 | [67987](https://github.com/airbytehq/airbyte/pull/67987) | Update dependencies | -| 0.0.36 | 2025-10-07 | [67241](https://github.com/airbytehq/airbyte/pull/67241) | Update dependencies | -| 0.0.35 | 2025-09-30 | [66846](https://github.com/airbytehq/airbyte/pull/66846) | Update dependencies | -| 0.0.34 | 2025-09-24 | [66475](https://github.com/airbytehq/airbyte/pull/66475) | Update dependencies | -| 0.0.33 | 2025-09-09 | [65731](https://github.com/airbytehq/airbyte/pull/65731) | Update dependencies | -| 0.0.32 | 2025-08-24 | [65468](https://github.com/airbytehq/airbyte/pull/65468) | Update dependencies | -| 0.0.31 | 2025-08-09 | [64863](https://github.com/airbytehq/airbyte/pull/64863) | Update dependencies | -| 0.0.30 | 2025-08-02 | [64386](https://github.com/airbytehq/airbyte/pull/64386) | Update dependencies | -| 0.0.29 | 2025-07-26 | [64056](https://github.com/airbytehq/airbyte/pull/64056) | Update dependencies | -| 0.0.28 | 2025-07-19 | [63640](https://github.com/airbytehq/airbyte/pull/63640) | Update dependencies | -| 0.0.27 | 2025-07-12 | [63216](https://github.com/airbytehq/airbyte/pull/63216) | Update dependencies | -| 0.0.26 | 2025-07-05 | [62701](https://github.com/airbytehq/airbyte/pull/62701) | Update dependencies | -| 0.0.25 | 2025-06-28 | [62233](https://github.com/airbytehq/airbyte/pull/62233) | Update dependencies | -| 0.0.24 | 2025-06-21 | [61759](https://github.com/airbytehq/airbyte/pull/61759) | Update dependencies | -| 0.0.23 | 2025-06-15 | [61171](https://github.com/airbytehq/airbyte/pull/61171) | Update dependencies | -| 0.0.22 | 2025-05-24 | [60786](https://github.com/airbytehq/airbyte/pull/60786) | Update dependencies | -| 0.0.21 | 2025-05-10 | [59968](https://github.com/airbytehq/airbyte/pull/59968) | Update dependencies | -| 0.0.20 | 2025-05-04 | [59566](https://github.com/airbytehq/airbyte/pull/59566) | Update dependencies | -| 0.0.19 | 2025-04-26 | [58930](https://github.com/airbytehq/airbyte/pull/58930) | Update dependencies | -| 0.0.18 | 2025-04-19 | [58550](https://github.com/airbytehq/airbyte/pull/58550) | Update dependencies | -| 0.0.17 | 2025-04-13 | [58052](https://github.com/airbytehq/airbyte/pull/58052) | Update dependencies | -| 0.0.16 | 2025-04-05 | [57379](https://github.com/airbytehq/airbyte/pull/57379) | Update dependencies | -| 0.0.15 | 2025-03-29 | [56821](https://github.com/airbytehq/airbyte/pull/56821) | Update dependencies | -| 0.0.14 | 2025-03-22 | [56338](https://github.com/airbytehq/airbyte/pull/56338) | Update dependencies | -| 0.0.13 | 2025-03-09 | [55664](https://github.com/airbytehq/airbyte/pull/55664) | Update dependencies | -| 0.0.12 | 2025-03-01 | [55162](https://github.com/airbytehq/airbyte/pull/55162) | Update dependencies | -| 0.0.11 | 2025-02-23 | [54632](https://github.com/airbytehq/airbyte/pull/54632) | Update dependencies | -| 0.0.10 | 2025-02-15 | [53087](https://github.com/airbytehq/airbyte/pull/53087) | Update dependencies | -| 0.0.9 | 2025-01-25 | [52387](https://github.com/airbytehq/airbyte/pull/52387) | Update dependencies | -| 0.0.8 | 2025-01-18 | [52006](https://github.com/airbytehq/airbyte/pull/52006) | Update dependencies | -| 0.0.7 | 2025-01-11 | [51380](https://github.com/airbytehq/airbyte/pull/51380) | Update dependencies | -| 0.0.6 | 2025-01-04 | [50753](https://github.com/airbytehq/airbyte/pull/50753) | Update dependencies | -| 0.0.5 | 2024-12-21 | [50326](https://github.com/airbytehq/airbyte/pull/50326) | Update dependencies | -| 0.0.4 | 2024-12-14 | [49756](https://github.com/airbytehq/airbyte/pull/49756) | Update dependencies | -| 0.0.3 | 2024-12-12 | [49403](https://github.com/airbytehq/airbyte/pull/49403) | Update dependencies | -| 0.0.2 | 2024-12-11 | [49125](https://github.com/airbytehq/airbyte/pull/49125) | Starting with this version, the Docker image is now rootless. Please note that this and future versions will not be compatible with Airbyte versions earlier than 0.64 | -| 0.0.1 | 2024-11-08 | | Initial release by [@bala-ceg](https://github.com/bala-ceg) via Connector Builder | +| Version | Date | Pull Request | Subject | +|---------|------------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 0.0.43 | 2025-12-17 | [70971](https://github.com/airbytehq/airbyte/pull/70971) | Add acceptance tests +| 0.0.42 | 2025-11-23 | [69315](https://github.com/airbytehq/airbyte/pull/69315) | Add OAuth 2.0 support | +| 0.0.41 | 2025-11-25 | [70079](https://github.com/airbytehq/airbyte/pull/70079) | Update dependencies| +| 0.0.40 | 2025-11-18 | [69532](https://github.com/airbytehq/airbyte/pull/69532) | Update dependencies| +| 0.0.39 | 2025-10-29 | [68942](https://github.com/airbytehq/airbyte/pull/68942) | Update dependencies| +| 0.0.38 | 2025-10-21 | [68456](https://github.com/airbytehq/airbyte/pull/68456) | Update dependencies| +| 0.0.37 | 2025-10-14 | [67987](https://github.com/airbytehq/airbyte/pull/67987) | Update dependencies| +| 0.0.36 | 2025-10-07 | [67241](https://github.com/airbytehq/airbyte/pull/67241) | Update dependencies| +| 0.0.35 | 2025-09-30 | [66846](https://github.com/airbytehq/airbyte/pull/66846) | Update dependencies| +| 0.0.34 | 2025-09-24 | [66475](https://github.com/airbytehq/airbyte/pull/66475) | Update dependencies| +| 0.0.33 | 2025-09-09 | [65731](https://github.com/airbytehq/airbyte/pull/65731) | Update dependencies| +| 0.0.32 | 2025-08-24 | [65468](https://github.com/airbytehq/airbyte/pull/65468) | Update dependencies| +| 0.0.31 | 2025-08-09 | [64863](https://github.com/airbytehq/airbyte/pull/64863) | Update dependencies| +| 0.0.30 | 2025-08-02 | [64386](https://github.com/airbytehq/airbyte/pull/64386) | Update dependencies| +| 0.0.29 | 2025-07-26 | [64056](https://github.com/airbytehq/airbyte/pull/64056) | Update dependencies| +| 0.0.28 | 2025-07-19 | [63640](https://github.com/airbytehq/airbyte/pull/63640) | Update dependencies| +| 0.0.27 | 2025-07-12 | [63216](https://github.com/airbytehq/airbyte/pull/63216) | Update dependencies| +| 0.0.26 | 2025-07-05 | [62701](https://github.com/airbytehq/airbyte/pull/62701) | Update dependencies| +| 0.0.25 | 2025-06-28 | [62233](https://github.com/airbytehq/airbyte/pull/62233) | Update dependencies| +| 0.0.24 | 2025-06-21 | [61759](https://github.com/airbytehq/airbyte/pull/61759) | Update dependencies| +| 0.0.23 | 2025-06-15 | [61171](https://github.com/airbytehq/airbyte/pull/61171) | Update dependencies| +| 0.0.22 | 2025-05-24 | [60786](https://github.com/airbytehq/airbyte/pull/60786) | Update dependencies| +| 0.0.21 | 2025-05-10 | [59968](https://github.com/airbytehq/airbyte/pull/59968) | Update dependencies| +| 0.0.20 | 2025-05-04 | [59566](https://github.com/airbytehq/airbyte/pull/59566) | Update dependencies| +| 0.0.19 | 2025-04-26 | [58930](https://github.com/airbytehq/airbyte/pull/58930) | Update dependencies| +| 0.0.18 | 2025-04-19 | [58550](https://github.com/airbytehq/airbyte/pull/58550) | Update dependencies| +| 0.0.17 | 2025-04-13 | [58052](https://github.com/airbytehq/airbyte/pull/58052) | Update dependencies| +| 0.0.16 | 2025-04-05 | [57379](https://github.com/airbytehq/airbyte/pull/57379) | Update dependencies| +| 0.0.15 | 2025-03-29 | [56821](https://github.com/airbytehq/airbyte/pull/56821) | Update dependencies| +| 0.0.14 | 2025-03-22 | [56338](https://github.com/airbytehq/airbyte/pull/56338) | Update dependencies| +| 0.0.13 | 2025-03-09 | [55664](https://github.com/airbytehq/airbyte/pull/55664) | Update dependencies| +| 0.0.12 | 2025-03-01 | [55162](https://github.com/airbytehq/airbyte/pull/55162) | Update dependencies| +| 0.0.11 | 2025-02-23 | [54632](https://github.com/airbytehq/airbyte/pull/54632) | Update dependencies| +| 0.0.10 | 2025-02-15 | [53087](https://github.com/airbytehq/airbyte/pull/53087) | Update dependencies| +| 0.0.9 | 2025-01-25 | [52387](https://github.com/airbytehq/airbyte/pull/52387) | Update dependencies| +| 0.0.8 | 2025-01-18 | [52006](https://github.com/airbytehq/airbyte/pull/52006) | Update dependencies| +| 0.0.7 | 2025-01-11 | [51380](https://github.com/airbytehq/airbyte/pull/51380) | Update dependencies| +| 0.0.6 | 2025-01-04 | [50753](https://github.com/airbytehq/airbyte/pull/50753) | Update dependencies| +| 0.0.5 | 2024-12-21 | [50326](https://github.com/airbytehq/airbyte/pull/50326) | Update dependencies| +| 0.0.4 | 2024-12-14 | [49756](https://github.com/airbytehq/airbyte/pull/49756) | Update dependencies| +| 0.0.3 | 2024-12-12 | [49403](https://github.com/airbytehq/airbyte/pull/49403) | Update dependencies| +| 0.0.2 | 2024-12-11 | [49125](https://github.com/airbytehq/airbyte/pull/49125) | Starting with this version, the Docker image is now rootless. Please note that this and future versions will not be compatible with Airbyte versions earlier than 0.64 | +| 0.0.1 | 2024-11-08 | | Initial release by [@bala-ceg](https://github.com/bala-ceg) via Connector Builder |