34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
#
|
|
# Copyright (c) 2023 Airbyte, Inc., all rights reserved.
|
|
#
|
|
|
|
import os
|
|
|
|
import pytest
|
|
import yaml
|
|
from octavia_cli.generate.commands import generate_source_or_destination
|
|
|
|
pytestmark = pytest.mark.integration
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
("definition_type, definition_id, resource_name"),
|
|
[
|
|
("source", "6371b14b-bc68-4236-bfbd-468e8df8e968", "test_generate_source"),
|
|
("destination", "22f6c74f-5699-40ff-833c-4a879ea40133", "test_generate_destination"),
|
|
],
|
|
)
|
|
def test_generate_source_or_destination(
|
|
octavia_tmp_project_directory, api_client, workspace_id, definition_type, definition_id, resource_name
|
|
):
|
|
current_path = os.getcwd()
|
|
os.chdir(octavia_tmp_project_directory)
|
|
generate_source_or_destination(definition_type, api_client, workspace_id, definition_id, resource_name)
|
|
expected_output_path = f"{definition_type}s/{resource_name}/configuration.yaml"
|
|
with open(expected_output_path, "r") as f:
|
|
parsed_yaml = yaml.safe_load(f)
|
|
assert parsed_yaml["resource_name"] == resource_name
|
|
assert parsed_yaml["definition_type"] == definition_type
|
|
assert parsed_yaml["definition_id"] == definition_id
|
|
os.chdir(current_path)
|