feat: レビュー指摘反映 タイムアウト例外・SOQL不正の例外ケースを追加
https://nds-https://nds-tyo.backlog.com/git/NEWDWH2021/newsdwh2021/pullRequests/59#comment-1313618
This commit is contained in:
parent
7a029f4bb7
commit
61d7275c2b
@ -416,10 +416,126 @@ class TestSalesforceApiClient:
|
||||
Cases:
|
||||
存在しないユーザを指定した場合、エラーが発生すること
|
||||
Arranges:
|
||||
なし
|
||||
CRMのユーザ名を保持する環境変数に、存在しないユーザー名を指定する
|
||||
Expects:
|
||||
ユーザ認証でエラーが発生すること
|
||||
"""
|
||||
monkeypatch.setattr('src.salesforce.salesforce_api.CRM_USER_NAME', 'invalid_username')
|
||||
with pytest.raises(Exception):
|
||||
SalesforceApiClient()
|
||||
|
||||
def test_raise_fetch_sf_count_auth_timeout(self, monkeypatch):
|
||||
"""
|
||||
Cases:
|
||||
認証タイムアウトが発生した場合、エラーが発生すること
|
||||
Arranges:
|
||||
認証タイムアウト秒数を保持する環境変数に、0.0000000001を指定する
|
||||
Expects:
|
||||
コネクションタイムアウトエラーが発生すること
|
||||
"""
|
||||
monkeypatch.setattr('src.salesforce.salesforce_api.CRM_AUTH_TIMEOUT', 0.0000000001)
|
||||
sf = SalesforceApiClient()
|
||||
soql = """SELECT
|
||||
COUNT(Id)
|
||||
FROM
|
||||
Account
|
||||
WHERE
|
||||
SystemModstamp > 2022-08-04T00:00:00.000Z AND
|
||||
SystemModstamp <= 2022-08-06T00:00:00.000Z
|
||||
"""
|
||||
with pytest.raises(ConnectTimeout):
|
||||
sf.fetch_sf_count(soql)
|
||||
|
||||
def test_raise_fetch_sf_count_read_timeout(self, monkeypatch):
|
||||
"""
|
||||
Cases:
|
||||
読み取りタイムアウトが発生した場合、エラーが発生すること
|
||||
Arranges:
|
||||
CRMの件数取得タイムアウト秒数を保持する環境変数に、0.0000000001を指定する
|
||||
Expects:
|
||||
読み取りタイムアウトエラーが発生すること
|
||||
"""
|
||||
monkeypatch.setattr('src.salesforce.salesforce_api.CRM_GET_RECORD_COUNT_TIMEOUT', 0.0000000001)
|
||||
sf = SalesforceApiClient()
|
||||
soql = """SELECT
|
||||
COUNT(Id)
|
||||
FROM
|
||||
Account
|
||||
WHERE
|
||||
SystemModstamp > 2022-08-04T00:00:00.000Z AND
|
||||
SystemModstamp <= 2022-08-06T00:00:00.000Z
|
||||
"""
|
||||
with pytest.raises(ReadTimeout):
|
||||
sf.fetch_sf_count(soql)
|
||||
|
||||
def test_raise_fetch_sf_count_invalid_soql(self, monkeypatch):
|
||||
"""
|
||||
Cases:
|
||||
不正なSOQLを指定した場合に、エラーが発生すること
|
||||
Arranges:
|
||||
不正なSOQLを作成する
|
||||
Expects:
|
||||
エラーが発生すること
|
||||
"""
|
||||
sf = SalesforceApiClient()
|
||||
soql = "SELECT"
|
||||
with pytest.raises(Exception):
|
||||
sf.fetch_sf_count(soql)
|
||||
|
||||
def test_raise_fetch_sf_data_auth_timeout(self, monkeypatch):
|
||||
"""
|
||||
Cases:
|
||||
認証タイムアウトが発生した場合、エラーが発生すること
|
||||
Arranges:
|
||||
認証タイムアウト秒数を保持する環境変数に、0.0000000001を指定する
|
||||
Expects:
|
||||
コネクションタイムアウトエラーが発生すること
|
||||
"""
|
||||
monkeypatch.setattr('src.salesforce.salesforce_api.CRM_AUTH_TIMEOUT', 0.0000000001)
|
||||
sf = SalesforceApiClient()
|
||||
soql = """SELECT
|
||||
COUNT(Id)
|
||||
FROM
|
||||
Account
|
||||
WHERE
|
||||
SystemModstamp > 2022-08-04T00:00:00.000Z AND
|
||||
SystemModstamp <= 2022-08-06T00:00:00.000Z
|
||||
"""
|
||||
with pytest.raises(ConnectTimeout):
|
||||
sf.fetch_sf_data(soql)
|
||||
|
||||
def test_raise_fetch_sf_data_read_timeout(self, monkeypatch):
|
||||
"""
|
||||
Cases:
|
||||
読み取りタイムアウトが発生した場合、エラーが発生すること
|
||||
Arranges:
|
||||
CRMのデータ取得タイムアウト秒数を保持する環境変数に、0.0000000001を指定する
|
||||
Expects:
|
||||
読み取りタイムアウトエラーが発生すること
|
||||
"""
|
||||
monkeypatch.setattr('src.salesforce.salesforce_api.CRM_FETCH_RECORD_TIMEOUT', 0.0000000001)
|
||||
sf = SalesforceApiClient()
|
||||
soql = """SELECT
|
||||
COUNT(Id)
|
||||
FROM
|
||||
Account
|
||||
WHERE
|
||||
SystemModstamp > 2022-08-04T00:00:00.000Z AND
|
||||
SystemModstamp <= 2022-08-06T00:00:00.000Z
|
||||
"""
|
||||
with pytest.raises(ReadTimeout):
|
||||
sf.fetch_sf_data(soql)
|
||||
|
||||
def test_raise_fetch_sf_data_invalid_soql(self, monkeypatch):
|
||||
"""
|
||||
Cases:
|
||||
不正なSOQLを指定した場合に、エラーが発生すること
|
||||
Arranges:
|
||||
不正なSOQLを作成する
|
||||
Expects:
|
||||
エラーが発生すること
|
||||
"""
|
||||
sf = SalesforceApiClient()
|
||||
soql = "SELECT"
|
||||
with pytest.raises(Exception):
|
||||
sf.fetch_sf_count(soql)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user