diff --git a/ecs/crm-datafetch/src/system_var/environments.py b/ecs/crm-datafetch/src/system_var/environments.py index c457386f..6cf471ef 100644 --- a/ecs/crm-datafetch/src/system_var/environments.py +++ b/ecs/crm-datafetch/src/system_var/environments.py @@ -6,9 +6,9 @@ import src.system_var.constants as constants # ログ出力レベル。DEBUG, INFO, WARNING, ERRORの4つから指定する LOG_LEVEL = os.environ.get(constants.LOG_LEVEL, constants.LOG_LEVEL_INFO) # CRMへの認証処理のタイムアウト秒数 -CRM_AUTH_TIMEOUT = int(os.environ.get(constants.CRM_AUTH_TIMEOUT, 100)) +CRM_AUTH_TIMEOUT = float(os.environ.get(constants.CRM_AUTH_TIMEOUT, 100)) # CRMのレコード件数取得処理のタイムアウト秒数 -CRM_GET_RECORD_COUNT_TIMEOUT = int(os.environ.get(constants.CRM_GET_RECORD_COUNT_TIMEOUT, 300)) +CRM_GET_RECORD_COUNT_TIMEOUT = float(os.environ.get(constants.CRM_GET_RECORD_COUNT_TIMEOUT, 300)) # CRMのレコード件数取得処理の最大リトライ試行回数(処理の実施総回数) CRM_GET_RECORD_COUNT_MAX_RETRY_ATTEMPT = int(os.environ.get(constants.CRM_GET_RECORD_COUNT_MAX_RETRY_ATTEMPT, 4)) # CRMのレコード件数取得処理のリトライ時の初回待ち秒数 @@ -18,7 +18,7 @@ CRM_GET_RECORD_COUNT_RETRY_MIN_INTERVAL = int(os.environ.get(constants.CRM_GET_R # CRMのレコード件数取得処理のリトライ時の最大待ち秒数 CRM_GET_RECORD_COUNT_RETRY_MAX_INTERVAL = int(os.environ.get(constants.CRM_GET_RECORD_COUNT_RETRY_MAX_INTERVAL, 50)) # CRMのレコード取得処理のタイムアウト秒数 -CRM_FETCH_RECORD_TIMEOUT = int(os.environ.get(constants.CRM_FETCH_RECORD_TIMEOUT, 300)) +CRM_FETCH_RECORD_TIMEOUT = float(os.environ.get(constants.CRM_FETCH_RECORD_TIMEOUT, 300)) # CRMのレコード取得処理の最大リトライ試行回数(処理の実施総回数) CRM_FETCH_RECORD_MAX_RETRY_ATTEMPT = int(os.environ.get(constants.CRM_FETCH_RECORD_MAX_RETRY_ATTEMPT, 4)) # CRMのレコード取得処理のリトライ時の初回待ち秒数 diff --git a/ecs/crm-datafetch/tests/system_var/__init__.py b/ecs/crm-datafetch/tests/system_var/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/ecs/crm-datafetch/tests/system_var/test_environments.py b/ecs/crm-datafetch/tests/system_var/test_environments.py new file mode 100644 index 00000000..367b8c6d --- /dev/null +++ b/ecs/crm-datafetch/tests/system_var/test_environments.py @@ -0,0 +1,796 @@ +import importlib +import os + +import pytest +from src.system_var import constants, environments + + +class TestEnvironments: + def setup_method(self): + self.backup_environ = os.environ._data.copy() + + def teardown_method(self): + os.environ._data = self.backup_environ.copy() + + def test_LOG_LEVEL(self): + """ + Cases: + 環境変数 LOG_LEVELが正常に取得できること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.LOG_LEVEL] = 'CRITICAL' + importlib.reload(environments) + assert environments.LOG_LEVEL == 'CRITICAL' + + def test_LOG_LEVEL_default(self): + """ + Cases: + 環境変数 LOG_LEVELのデフォルト値が正常に取得できること + Arranges: + - 環境変数を削除する + Expects: + - 環境変数のデフォルト値が取得できる + """ + if constants.LOG_LEVEL in os.environ: + del os.environ[constants.LOG_LEVEL] + importlib.reload(environments) + assert environments.LOG_LEVEL == 'INFO' + + def test_CRM_AUTH_TIMEOUT(self): + """ + Cases: + 環境変数 CRM_AUTH_TIMEOUTが正常に取得できること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.CRM_AUTH_TIMEOUT] = '0.0000001' + importlib.reload(environments) + assert environments.CRM_AUTH_TIMEOUT == 0.0000001 + + def test_CRM_AUTH_TIMEOUT_default(self): + """ + Cases: + 環境変数 CRM_AUTH_TIMEOUTのデフォルト値が正常に取得できること + Arranges: + - 環境変数を削除する + Expects: + - 環境変数のデフォルト値が取得できる + """ + if constants.CRM_AUTH_TIMEOUT in os.environ: + del os.environ[constants.CRM_AUTH_TIMEOUT] + importlib.reload(environments) + assert environments.CRM_AUTH_TIMEOUT == 100 + + def test_CRM_GET_RECORD_COUNT_TIMEOUT(self): + """ + Cases: + 環境変数 CRM_GET_RECORD_COUNT_TIMEOUTが正常に取得できること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.CRM_GET_RECORD_COUNT_TIMEOUT] = '0.0000001' + importlib.reload(environments) + assert environments.CRM_GET_RECORD_COUNT_TIMEOUT == 0.0000001 + + def test_CRM_GET_RECORD_COUNT_TIMEOUT_default(self): + """ + Cases: + 環境変数 CRM_GET_RECORD_COUNT_TIMEOUTのデフォルト値が正常に取得できること + Arranges: + - 環境変数を削除する + Expects: + - 環境変数のデフォルト値が取得できる + """ + if constants.CRM_GET_RECORD_COUNT_TIMEOUT in os.environ: + del os.environ[constants.CRM_GET_RECORD_COUNT_TIMEOUT] + importlib.reload(environments) + assert environments.CRM_GET_RECORD_COUNT_TIMEOUT == 300 + + def test_CRM_GET_RECORD_COUNT_MAX_RETRY_ATTEMPT(self): + """ + Cases: + 環境変数 CRM_GET_RECORD_COUNT_MAX_RETRY_ATTEMPTが正常に取得できること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.CRM_GET_RECORD_COUNT_MAX_RETRY_ATTEMPT] = '1' + importlib.reload(environments) + assert environments.CRM_GET_RECORD_COUNT_MAX_RETRY_ATTEMPT == 1 + + def test_CRM_GET_RECORD_COUNT_MAX_RETRY_ATTEMPT_default(self): + """ + Cases: + 環境変数 CRM_GET_RECORD_COUNT_MAX_RETRY_ATTEMPTのデフォルト値が正常に取得できること + Arranges: + - 環境変数を削除する + Expects: + - 環境変数のデフォルト値が取得できる + """ + if constants.CRM_GET_RECORD_COUNT_MAX_RETRY_ATTEMPT in os.environ: + del os.environ[constants.CRM_GET_RECORD_COUNT_MAX_RETRY_ATTEMPT] + importlib.reload(environments) + assert environments.CRM_GET_RECORD_COUNT_MAX_RETRY_ATTEMPT == 4 + + def test_CRM_GET_RECORD_COUNT_RETRY_INTERVAL(self): + """ + Cases: + 環境変数 CRM_GET_RECORD_COUNT_RETRY_INTERVALが正常に取得できること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.CRM_GET_RECORD_COUNT_RETRY_INTERVAL] = '1' + importlib.reload(environments) + assert environments.CRM_GET_RECORD_COUNT_RETRY_INTERVAL == 1 + + def test_CRM_GET_RECORD_COUNT_RETRY_INTERVAL_default(self): + """ + Cases: + 環境変数 CRM_GET_RECORD_COUNT_RETRY_INTERVALのデフォルト値が正常に取得できること + Arranges: + - 環境変数を削除する + Expects: + - 環境変数のデフォルト値が取得できる + """ + if constants.CRM_GET_RECORD_COUNT_RETRY_INTERVAL in os.environ: + del os.environ[constants.CRM_GET_RECORD_COUNT_RETRY_INTERVAL] + importlib.reload(environments) + assert environments.CRM_GET_RECORD_COUNT_RETRY_INTERVAL == 5 + + def test_CRM_GET_RECORD_COUNT_RETRY_MIN_INTERVAL(self): + """ + Cases: + 環境変数 CRM_GET_RECORD_COUNT_RETRY_MIN_INTERVALが正常に取得できること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.CRM_GET_RECORD_COUNT_RETRY_MIN_INTERVAL] = '1' + importlib.reload(environments) + assert environments.CRM_GET_RECORD_COUNT_RETRY_MIN_INTERVAL == 1 + + def test_CRM_GET_RECORD_COUNT_RETRY_MIN_INTERVAL_default(self): + """ + Cases: + 環境変数 CRM_GET_RECORD_COUNT_RETRY_MIN_INTERVALのデフォルト値が正常に取得できること + Arranges: + - 環境変数を削除する + Expects: + - 環境変数のデフォルト値が取得できる + """ + if constants.CRM_GET_RECORD_COUNT_RETRY_MIN_INTERVAL in os.environ: + del os.environ[constants.CRM_GET_RECORD_COUNT_RETRY_MIN_INTERVAL] + importlib.reload(environments) + assert environments.CRM_GET_RECORD_COUNT_RETRY_MIN_INTERVAL == 5 + + def test_CRM_GET_RECORD_COUNT_RETRY_MAX_INTERVAL(self): + """ + Cases: + 環境変数 CRM_GET_RECORD_COUNT_RETRY_MAX_INTERVALが正常に取得できること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.CRM_GET_RECORD_COUNT_RETRY_MAX_INTERVAL] = '1' + importlib.reload(environments) + assert environments.CRM_GET_RECORD_COUNT_RETRY_MAX_INTERVAL == 1 + + def test_CRM_GET_RECORD_COUNT_RETRY_MAX_INTERVAL_default(self): + """ + Cases: + 環境変数 CRM_GET_RECORD_COUNT_RETRY_MAX_INTERVALのデフォルト値が正常に取得できること + Arranges: + - 環境変数を削除する + Expects: + - 環境変数のデフォルト値が取得できる + """ + if constants.CRM_GET_RECORD_COUNT_RETRY_MAX_INTERVAL in os.environ: + del os.environ[constants.CRM_GET_RECORD_COUNT_RETRY_MAX_INTERVAL] + importlib.reload(environments) + assert environments.CRM_GET_RECORD_COUNT_RETRY_MAX_INTERVAL == 50 + + def test_CRM_FETCH_RECORD_TIMEOUT(self): + """ + Cases: + 環境変数 CRM_FETCH_RECORD_TIMEOUTが正常に取得できること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.CRM_FETCH_RECORD_TIMEOUT] = '0.0000001' + importlib.reload(environments) + assert environments.CRM_FETCH_RECORD_TIMEOUT == 0.0000001 + + def test_CRM_FETCH_RECORD_TIMEOUT_default(self): + """ + Cases: + 環境変数 CRM_FETCH_RECORD_TIMEOUTのデフォルト値が正常に取得できること + Arranges: + - 環境変数を削除する + Expects: + - 環境変数のデフォルト値が取得できる + """ + if constants.CRM_FETCH_RECORD_TIMEOUT in os.environ: + del os.environ[constants.CRM_FETCH_RECORD_TIMEOUT] + importlib.reload(environments) + assert environments.CRM_FETCH_RECORD_TIMEOUT == 300 + + def test_CRM_FETCH_RECORD_MAX_RETRY_ATTEMPT(self): + """ + Cases: + 環境変数 CRM_FETCH_RECORD_MAX_RETRY_ATTEMPTが正常に取得できること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.CRM_FETCH_RECORD_MAX_RETRY_ATTEMPT] = '1' + importlib.reload(environments) + assert environments.CRM_FETCH_RECORD_MAX_RETRY_ATTEMPT == 1 + + def test_CRM_FETCH_RECORD_MAX_RETRY_ATTEMPT_default(self): + """ + Cases: + 環境変数 CRM_FETCH_RECORD_MAX_RETRY_ATTEMPTのデフォルト値が正常に取得できること + Arranges: + - 環境変数を削除する + Expects: + - 環境変数のデフォルト値が取得できる + """ + if constants.CRM_FETCH_RECORD_MAX_RETRY_ATTEMPT in os.environ: + del os.environ[constants.CRM_FETCH_RECORD_MAX_RETRY_ATTEMPT] + importlib.reload(environments) + assert environments.CRM_FETCH_RECORD_MAX_RETRY_ATTEMPT == 4 + + def test_CRM_FETCH_RECORD_RETRY_INTERVAL(self): + """ + Cases: + 環境変数 CRM_FETCH_RECORD_RETRY_INTERVALが正常に取得できること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.CRM_FETCH_RECORD_RETRY_INTERVAL] = '1' + importlib.reload(environments) + assert environments.CRM_FETCH_RECORD_RETRY_INTERVAL == 1 + + def test_CRM_FETCH_RECORD_RETRY_INTERVAL_default(self): + """ + Cases: + 環境変数 CRM_FETCH_RECORD_RETRY_INTERVALのデフォルト値が正常に取得できること + Arranges: + - 環境変数を削除する + Expects: + - 環境変数のデフォルト値が取得できる + """ + if constants.CRM_FETCH_RECORD_RETRY_INTERVAL in os.environ: + del os.environ[constants.CRM_FETCH_RECORD_RETRY_INTERVAL] + importlib.reload(environments) + assert environments.CRM_FETCH_RECORD_RETRY_INTERVAL == 5 + + def test_CRM_FETCH_RECORD_RETRY_MIN_INTERVAL(self): + """ + Cases: + 環境変数 CRM_FETCH_RECORD_RETRY_MIN_INTERVALが正常に取得できること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.CRM_FETCH_RECORD_RETRY_MIN_INTERVAL] = '1' + importlib.reload(environments) + assert environments.CRM_FETCH_RECORD_RETRY_MIN_INTERVAL == 1 + + def test_CRM_FETCH_RECORD_RETRY_MIN_INTERVAL_default(self): + """ + Cases: + 環境変数 CRM_FETCH_RECORD_RETRY_MIN_INTERVALのデフォルト値が正常に取得できること + Arranges: + - 環境変数を削除する + Expects: + - 環境変数のデフォルト値が取得できる + """ + if constants.CRM_FETCH_RECORD_RETRY_MIN_INTERVAL in os.environ: + del os.environ[constants.CRM_FETCH_RECORD_RETRY_MIN_INTERVAL] + importlib.reload(environments) + assert environments.CRM_FETCH_RECORD_RETRY_MIN_INTERVAL == 5 + + def test_CRM_FETCH_RECORD_RETRY_MAX_INTERVAL(self): + """ + Cases: + 環境変数 CRM_FETCH_RECORD_RETRY_MAX_INTERVALが正常に取得できること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.CRM_FETCH_RECORD_RETRY_MAX_INTERVAL] = '1' + importlib.reload(environments) + assert environments.CRM_FETCH_RECORD_RETRY_MAX_INTERVAL == 1 + + def test_CRM_FETCH_RECORD_RETRY_MAX_INTERVAL_default(self): + """ + Cases: + 環境変数 CRM_FETCH_RECORD_RETRY_MAX_INTERVALのデフォルト値が正常に取得できること + Arranges: + - 環境変数を削除する + Expects: + - 環境変数のデフォルト値が取得できる + """ + if constants.CRM_FETCH_RECORD_RETRY_MAX_INTERVAL in os.environ: + del os.environ[constants.CRM_FETCH_RECORD_RETRY_MAX_INTERVAL] + importlib.reload(environments) + assert environments.CRM_FETCH_RECORD_RETRY_MAX_INTERVAL == 50 + + def test_CONVERT_TZ(self): + """ + Cases: + 環境変数 CONVERT_TZが正常に取得できること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.CONVERT_TZ] = 'GMT' + importlib.reload(environments) + assert environments.CONVERT_TZ == 'GMT' + + def test_CONVERT_TZ_default(self): + """ + Cases: + 環境変数 CONVERT_TZのデフォルト値が正常に取得できること + Arranges: + - 環境変数を削除する + Expects: + - 環境変数のデフォルト値が取得できる + """ + if constants.CONVERT_TZ in os.environ: + del os.environ[constants.CONVERT_TZ] + importlib.reload(environments) + assert environments.CONVERT_TZ == 'Asia/Tokyo' + + def test_CRM_AUTH_DOMAIN(self): + """ + Cases: + 環境変数 CRM_AUTH_DOMAINが正常に取得できること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.CRM_AUTH_DOMAIN] = 'test' + importlib.reload(environments) + assert environments.CRM_AUTH_DOMAIN == 'test' + + def test_raise_CRM_AUTH_DOMAIN(self): + """ + Cases: + 環境変数 CRM_AUTH_DOMAINが設定されていない場合にエラーとなること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + if constants.CRM_AUTH_DOMAIN in os.environ: + del os.environ[constants.CRM_AUTH_DOMAIN] + with pytest.raises(KeyError): + importlib.reload(environments) + + def test_CRM_USER_NAME(self): + """ + Cases: + 環境変数 CRM_USER_NAMEが設定されていない場合にエラーとなること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.CRM_USER_NAME] = 'test_user' + importlib.reload(environments) + assert environments.CRM_USER_NAME == 'test_user' + + def test_raise_CRM_USER_NAME(self): + """ + Cases: + 環境変数 CRM_USER_NAMEが設定されていない場合にエラーとなること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + if constants.CRM_USER_NAME in os.environ: + del os.environ[constants.CRM_USER_NAME] + with pytest.raises(KeyError): + importlib.reload(environments) + + def test_CRM_USER_PASSWORD(self): + """ + Cases: + 環境変数 CRM_USER_PASSWORDが設定されていない場合にエラーとなること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.CRM_USER_PASSWORD] = 'p@ssw0rd!' + importlib.reload(environments) + assert environments.CRM_USER_PASSWORD == 'p@ssw0rd!' + + def test_raise_CRM_USER_PASSWORD(self): + """ + Cases: + 環境変数 CRM_USER_PASSWORDが設定されていない場合にエラーとなること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + if constants.CRM_USER_PASSWORD in os.environ: + del os.environ[constants.CRM_USER_PASSWORD] + with pytest.raises(KeyError): + importlib.reload(environments) + + def test_CRM_USER_SECURITY_TOKEN(self): + """ + Cases: + 環境変数 CRM_USER_SECURITY_TOKENが設定されていない場合にエラーとなること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.CRM_USER_SECURITY_TOKEN] = 'sU/a(,2yyrMDpMaut.' + importlib.reload(environments) + assert environments.CRM_USER_SECURITY_TOKEN == 'sU/a(,2yyrMDpMaut.' + + def test_raise_CRM_USER_SECURITY_TOKEN(self): + """ + Cases: + 環境変数 CRM_USER_SECURITY_TOKENが設定されていない場合にエラーとなること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + if constants.CRM_USER_SECURITY_TOKEN in os.environ: + del os.environ[constants.CRM_USER_SECURITY_TOKEN] + with pytest.raises(KeyError): + importlib.reload(environments) + + def test_CRM_CONFIG_BUCKET(self): + """ + Cases: + 環境変数 CRM_CONFIG_BUCKETが設定されていない場合にエラーとなること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.CRM_CONFIG_BUCKET] = 'bucket_name' + importlib.reload(environments) + assert environments.CRM_CONFIG_BUCKET == 'bucket_name' + + def test_raise_CRM_CONFIG_BUCKET(self): + """ + Cases: + 環境変数 CRM_CONFIG_BUCKETが設定されていない場合にエラーとなること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + if constants.CRM_CONFIG_BUCKET in os.environ: + del os.environ[constants.CRM_CONFIG_BUCKET] + with pytest.raises(KeyError): + importlib.reload(environments) + + def test_CRM_BACKUP_BUCKET(self): + """ + Cases: + 環境変数 CRM_BACKUP_BUCKETが設定されていない場合にエラーとなること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.CRM_BACKUP_BUCKET] = 'bucket_name' + importlib.reload(environments) + assert environments.CRM_BACKUP_BUCKET == 'bucket_name' + + def test_raise_CRM_BACKUP_BUCKET(self): + """ + Cases: + 環境変数 CRM_BACKUP_BUCKETが設定されていない場合にエラーとなること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + if constants.CRM_BACKUP_BUCKET in os.environ: + del os.environ[constants.CRM_BACKUP_BUCKET] + with pytest.raises(KeyError): + importlib.reload(environments) + + def test_IMPORT_DATA_BUCKET(self): + """ + Cases: + 環境変数 IMPORT_DATA_BUCKETが設定されていない場合にエラーとなること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.IMPORT_DATA_BUCKET] = 'bucket_name' + importlib.reload(environments) + assert environments.IMPORT_DATA_BUCKET == 'bucket_name' + + def test_raise_IMPORT_DATA_BUCKET(self): + """ + Cases: + 環境変数 IMPORT_DATA_BUCKETが設定されていない場合にエラーとなること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + if constants.IMPORT_DATA_BUCKET in os.environ: + del os.environ[constants.IMPORT_DATA_BUCKET] + with pytest.raises(KeyError): + importlib.reload(environments) + + def test_OBJECT_INFO_FOLDER(self): + """ + Cases: + 環境変数 OBJECT_INFO_FOLDERが正常に取得できること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.OBJECT_INFO_FOLDER] = 'object_info' + importlib.reload(environments) + assert environments.OBJECT_INFO_FOLDER == 'object_info' + + def test_OBJECT_INFO_FOLDER_default(self): + """ + Cases: + 環境変数 OBJECT_INFO_FOLDERのデフォルト値が正常に取得できること + Arranges: + - 環境変数を削除する + Expects: + - 環境変数のデフォルト値が取得できる + """ + if constants.OBJECT_INFO_FOLDER in os.environ: + del os.environ[constants.OBJECT_INFO_FOLDER] + importlib.reload(environments) + assert environments.OBJECT_INFO_FOLDER == 'crm/object_info' + + def test_OBJECT_INFO_FILENAME(self): + """ + Cases: + 環境変数 OBJECT_INFO_FILENAMEが設定されていない場合にエラーとなること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.OBJECT_INFO_FILENAME] = 'file_name' + importlib.reload(environments) + assert environments.OBJECT_INFO_FILENAME == 'file_name' + + def test_raise_OBJECT_INFO_FILENAME(self): + """ + Cases: + 環境変数 OBJECT_INFO_FILENAMEが設定されていない場合にエラーとなること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + if constants.OBJECT_INFO_FILENAME in os.environ: + del os.environ[constants.OBJECT_INFO_FILENAME] + with pytest.raises(KeyError): + importlib.reload(environments) + + def test_PROCESS_RESULT_FOLDER(self): + """ + Cases: + 環境変数 PROCESS_RESULT_FOLDERが正常に取得できること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.PROCESS_RESULT_FOLDER] = 'process_result' + importlib.reload(environments) + assert environments.PROCESS_RESULT_FOLDER == 'process_result' + + def test_PROCESS_RESULT_FOLDER_default(self): + """ + Cases: + 環境変数 PROCESS_RESULT_FOLDERのデフォルト値が正常に取得できること + Arranges: + - 環境変数を削除する + Expects: + - 環境変数のデフォルト値が取得できる + """ + if constants.PROCESS_RESULT_FOLDER in os.environ: + del os.environ[constants.PROCESS_RESULT_FOLDER] + importlib.reload(environments) + assert environments.PROCESS_RESULT_FOLDER == 'data_import' + + def test_PROCESS_RESULT_FILENAME(self): + """ + Cases: + 環境変数 PROCESS_RESULT_FILENAMEが正常に取得できること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.PROCESS_RESULT_FILENAME] = 'process_result.csv' + importlib.reload(environments) + assert environments.PROCESS_RESULT_FILENAME == 'process_result.csv' + + def test_PROCESS_RESULT_FILENAME_default(self): + """ + Cases: + 環境変数 PROCESS_RESULT_FILENAMEのデフォルト値が正常に取得できること + Arranges: + - 環境変数を削除する + Expects: + - 環境変数のデフォルト値が取得できる + """ + if constants.PROCESS_RESULT_FILENAME in os.environ: + del os.environ[constants.PROCESS_RESULT_FILENAME] + importlib.reload(environments) + assert environments.PROCESS_RESULT_FILENAME == 'process_result.json' + + def test_LAST_FETCH_DATE_FOLDER(self): + """ + Cases: + 環境変数 LAST_FETCH_DATE_FOLDERが正常に取得できること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.LAST_FETCH_DATE_FOLDER] = 'last_fetch_datetime' + importlib.reload(environments) + assert environments.LAST_FETCH_DATE_FOLDER == 'last_fetch_datetime' + + def test_LAST_FETCH_DATE_FOLDER_default(self): + """ + Cases: + 環境変数 LAST_FETCH_DATE_FOLDERのデフォルト値が正常に取得できること + Arranges: + - 環境変数を削除する + Expects: + - 環境変数のデフォルト値が取得できる + """ + if constants.LAST_FETCH_DATE_FOLDER in os.environ: + del os.environ[constants.LAST_FETCH_DATE_FOLDER] + importlib.reload(environments) + assert environments.LAST_FETCH_DATE_FOLDER == 'crm/last_fetch_datetime' + + def test_CRM_IMPORT_DATA_FOLDER(self): + """ + Cases: + 環境変数 CRM_IMPORT_DATA_FOLDERが正常に取得できること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.CRM_IMPORT_DATA_FOLDER] = 'target' + importlib.reload(environments) + assert environments.CRM_IMPORT_DATA_FOLDER == 'target' + + def test_CRM_IMPORT_DATA_FOLDER_default(self): + """ + Cases: + 環境変数 CRM_IMPORT_DATA_FOLDERのデフォルト値が正常に取得できること + Arranges: + - 環境変数を削除する + Expects: + - 環境変数のデフォルト値が取得できる + """ + if constants.CRM_IMPORT_DATA_FOLDER in os.environ: + del os.environ[constants.CRM_IMPORT_DATA_FOLDER] + importlib.reload(environments) + assert environments.CRM_IMPORT_DATA_FOLDER == 'crm/target' + + def test_RESPONSE_JSON_BACKUP_FOLDER(self): + """ + Cases: + 環境変数 RESPONSE_JSON_BACKUP_FOLDERが正常に取得できること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.RESPONSE_JSON_BACKUP_FOLDER] = 'response' + importlib.reload(environments) + assert environments.RESPONSE_JSON_BACKUP_FOLDER == 'response' + + def test_RESPONSE_JSON_BACKUP_FOLDER_default(self): + """ + Cases: + 環境変数 RESPONSE_JSON_BACKUP_FOLDERのデフォルト値が正常に取得できること + Arranges: + - 環境変数を削除する + Expects: + - 環境変数のデフォルト値が取得できる + """ + if constants.RESPONSE_JSON_BACKUP_FOLDER in os.environ: + del os.environ[constants.RESPONSE_JSON_BACKUP_FOLDER] + importlib.reload(environments) + assert environments.RESPONSE_JSON_BACKUP_FOLDER == 'response_json' + + def test_CRM_IMPORT_DATA_BACKUP_FOLDER(self): + """ + Cases: + 環境変数 CRM_IMPORT_DATA_BACKUP_FOLDERが正常に取得できること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ[constants.CRM_IMPORT_DATA_BACKUP_FOLDER] = 'import' + importlib.reload(environments) + assert environments.CRM_IMPORT_DATA_BACKUP_FOLDER == 'import' + + def test_CRM_IMPORT_DATA_BACKUP_FOLDER_default(self): + """ + Cases: + 環境変数 CRM_IMPORT_DATA_BACKUP_FOLDERのデフォルト値が正常に取得できること + Arranges: + - 環境変数を削除する + Expects: + - 環境変数のデフォルト値が取得できる + """ + if constants.CRM_IMPORT_DATA_BACKUP_FOLDER in os.environ: + del os.environ[constants.CRM_IMPORT_DATA_BACKUP_FOLDER] + importlib.reload(environments) + assert environments.CRM_IMPORT_DATA_BACKUP_FOLDER == 'data_import' + + def test_FETCH_LIMIT_CLAUSE(self): + """ + Cases: + 環境変数 FETCH_LIMIT_CLAUSEが正常に取得できること + Arranges: + - 環境変数を設定する + Expects: + - 設定した環境変数が取得できる + """ + os.environ['FETCH_LIMIT_CLAUSE'] = ' LIMIT 200' + importlib.reload(environments) + assert environments.FETCH_LIMIT_CLAUSE == ' LIMIT 200' + + def test_FETCH_LIMIT_CLAUSE_default(self): + """ + Cases: + 環境変数 FETCH_LIMIT_CLAUSEのデフォルト値が正常に取得できること + Arranges: + - 環境変数を削除する + Expects: + - 環境変数のデフォルト値が取得できる + """ + if 'FETCH_LIMIT_CLAUSE' in os.environ: + del os.environ['FETCH_LIMIT_CLAUSE'] + importlib.reload(environments) + assert environments.FETCH_LIMIT_CLAUSE == ''