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
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
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_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_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
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
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
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()
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
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()
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
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
def create_mssql_cli(**non_default_options): mssqlcli_options = create_mssql_cli_options(**non_default_options) mssql_cli = MssqlCli(mssqlcli_options) return mssql_cli