11#
2- # Copyright (c) 2023 Airbyte, Inc., all rights reserved.
2+ # Copyright (c) 2025 Airbyte, Inc., all rights reserved.
33#
4+ from unittest .mock import patch
45
56from freezegun import freeze_time
67
8+ from airbyte_cdk .manifest_migrations import migrations_registry
79from airbyte_cdk .manifest_migrations .migration_handler import (
810 ManifestMigrationHandler ,
911)
10- from airbyte_cdk .sources .declarative .manifest_declarative_source import ManifestDeclarativeSource
12+ from airbyte_cdk .manifest_migrations .migrations import (
13+ HttpRequesterPathToUrl ,
14+ HttpRequesterRequestBodyJsonDataToRequestBody ,
15+ HttpRequesterUrlBaseToUrl ,
16+ )
1117from airbyte_cdk .sources .declarative .parsers .manifest_reference_resolver import (
1218 ManifestReferenceResolver ,
1319)
20+ from unit_tests .manifest_migrations .conftest import DummyMigration
1421
1522resolver = ManifestReferenceResolver ()
1623
1724
1825@freeze_time ("2025-04-01" )
26+ @patch .dict (
27+ migrations_registry .MANIFEST_MIGRATIONS ,
28+ {
29+ ">=6.48.2,<6.50.0" : [
30+ HttpRequesterUrlBaseToUrl ,
31+ HttpRequesterPathToUrl ,
32+ HttpRequesterRequestBodyJsonDataToRequestBody ,
33+ ]
34+ },
35+ clear = True ,
36+ )
1937def test_manifest_resolve_migrate_url_base_and_path_to_url (
2038 manifest_with_url_base_to_migrate_to_url ,
2139 expected_manifest_with_url_base_migrated_to_url ,
@@ -25,7 +43,9 @@ def test_manifest_resolve_migrate_url_base_and_path_to_url(
2543 when the `url_base` is migrated to `url` and the `path` is joined to `url`.
2644 """
2745
28- resolved_manifest = resolver .preprocess_manifest (manifest_with_url_base_to_migrate_to_url )
46+ resolved_manifest = ManifestReferenceResolver ().preprocess_manifest (
47+ manifest_with_url_base_to_migrate_to_url
48+ )
2949 migrated_manifest = ManifestMigrationHandler (dict (resolved_manifest )).apply_migrations ()
3050
3151 assert migrated_manifest == expected_manifest_with_url_base_migrated_to_url
@@ -50,6 +70,7 @@ def test_manifest_resolve_migrate_request_body_json_and_data_to_request_body(
5070
5171
5272@freeze_time ("2025-04-01" )
73+ @patch .dict (migrations_registry .MANIFEST_MIGRATIONS , {"0.0.0" : [DummyMigration ]}, clear = True )
5374def test_manifest_resolve_do_not_migrate (
5475 manifest_with_migrated_url_base_and_path_is_joined_to_url ,
5576) -> None :
@@ -58,7 +79,7 @@ def test_manifest_resolve_do_not_migrate(
5879 after the `url_base` and `path` is joined to `url`.
5980 """
6081
61- resolved_manifest = resolver .preprocess_manifest (
82+ resolved_manifest = ManifestReferenceResolver () .preprocess_manifest (
6283 manifest_with_migrated_url_base_and_path_is_joined_to_url
6384 )
6485 migrated_manifest = ManifestMigrationHandler (dict (resolved_manifest )).apply_migrations ()
0 commit comments