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_mssqlcliclient_request_response(self): """ Test mssqlcliclient pipeline for sending request and receiving response works. """ def get_test_baseline(file_name): """ Helper method to get baseline file. """ return os.path.abspath( os.path.join(os.path.abspath(__file__), u'..', u'..', u'mssqlcli', u'jsonrpc', u'contracts', u'tests', u'baselines', file_name)) with open(get_test_baseline(u'test_simple_query.txt'), u'r+b', buffering=0) as response_file: request_stream = io.BytesIO() self.sql_tools_client = sqltoolsclient.SqlToolsClient( input_stream=request_stream, output_stream=response_file) # The sleep is required because py.test and logging have an issue with closing the FileHandle # in a non-thread safe way # issue24262 sleep(0.5) self.mssql_cli_options = create_mssql_cli_options(integrated_auth=True) self.mssql_cli_client = create_mssql_cli_client( self.mssql_cli_options, owner_uri=u'connectionservicetest', sql_tools_client=self.sql_tools_client, extra_bool_param=True, extra_string_param=u'stringparam', extra_int_param=5) self.mssql_cli_client.shutdown()
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_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 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 client_with_db(): db_name = create_test_db() # create options with db name options = create_mssql_cli_options() options.database = db_name cl = create_mssql_cli_client(options) yield cl # cleanup shutdown(cl) clean_up_test_db(db_name)
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
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_mssqlcliclient(database_name=None): options = create_mssql_cli_options() if database_name is not None: options.database = database_name return create_mssql_cli_client(options=options)