def test_exec_anon_negative(): testutil.add_response("login_response_200") testutil.add_response("exec_anon_response_no_body") testutil.add_response("api_version_response_200") client = testutil.get_client() ea_result = client.execute_anonymous("system.debug('Hello world.');") assert ea_result[0] is None
def test_describe_global(): testutil.add_response("login_response_200") testutil.add_response("api_version_response_200") testutil.add_response("describe_global_response_200") client = testutil.get_client() describe_result = client.sobjects().describe_global() assert describe_result[0] == testutil.mock_responses["describe_global_response_200"]["body"] assert describe_result[1].status == 200
def test_query_more_multibatch_negative(): testutil.add_response("login_response_200") testutil.add_response("query_more_multibatch_0_200") testutil.add_response("query_more_multibatch_1_no_body") testutil.add_response("api_version_response_200") client = testutil.get_client() query_result = client.query_more("SELECT Id FROM Lead") assert query_result[0] is None
def test_logout(): testutil.add_response("login_response_200") testutil.add_response("logout_response_200") testutil.add_response("api_version_response_200") client = testutil.get_client() logout = client.logout() assert logout[0] is None assert logout[1].status == 200
def test_upsert_non_existing_record(): testutil.add_response("login_response_200") testutil.add_response("api_version_response_200") testutil.add_response("upsert_non_existing_record_response_201") client = testutil.get_client() update_result = client.sobjects( id="333", object_type="Upsert_Object__c", external_id='External_Field__c').upsert({"Name": "Test Upsert Name"}) assert update_result[0] == testutil.mock_responses["upsert_non_existing_record_response_201"]["body"] assert update_result[1].status == 201
def test_query_sobj_row_negative(): testutil.add_response("login_response_200") testutil.add_response("api_version_response_200") testutil.add_response("query_sobj_row_response_no_body") client = testutil.get_client() query_result = client.sobjects( object_type="Account", id="0010Y0000056ljcQAA").query() assert query_result[0] is None
def test_exec_anon(): testutil.add_response("login_response_200") testutil.add_response("exec_anon_response_200") testutil.add_response("api_version_response_200") client = testutil.get_client() ea_result = client.execute_anonymous("system.debug('Hello world.');") assert ea_result[0] == testutil.mock_responses["exec_anon_response_200"][ "body"] assert ea_result[1].status == 200
def test_query_more_singlebatch(): testutil.add_response("login_response_200") testutil.add_response("query_response_200") testutil.add_response("api_version_response_200") client = testutil.get_client() query_result = client.query_more("SELECT Id, Name FROM Account LIMIT 10") assert query_result[0][0] == testutil.mock_responses["query_response_200"][ "body"] assert query_result[0][0].get("done")
def test_update(): testutil.add_response("login_response_200") testutil.add_response("api_version_response_200") testutil.add_response("update_response_204") client = testutil.get_client() update_result = client.sobjects( id="0010Y0000055YG7QAM", object_type="Account").update({"Name": "sfdc_py 2"}) assert update_result[0] == testutil.mock_responses["update_response_204"]["body"] assert update_result[1].status == 204
def test_query(): testutil.add_response("login_response_200") testutil.add_response("query_response_200") testutil.add_response("api_version_response_200") client = testutil.get_client() query_result = client.query("SELECT Id, Name FROM Account LIMIT 10") assert query_result[0] == testutil.mock_responses["query_response_200"][ "body"] assert query_result[1].status == 200
def test_search(): testutil.add_response("login_response_200") testutil.add_response("search_response_200") testutil.add_response("api_version_response_200") client = testutil.get_client() search_result = client.search( "FIND {sfdc_py} RETURNING Account(Id, Name) LIMIT 5") assert search_result[0] == testutil.mock_responses["search_response_200"][ "body"] assert search_result[1].status == 200
def test_insert(): testutil.add_response("login_response_200") testutil.add_response("insert_response_201") testutil.add_response("api_version_response_200") client = testutil.get_client() create_result = client.sobjects( object_type="Account").insert({"Name": "sfdc_py"}) assert create_result[0] == testutil.mock_responses["insert_response_201"]["body"] assert create_result[1].status == 201
def test_query_sobj_row(): testutil.add_response("login_response_200") testutil.add_response("api_version_response_200") testutil.add_response("query_sobj_row_response") client = testutil.get_client() query_result = client.sobjects( object_type="Account", id="0010Y0000056ljcQAA").query() assert query_result[0] == testutil.mock_responses["query_sobj_row_response"]["body"] assert query_result[1].status == 200
def test_query_approvals(): testutil.add_response("login_response_200") testutil.add_response("api_version_response_200") testutil.add_response("approvals_response_200") client = testutil.get_client() ar = client.approvals() sfdc_response = ar[0] assert ar[1].status == 200 assert ar[1].http_method is "GET" assert "approvals" in sfdc_response
def test_delete(): testutil.add_response("login_response_200") testutil.add_response("api_version_response_200") testutil.add_response("delete_response_204") client = testutil.get_client() delete_result = client.sobjects( id="0010Y0000055YG7QAM", object_type="Account").delete() assert delete_result[0] == testutil.mock_responses["delete_response_204"]["body"] assert delete_result[1].status == 204
def test_wave_query_no_response_body(): testutil.add_response("login_response_200") testutil.add_response("api_version_response_200") testutil.add_response("wave_query_no_body") client = testutil.get_client() wave_result = client.wave.query(None) assert wave_result[0] is None assert wave_result[1].status == 500 assert wave_result[1].exceptions[0].args[0] == 'Request body is null'
def test_wave_dataset(): testutil.add_response("login_response_200") testutil.add_response("wave_dataset_response_200") testutil.add_response("api_version_response_200") client = testutil.get_client() wave_result = client.wave.dataset("opportunities") assert wave_result[0] == testutil.mock_responses[ "wave_dataset_response_200"]["body"] assert wave_result[1].status is 200
def test_chatter_feed_item(): testutil.add_response("login_response_200") testutil.add_response("api_version_response_200") testutil.add_response("chatter_feed_item_201") client = testutil.get_client() body = create_message_segments("005B0000001mOGj", ["005B0000001nDnV"], "Money, get away ") ch = client.chatter.feed_item(body) assert ch[1].status == 201 chatter_response = ch[0] assert chatter_response.get("actor").get("type") == "TextPost"
def test_wave_query(): testutil.add_response("login_response_200") testutil.add_response("wave_query_response_200") testutil.add_response("api_version_response_200") client = testutil.get_client() wave_result = client.wave.query(query) assert wave_result[0] == testutil.mock_responses[ "wave_query_response_200"]["body"] assert wave_result[1].status is 200
def test_create_job(): testutil.add_response("login_response_200") testutil.add_response("api_version_response_200") testutil.add_response("jobs_create_200") client = testutil.get_client() job = ACCOUNTS_INSERT_JOB create_result = client.jobs.ingest.create(job_resource=job) assert create_result[0] == testutil.mock_responses.get( "jobs_create_200").get("body") assert create_result[1].status == 200
def test_query_more_multibatch(): testutil.add_response("login_response_200") testutil.add_response("query_more_multibatch_0_200") testutil.add_response("query_more_multibatch_1_200") testutil.add_response("query_more_multibatch_2_200") testutil.add_response("api_version_response_200") client = testutil.get_client() query_result = client.query_more("SELECT Id FROM Lead") assert query_result[0][0] == testutil.mock_responses[ "query_more_multibatch_0_200"]["body"] assert query_result[0][1] == testutil.mock_responses[ "query_more_multibatch_1_200"]["body"] assert query_result[0][2] == testutil.mock_responses[ "query_more_multibatch_2_200"]["body"]
def test_insert_blob_missing_body(): testutil.add_response("login_response_200") testutil.add_response("api_version_response_200") testutil.add_response("insert_blob_response_400") client = testutil.get_client() # Create a file tuple ordered like so: ( filename, body, content_type ) _file = ("sfdc_py.txt", "Hello world", "text/plain") insert_result = client.sobjects(object_type="Attachment").insert({ # Missing binary field "Body" "Name": "sfdc_py", "ParentId": "0010Y0000056ljcQAA", "Description": "An excellent package" }, binary=_file) # Pass your file through using the binary kwarg assert insert_result[0] == testutil.mock_responses["insert_blob_response_400"]["body"] assert insert_result[1].status == 400
def test_insert_blob_negative(): testutil.add_response("login_response_200") testutil.add_response("insert_blob_response_no_body") testutil.add_response("api_version_response_200") client = testutil.get_client() # Create a file tuple ordered like so: ( filename, body, content_type ) _file = ("sfdc_py.txt", "Hello world", "text/plain") insert_result = client.sobjects(object_type="Attachment", binary_field="Body").insert({ # Specify the binary field "Name": "sfdc_py", "ParentId": "0010Y0000056ljcQAA", "Description": "An excellent package" }, binary=_file) # Pass your file through using the binary kwarg assert insert_result[0] is None
def test_query_sobj_row_with_blob_negative(): testutil.add_response("login_response_200") testutil.add_response("api_version_response_200") testutil.add_response("query_attachments_before_blob_200") testutil.add_response("query_attachments_blob_no_body") client = testutil.get_client() query_result = client.sobjects( object_type="Attachment", id="00P0Y000000hUviUAE", binary_field="Body").query() assert query_result[0] == testutil.mock_responses["query_attachments_before_blob_200"]["body"] assert query_result[1].status == 200 assert query_result[2].status == 200 assert query_result[2].response is None
def test_chatter_comment(): testutil.add_response("login_response_200") testutil.add_response("api_version_response_200") testutil.add_response("chatter_feed_comment_201") client = testutil.get_client() body = { "body": { "messageSegments": [{ "type": "Text", "text": "New comment 2" }] } } ch = client.chatter.feed_comment(_id="0D5B000000T7MxR", body=body) assert ch[1].status == 201
def test_update_close_job(): testutil.add_response("login_response_200") testutil.add_response("api_version_response_200") testutil.add_response("jobs_create_200") testutil.add_response("jobs_update_close_200") client = testutil.get_client() job = ACCOUNTS_INSERT_JOB create_result = client.jobs.ingest.create(job_resource=job) job_id = create_result[0].get("id") update_result = client.jobs.ingest.update(job_id=job_id, state=UPLOAD_COMPLETED) assert update_result[0] == testutil.mock_responses.get( "jobs_update_close_200").get("body") assert update_result[1].status == 200
def test_query_sobj_row_with_blob(): testutil.add_response("login_response_200") testutil.add_response("api_version_response_200") testutil.add_response("query_attachments_before_blob_200") testutil.add_response("query_attachments_blob_200") client = testutil.get_client() query_result = client.sobjects( object_type="Attachment", id="00P0Y000000hUviUAE", binary_field="Body").query() blob_body = '"%s"' % ( testutil.mock_responses["query_attachments_blob_200"]["body"]) assert query_result[0] == testutil.mock_responses["query_attachments_before_blob_200"]["body"] assert query_result[1].status == 200 assert query_result[2].status == 200 assert query_result[2].response.content.decode("utf-8") == blob_body
def test_batches(): testutil.add_response("login_response_200") testutil.add_response("api_version_response_200") testutil.add_response("jobs_create_200") testutil.add_response("jobs_batches_201") client = testutil.get_client() job = ACCOUNTS_INSERT_JOB create_result = client.jobs.ingest.create(job_resource=job) with open(ACCOUNTS_INSERT_BULK_CSV) as f: csv_file = f.read() job_id = create_result[0].get("id") batches_result = client.jobs.ingest.batches(job_id=job_id, csv_file=csv_file) assert batches_result[0] == testutil.mock_responses.get( "jobs_batches_201").get("body") assert batches_result[1].status == 201
def test_approval_request(): testutil.add_response("login_response_200") testutil.add_response("api_version_response_200") testutil.add_response("approval_request_response_200") client = testutil.get_client() body = { "requests": [{ "actionType": "Submit", "contextId": "00161000011ueBV", "nextApproverIds": ["00561000000j3h2"], "comments": "this is a test", "contextActorId": "005610000027SlY", "processDefinitionNameOrId": "test_account", "skipEntryCriteria": "true"}] } ar = client.approvals(body) req_response = ar[0] request_status = req_response[0].get("instanceStatus", None) assert ar[1].status == 200 assert ar[1].http_method is "POST" assert request_status == "Pending"