def test_pretty_soql_query_simple_count(): sf = mock.MagicMock() sf.query_all.return_value = _pretend_soql_result() rc = SimpleSalesforceUIHelpers(sf).query( "select Count(Id) from Account", include_deleted=False, format="obj", max_rows=100, ) assert sf.query_all.mock_calls == [ mock.call("select Count(Id) from Account", include_deleted=False) ], sf.query_all.mock_calls assert rc == [{"expr0": 20}] sf = mock.MagicMock() sf.query_all.return_value = _pretend_soql_result() rc = SimpleSalesforceUIHelpers(sf).query( "select Count(Id) from Account", include_deleted=True, format="obj", max_rows=100, ) assert sf.query_all.mock_calls == [ mock.call("select Count(Id) from Account", include_deleted=True) ], sf.query_all.mock_calls assert rc == [{"expr0": 20}]
def test_pretty_soql_query_json(): sf = mock.MagicMock() sf.query_all.return_value = _pretend_soql_results(150) rc = SimpleSalesforceUIHelpers(sf).query("select Id from Account", include_deleted=False, format="json", max_rows=100) assert sf.query_all.mock_calls == [ mock.call("select Id from Account", include_deleted=False) ], sf.query_all.mock_calls assert rc.count("00GUSWLMA") == 100
def test_pretty_describe_format_error(): sf = mock.MagicMock() sf.Blah.describe.return_value = PRETEND_DESCRIBE_DATA with pytest.raises(TypeError): SimpleSalesforceUIHelpers(sf).describe("Blah", detailed=False, format="xyzzy")
def test_pretty_describe_detailed(): sf = mock.MagicMock() sf.Blah.describe.return_value = PRETEND_DESCRIBE_DATA rc = SimpleSalesforceUIHelpers(sf).describe("Blah", detailed=True, format="obj") assert sf.Blah.describe.mock_calls assert rc == PRETEND_DESCRIBE_DATA, rc
def test_pretty_describe_pprint(capsys): sf = mock.MagicMock() sf.Blah.describe.return_value = PRETEND_DESCRIBE_DATA SimpleSalesforceUIHelpers(sf).describe("Blah", detailed=False, format="pprint") out = capsys.readouterr().out assert sf.Blah.describe.mock_calls assert out.strip() == pformat(SUMMARIZED_DATA), (out, pformat(SUMMARIZED_DATA))
def test_pretty_soql_query_errors(): sf = mock.MagicMock() sf.query_all.return_value = _pretend_soql_results(150) with pytest.raises(TypeError): SimpleSalesforceUIHelpers(sf).query( "select Id from Account", include_deleted=False, format="punchcard", max_rows=100, )
def test_pretty_soql_query_simple_truncation(): sf = mock.MagicMock() sf.query_all.return_value = _pretend_soql_results(150) rc = SimpleSalesforceUIHelpers(sf).query("select Id from Account", include_deleted=False, format="obj", max_rows=100) assert sf.query_all.mock_calls == [ mock.call("select Id from Account", include_deleted=False) ], sf.query_all.mock_calls assert len(rc) == 101, len(rc) assert rc[-1] == "... truncated 50 rows"
def test_pretty_soql_query_pprint(capsys): sf = mock.MagicMock() sf.query_all.return_value = _pretend_soql_results(150) SimpleSalesforceUIHelpers(sf).query("select Id from Account", include_deleted=False, format="pprint", max_rows=100) assert sf.query_all.mock_calls == [ mock.call("select Id from Account", include_deleted=False) ], sf.query_all.mock_calls out = capsys.readouterr().out assert out.count("00GUSWLMA") == 100
def test_pretty_soql_query_table_truncation(capsys): sf = mock.MagicMock() sf.query_all.return_value = _pretend_soql_results(150) def pretty_table_raises(*args): raise UnicodeEncodeError("a", "b", 0, 0, "e") with mock.patch("cumulusci.cli.ui.CliTable.pretty_table", pretty_table_raises): SimpleSalesforceUIHelpers(sf).query( "select Id from Account", include_deleted=False, format="table", max_rows=100, ) assert sf.query_all.mock_calls == [ mock.call("select Id from Account", include_deleted=False) ], sf.query_all.mock_calls out = capsys.readouterr().out assert out.count("00GUSWLMA") == 100
def test_pretty_soql_query_table(capsys): sf = mock.MagicMock() sf.query_all.return_value = _pretend_soql_result() with mock.patch("cumulusci.cli.ui.CliTable.pretty_table", pretty_table_raises): SimpleSalesforceUIHelpers(sf).query( "select Count(Id) from Account", include_deleted=False, format="table", max_rows=100, ) assert sf.query_all.mock_calls == [ mock.call("select Count(Id) from Account", include_deleted=False) ], sf.query_all.mock_calls out = capsys.readouterr().out assert "expr0" in out assert "20" in out assert "help" in out
def test_repl_helpers(pretty_soql_query, pretty_describe): sf = mock.MagicMock() helpers = SimpleSalesforceUIHelpers(sf) assert helpers.describe("Account", format="obj") assert helpers.query("select Id from Account", format="obj")