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
Пример #2
0
    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()
Пример #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
Пример #4
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
    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
Пример #6
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
Пример #7
0
    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)
Пример #8
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
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
Пример #10
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
Пример #11
0
 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)