feat:Salesforce関連の最低限のテストを追加
This commit is contained in:
parent
9af0d9dd5c
commit
e3cd0dbb10
@ -13,16 +13,16 @@ class SalesforceApiClient():
|
||||
domain=CRM_AUTH_DOMAIN
|
||||
)
|
||||
|
||||
def query(self, soql, include_deleted=True, conn_timeout=100, read_timeout=300):
|
||||
def __query(self, soql, include_deleted=True, conn_timeout=100, read_timeout=300):
|
||||
return self.__sf.query(soql, include_deleted, timeout=(float(conn_timeout), float(read_timeout)))
|
||||
|
||||
def query_all(self, soql, include_deleted=True, conn_timeout=100, read_timeout=300):
|
||||
def __query_all(self, soql, include_deleted=True, conn_timeout=100, read_timeout=300):
|
||||
return self.__sf.query_all(soql, include_deleted, timeout=(float(conn_timeout), float(read_timeout)))
|
||||
|
||||
def fetch_sf_count(self, soql: str):
|
||||
count_res = self.query(soql, conn_timeout=CRM_AUTH_TIMEOUT, read_timeout=CRM_GET_RECORD_COUNT_TIMEOUT)
|
||||
count_res = self.__query(soql, conn_timeout=CRM_AUTH_TIMEOUT, read_timeout=CRM_GET_RECORD_COUNT_TIMEOUT)
|
||||
return count_res.get('records')[0].get('expr0')
|
||||
|
||||
def fetch_sf_data(self, soql: str):
|
||||
data_res = self.query_all(soql, conn_timeout=CRM_AUTH_TIMEOUT, read_timeout=CRM_FETCH_RECORD_TIMEOUT)
|
||||
data_res = self.__query_all(soql, conn_timeout=CRM_AUTH_TIMEOUT, read_timeout=CRM_FETCH_RECORD_TIMEOUT)
|
||||
return data_res.get('records')
|
||||
|
||||
52
ecs/crm-datafetch/tests/salesforce/test_salesfoce.py
Normal file
52
ecs/crm-datafetch/tests/salesforce/test_salesfoce.py
Normal file
@ -0,0 +1,52 @@
|
||||
import pytest
|
||||
from src.salesforce.salesforce_api import SalesforceApiClient
|
||||
|
||||
|
||||
class TestSalesforceApiClient:
|
||||
|
||||
def test_fetch_sf_count(self):
|
||||
|
||||
soql = """SELECT
|
||||
COUNT(Id)
|
||||
FROM
|
||||
Account
|
||||
WHERE
|
||||
SystemModstamp > 2022-08-04T00:00:00.000Z AND
|
||||
SystemModstamp <= 2022-08-04T16:36:00.000Z
|
||||
"""
|
||||
sut = SalesforceApiClient()
|
||||
|
||||
actual = sut.fetch_sf_count(soql)
|
||||
assert actual >= 1
|
||||
|
||||
def test_fetch_sf_data_one_record(self):
|
||||
|
||||
soql = """SELECT
|
||||
Id,
|
||||
Name,
|
||||
SystemModstamp,
|
||||
LastModifiedDate,
|
||||
CustomItem1__c,
|
||||
CustomItem2__c,
|
||||
CustomItem3__c,
|
||||
CustomItem4__c,
|
||||
CustomItem5__c,
|
||||
CustomItem6__c,
|
||||
CustomItem7__c,
|
||||
CustomItem8__c
|
||||
FROM
|
||||
Account
|
||||
WHERE
|
||||
SystemModstamp > 2022-08-04T00:00:00.000Z AND
|
||||
SystemModstamp <= 2022-08-04T16:36:00.000Z
|
||||
"""
|
||||
sut = SalesforceApiClient()
|
||||
|
||||
actual = sut.fetch_sf_data(soql)
|
||||
print(actual)
|
||||
assert len(actual) >= 1
|
||||
|
||||
def test_raise_create_instance_cause_auth_failed(self, monkeypatch):
|
||||
monkeypatch.setattr('src.salesforce.salesforce_api.CRM_USER_NAME', 'invalid_username')
|
||||
with pytest.raises(Exception):
|
||||
SalesforceApiClient()
|
||||
Loading…
x
Reference in New Issue
Block a user