def test_no_limit(self):
        cli_options = create_mssql_cli_options(row_limit=0)
        cli = MssqlCli(cli_options)
        assert cli.row_limit == 0

        result = cli._should_show_limit_prompt(['row'] * self.over_limit)
        assert not result
    def test_default_row_limit(self):
        cli = MssqlCli(self.DEFAULT_OPTIONS)
        result = cli._should_show_limit_prompt(['row'] * self.low_count)
        assert not result

        result = cli._should_show_limit_prompt(['row'] * self.over_default)
        assert result
Exemplo n.º 3
0
def test_no_limit():
    cli_options = create_mssql_cli_options(row_limit=0)
    cli = MssqlCli(cli_options)
    assert cli.row_limit is 0
    stmt = "SELECT * FROM students"

    result = cli._should_show_limit_prompt(stmt, ['row'] * over_limit)
    assert result is False
Exemplo n.º 4
0
def test_default_row_limit():
    cli = MssqlCli(DEFAULT_OPTIONS)
    stmt = "SELECT * FROM students"
    result = cli._should_show_limit_prompt(stmt, ['row'] * low_count)
    assert result is False

    result = cli._should_show_limit_prompt(stmt, ['row'] * over_default)
    assert result is True
Exemplo n.º 5
0
    def test_default_row_limit(self):
        cli = MssqlCli(self.DEFAULT_OPTIONS)
        stmt = "SELECT * FROM students"
        result = cli._should_show_limit_prompt(stmt, ['row']*self.low_count)
        assert not result

        result = cli._should_show_limit_prompt(stmt, ['row']*self.over_default)
        assert result
Exemplo n.º 6
0
def test_set_row_limit():
    cli_options = create_mssql_cli_options(row_limit=LIMIT)
    cli = MssqlCli(cli_options)
    stmt = "SELECT * FROM students"
    result = cli._should_show_limit_prompt(stmt, ['row'] * over_default)
    assert result is False

    result = cli._should_show_limit_prompt(stmt, ['row'] * over_limit)
    assert result is True
Exemplo n.º 7
0
def run_cli_with(options):

    if create_config_dir_for_first_use():
        display_telemetry_message()

    display_version_message(options)

    configure_and_update_options(options)

    # Importing MssqlCli creates a config dir by default.
    # Moved import here so we can create the config dir for first use prior.
    # pylint: disable=import-outside-toplevel
    from mssqlcli.mssql_cli import MssqlCli

    # set interactive mode to false if -Q or -i is specified
    if options.query or options.input_file:
        options.interactive_mode = False

    mssqlcli = MssqlCli(options)
    try:
        mssqlcli.connect_to_database()
        telemetry_session.set_server_information(mssqlcli.mssqlcliclient_main)

        if mssqlcli.interactive_mode:
            mssqlcli.run()
        else:
            text = options.query
            if options.input_file:
                # get query text from input file
                try:
                    if six.PY2:
                        with io.open(options.input_file, 'r',
                                     encoding='utf-8') as f:
                            text = f.read()
                    else:
                        with open(options.input_file, 'r',
                                  encoding='utf-8') as f:
                            text = f.read()
                except OSError as e:
                    click.secho(str(e), err=True, fg='red')
                    sys.exit(1)
            mssqlcli.execute_query(text)
    finally:
        mssqlcli.shutdown()
    def test_row_limit_on_non_select(self):
        cli = MssqlCli(self.DEFAULT_OPTIONS)
        result = cli._should_show_limit_prompt(None)
        assert not result

        cli_options = create_mssql_cli_options(row_limit=0)
        assert cli_options.row_limit == 0
        cli = MssqlCli(cli_options)
        result = cli._should_show_limit_prompt(['row'] * self.over_default)
        assert cli.row_limit == 0
        assert not result
Exemplo n.º 9
0
def test_row_limit_on_non_select():
    cli = MssqlCli(DEFAULT_OPTIONS)
    stmt = "UPDATE students set name='Boby'"
    result = cli._should_show_limit_prompt(stmt, None)
    assert result is False

    cli_options = create_mssql_cli_options(row_limit=0)
    assert cli_options.row_limit is 0
    cli = MssqlCli(cli_options)
    result = cli._should_show_limit_prompt(stmt, ['row'] * over_default)
    assert cli.row_limit is 0
    assert result is False
Exemplo n.º 10
0
def run_cli_with(options):

    if create_config_dir_for_first_use():
        display_telemetry_message()

    display_version_message(options)
    display_integrated_auth_message_for_non_windows(options)

    configure_and_update_options(options)

    mssqlcli = MssqlCli(options)
    mssqlcli.connect_to_database()
    mssqlcli.run()
Exemplo n.º 11
0
class RowLimitTests(unittest.TestCase):

    DEFAULT_OPTIONS = create_mssql_cli_options()
    DEFAULT = MssqlCli(DEFAULT_OPTIONS).row_limit
    LIMIT = DEFAULT + 1000

    low_count = 1
    over_default = DEFAULT + 1
    over_limit = LIMIT + 1

    def test_default_row_limit(self):
        cli = MssqlCli(self.DEFAULT_OPTIONS)
        stmt = "SELECT * FROM students"
        result = cli._should_show_limit_prompt(stmt, ['row'] * self.low_count)
        assert not result

        result = cli._should_show_limit_prompt(stmt,
                                               ['row'] * self.over_default)
        assert result

    def test_no_limit(self):
        cli_options = create_mssql_cli_options(row_limit=0)
        cli = MssqlCli(cli_options)
        assert cli.row_limit == 0
        stmt = "SELECT * FROM students"

        result = cli._should_show_limit_prompt(stmt, ['row'] * self.over_limit)
        assert not result

    def test_row_limit_on_non_select(self):
        cli = MssqlCli(self.DEFAULT_OPTIONS)
        stmt = "UPDATE students set name='Boby'"
        result = cli._should_show_limit_prompt(stmt, None)
        assert not result

        cli_options = create_mssql_cli_options(row_limit=0)
        assert cli_options.row_limit == 0
        cli = MssqlCli(cli_options)
        result = cli._should_show_limit_prompt(stmt,
                                               ['row'] * self.over_default)
        assert cli.row_limit == 0
        assert not result
Exemplo n.º 12
0
def run_cli_with(options):

    if create_config_dir_for_first_use():
        display_telemetry_message()

    display_version_message(options)

    configure_and_update_options(options)

    # Importing MssqlCli creates a config dir by default.
    # Moved import here so we can create the config dir for first use prior.
    from mssqlcli.mssql_cli import MssqlCli

    mssqlcli = MssqlCli(options)
    mssqlcli.connect_to_database()

    telemetry_session.set_server_information(mssqlcli.mssqlcliclient_main)
    mssqlcli.run()
Exemplo n.º 13
0
class RowLimitTests(unittest.TestCase):

    DEFAULT_OPTIONS = create_mssql_cli_options()
    DEFAULT = MssqlCli(DEFAULT_OPTIONS).row_limit
    LIMIT = DEFAULT + 1000

    low_count = 1
    over_default = DEFAULT + 1
    over_limit = LIMIT + 1

    def test_default_row_limit(self):
        cli = MssqlCli(self.DEFAULT_OPTIONS)
        result = cli._should_show_limit_prompt(['row'] * self.low_count)
        assert not result

        result = cli._should_show_limit_prompt(['row'] * self.over_default)
        assert result

    def test_no_limit(self):
        cli_options = create_mssql_cli_options(row_limit=0)
        cli = MssqlCli(cli_options)
        assert cli.row_limit == 0

        result = cli._should_show_limit_prompt(['row'] * self.over_limit)
        assert not result

    def test_row_limit_on_non_select(self):
        cli = MssqlCli(self.DEFAULT_OPTIONS)
        result = cli._should_show_limit_prompt(None)
        assert not result

        cli_options = create_mssql_cli_options(row_limit=0)
        assert cli_options.row_limit == 0
        cli = MssqlCli(cli_options)
        result = cli._should_show_limit_prompt(['row'] * self.over_default)
        assert cli.row_limit == 0
        assert not result
Exemplo n.º 14
0
from mssqlcli.mssql_cli import MssqlCli
from mssqltestutils import create_mssql_cli_options

DEFAULT_OPTIONS = create_mssql_cli_options()
DEFAULT = MssqlCli(DEFAULT_OPTIONS).row_limit
LIMIT = DEFAULT + 1000

low_count = 1
over_default = DEFAULT + 1
over_limit = LIMIT + 1


def test_default_row_limit():
    cli = MssqlCli(DEFAULT_OPTIONS)
    stmt = "SELECT * FROM students"
    result = cli._should_show_limit_prompt(stmt, ['row'] * low_count)
    assert result is False

    result = cli._should_show_limit_prompt(stmt, ['row'] * over_default)
    assert result is True


def test_set_row_limit():
    cli_options = create_mssql_cli_options(row_limit=LIMIT)
    cli = MssqlCli(cli_options)
    stmt = "SELECT * FROM students"
    result = cli._should_show_limit_prompt(stmt, ['row'] * over_default)
    assert result is False

    result = cli._should_show_limit_prompt(stmt, ['row'] * over_limit)
    assert result is True
Exemplo n.º 15
0
def create_mssql_cli(**non_default_options):
    mssqlcli_options = create_mssql_cli_options(**non_default_options)
    mssql_cli = MssqlCli(mssqlcli_options)

    return mssql_cli