diff --git a/examples/sign/connector-sign.yml b/examples/sign/connector-sign.yml index d9bf1839..63c49aae 100644 --- a/examples/sign/connector-sign.yml +++ b/examples/sign/connector-sign.yml @@ -15,4 +15,6 @@ deactivate_users: False # Instead of storing API key in plaintext, store in OS credential keychain # See https://adobe-apiplatform.github.io/user-sync.py/en/user-manual/sign_sync.html#securing-the-api-key +# Comment out integration_key above when using secure_integration_key_key. +# Store the credential with admin_email as its username. #secure_integration_key_key: sign_key diff --git a/tests/test_sign_config.py b/tests/test_sign_config.py index 0cc5a62e..c5ee606a 100644 --- a/tests/test_sign_config.py +++ b/tests/test_sign_config.py @@ -2,7 +2,7 @@ import pytest -from user_sync.config.sign_sync import SignConfigLoader +from user_sync.config.sign_sync import SignConfigLoader, connector_schema from user_sync.config.user_sync import DictConfig from user_sync.engine.common import AdobeGroup from user_sync.engine.sign import SignSyncEngine @@ -162,6 +162,19 @@ def test_target_config_options(default_sign_args, modify_sign_config): config.get_target_options() +@pytest.mark.parametrize('credential', [ + {'integration_key': 'plaintext-key'}, + {'secure_integration_key_key': 'AdobeSignCreds'}, +]) +def test_connector_schema_credentials(credential): + options = { + 'host': 'api.echosignstage.com', + 'admin_email': 'user@example.com', + **credential, + } + assert connector_schema().validate(options) == options + + def test_logging_config(default_sign_args): config = SignConfigLoader(default_sign_args) logging_config = config.get_logging_config() diff --git a/user_sync/config/sign_sync.py b/user_sync/config/sign_sync.py index e633e5bd..27f97d9a 100644 --- a/user_sync/config/sign_sync.py +++ b/user_sync/config/sign_sync.py @@ -66,7 +66,7 @@ def connector_schema() -> Schema: from schema import And, Optional, Or, Regex return Schema({ 'host': str, - Or('integration_key', 'secure_integration_key'): str, + Or('integration_key', 'secure_integration_key_key'): str, 'admin_email': str, Optional('create_users'): Optional(bool), Optional('deactivate_users'): Optional(bool),