66 lines
3.1 KiB
Python
66 lines
3.1 KiB
Python
#
|
|
# Copyright (c) 2023 Airbyte, Inc., all rights reserved.
|
|
#
|
|
|
|
|
|
import pytest
|
|
|
|
pytestmark = pytest.mark.integration
|
|
|
|
|
|
def test_source_lifecycle(source, workspace_id):
|
|
assert not source.was_created
|
|
source.create()
|
|
source.state = source._get_state_from_file(source.configuration_path, workspace_id)
|
|
assert source.was_created
|
|
assert not source.get_diff_with_remote_resource()
|
|
source.raw_configuration["configuration"]["pokemon_name"] = "snorlax"
|
|
source.configuration = source._deserialize_raw_configuration()
|
|
assert 'changed from "ditto" to "snorlax"' in source.get_diff_with_remote_resource()
|
|
source.update()
|
|
assert not source.get_diff_with_remote_resource()
|
|
assert source.catalog["streams"][0]["config"]["alias_name"] == "pokemon"
|
|
|
|
|
|
def test_destination_lifecycle(destination, workspace_id):
|
|
assert not destination.was_created
|
|
destination.create()
|
|
destination.state = destination._get_state_from_file(destination.configuration_path, workspace_id)
|
|
assert destination.was_created
|
|
assert not destination.get_diff_with_remote_resource()
|
|
destination.raw_configuration["configuration"]["host"] = "foo"
|
|
destination.configuration = destination._deserialize_raw_configuration()
|
|
assert 'changed from "localhost" to "foo"' in destination.get_diff_with_remote_resource()
|
|
destination.update()
|
|
assert not destination.get_diff_with_remote_resource()
|
|
|
|
|
|
def test_connection_lifecycle(source, destination, connection, workspace_id):
|
|
assert source.was_created
|
|
assert destination.was_created
|
|
assert not connection.was_created
|
|
connection.create()
|
|
connection.state = connection._get_state_from_file(connection.configuration_path, workspace_id)
|
|
assert connection.was_created
|
|
connection.raw_configuration["configuration"]["status"] = "inactive"
|
|
connection.configuration = connection._deserialize_raw_configuration()
|
|
assert 'changed from "active" to "inactive"' in connection.get_diff_with_remote_resource()
|
|
connection.update()
|
|
|
|
|
|
def test_connection_lifecycle_with_normalization(source, destination, connection_with_normalization, workspace_id):
|
|
assert source.was_created
|
|
assert destination.was_created
|
|
assert not connection_with_normalization.was_created
|
|
connection_with_normalization.create()
|
|
connection_with_normalization.state = connection_with_normalization._get_state_from_file(
|
|
connection_with_normalization.configuration_path, workspace_id
|
|
)
|
|
assert connection_with_normalization.was_created
|
|
assert connection_with_normalization.remote_resource["operations"][0]["operation_id"] is not None
|
|
assert connection_with_normalization.remote_resource["operations"][0]["operator_configuration"]["normalization"]["option"] == "basic"
|
|
connection_with_normalization.raw_configuration["configuration"]["status"] = "inactive"
|
|
connection_with_normalization.configuration = connection_with_normalization._deserialize_raw_configuration()
|
|
assert 'changed from "active" to "inactive"' in connection_with_normalization.get_diff_with_remote_resource()
|
|
connection_with_normalization.update()
|