| Index: tests/test_xtm_translations_utils.py |
| diff --git a/tests/test_xtm_translations_utils.py b/tests/test_xtm_translations_utils.py |
| index 2759c9d32a342cc0004b38b861c6f89ffe1a4f63..cfc506a2be48c81fb14ed1378dd3e1d5a1eb2c79 100644 |
| --- a/tests/test_xtm_translations_utils.py |
| +++ b/tests/test_xtm_translations_utils.py |
| @@ -24,9 +24,9 @@ from cms.translations.xtm import utils |
| import cms.translations.xtm.constants as const |
| from cms.sources import FileSource |
| from cms.translations.xtm.xtm_api import XTMCloudAPI |
| -from tests.utils import exception_test |
| +from tests.utils import exception_test, XtmMockArgs |
| -_API_TOKEN = 'TheXTM-APIToken-VALID' |
| +_API_TOKEN_VALID = 'TheXTM-APIToken-VALID' |
| _PROJECT_ID = 1234 |
| @@ -158,7 +158,7 @@ def test_resolve_locales(intercept_populated, temp_site): |
| In this environment, no languages have to be added. |
| """ |
| - api = XTMCloudAPI(_API_TOKEN) |
| + api = XTMCloudAPI(_API_TOKEN_VALID) |
| source = FileSource(str(temp_site)) |
| source.write_to_config('XTM', 'project_id', str(_PROJECT_ID)) |
| @@ -170,7 +170,7 @@ def test_resolve_locales_adds_langs(intercept, temp_site): |
| In this environment, new target languages are added. |
| """ |
| - api = XTMCloudAPI(_API_TOKEN) |
| + api = XTMCloudAPI(_API_TOKEN_VALID) |
| source = FileSource(str(temp_site)) |
| source.write_to_config('XTM', 'project_id', str(_PROJECT_ID)) |
| exp_targets = {'de_DE'} |
| @@ -186,7 +186,7 @@ def test_resolve_locales_raise_exception(intercept_populated, temp_site): |
| In this environment, the API has more target languages configured than are |
| available online. We except an exception to be raised. |
| """ |
| - api = XTMCloudAPI(_API_TOKEN) |
| + api = XTMCloudAPI(_API_TOKEN_VALID) |
| api.add_target_languages(_PROJECT_ID, ['ro_RO']) |
| source = FileSource(str(temp_site)) |
| source.write_to_config('XTM', 'project_id', str(_PROJECT_ID)) |
| @@ -223,6 +223,32 @@ def test_write_data(toydir, path): |
| assert toydir.join(path).read('rb') == data |
| +@pytest.mark.parametrize('id_in,name,exp_err,exp_msg,exp_id', [ |
| + (1234, 'foo', Exception, |
| + const.ErrorMessages.WORKFLOW_NAME_AND_ID_PROVIDED, None), |
| + (None, None, Exception, const.ErrorMessages.NO_WORKFLOW_INFO, None), |
| + (None, 'foo', Exception, |
| + const.ErrorMessages.NO_WORKFLOW_FOR_NAME.format('foo'), None), |
| + (1234, None, None, None, 1234), |
| + (None, 'workflow1', None, None, 2222), |
| +]) |
| +def test_handle_workflows(intercept, id_in, name, exp_err, exp_msg, exp_id): |
| + """""" |
| + namespace = XtmMockArgs.CreationArgsNamespace() |
| + namespace.workflow_id = id_in |
| + namespace.workflow_name = name |
| + |
| + api = XTMCloudAPI(_API_TOKEN_VALID) |
| + |
| + if exp_err: |
| + exception_test(utils.extract_workflow_id, exp_err, exp_msg, api, |
| + namespace) |
| + else: |
| + id_out = utils.extract_workflow_id(api, namespace) |
| + |
| + assert id_out == exp_id |
| + |
| + |
| def test_extract_unicode_strings(temp_site): |
| """Test correct extraction of unicode strings for translation.""" |
| with FileSource(temp_site) as fs: |