Example #1
0
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}]
Example #2
0
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
Example #3
0
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")
Example #4
0
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
Example #5
0
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))
Example #6
0
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,
        )
Example #7
0
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"
Example #8
0
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
Example #9
0
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
Example #10
0
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
Example #11
0
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")