# Path: tests/helpers.py
# def eq_(a, b):
# def skip_test(reason='No reason given to skip_test'):
# def mark_slow(f):
#     def __str__(self):
# def mssqlconn(conn_properties=None):
# def pymssqlconn(**kwargs):
# def get_app_lock():
# def release_app_lock():
# def drop_table(conn, tname):
# def clear_table(conn, tname):
#     def table_sql(cls):
#     def newconn(cls):
#     def setup_class(cls):
#     def setUp(self):
#     def row_count(self):
#     def execute(self, sql, params=None):
#     def __init__(self, conn, tname, *cols):
#     def table_sql(self):
#     def drop(self):
#     def execute(self, sql):
#     def create(self):
#     def clear(self):
#     def count(self):
#     def execute(self, sql):
#     def executemany(self, sql, params_seq):
#     def setup_class(cls):
#     def setup_method(self, method):
#     def test_description_not_used(self):
#     def test_description_after_insert(self):
#     def test_description_after_select(self):
#     def test_sticky_description(self):
#     def test_fetchone(self):
#     def test_insert_rowcount(self):
#     def test_delete_rowcount(self):
#     def test_update_rowcount(self):
#     def test_select_rowcount(self):
#     def test_fetchone_rowcount(self):
#     def test_fetchmany_rowcount(self):
#     def test_as_dict(self):
#     def test_as_dict_no_column_name(self):
#     def test_as_dict_no_column_name_2(self):
#     def test_fetchmany(self):
#     def test_execute_many(self):
# def clear_db():
#     def __init__(self, name, args, body, mssql=None):
#     def create(self, mssql=None):
#     def execute(self, mssql=None, args=()):
#     def drop(self, mssql=None):
#     def __enter__(self):
#     def __exit__(self, type, value, tb):
# def get_sql_server_version(mssql_connection):
# class Config(object):
# class PyTableBase(object):
# class TableManager(object):
# class DBAPIBase(object):
# class CursorBase(DBAPIBase):
# class StoredProc(object):


import unittest
from .helpers import config, mssqlconn, mssql_server_required
        finally:
            cnx.close()

    def test_change_handler(self):
        cnx = mssqlconn()
        try:
            cnx.set_msghandler(user_msg_handler1)
            msgs_before = len(msgs)
            cnx.execute_non_query("USE master")
            msgs_after = len(msgs)
            delta = msgs_after - msgs_before
            self.assertEqual(delta, 1)
            expect = ("msg_handler1: msgstate = 1, severity = 0, procname = ''"
                      ", line = 1, msgtext = 'Changed database context to 'master'.'")
            self.assertEqual(expect, msgs[msgs_after - 1])

            cnx.set_msghandler(user_msg_handler2)
            msgs_before = len(msgs)
            cnx.execute_non_query("USE %s" % config.database)
            msgs_after = len(msgs)
            delta = msgs_after - msgs_before
            self.assertEqual(delta, 1)
            expect = ("msg_handler2: msgstate = 1, severity = 0, procname = ''"
                      ", line = 1, msgtext = 'Changed database context to '%s'.'") % config.database
            self.assertEqual(expect, msgs[msgs_after - 1])
        finally:
            cnx.close()

    def test_per_conn_handlers(self):
        cnx1 = mssqlconn()

# Path: tests/helpers.py
# def eq_(a, b):
# def skip_test(reason='No reason given to skip_test'):
# def mark_slow(f):
#     def __str__(self):
# def mssqlconn(conn_properties=None):
# def pymssqlconn(**kwargs):
# def get_app_lock():
# def release_app_lock():
# def drop_table(conn, tname):
# def clear_table(conn, tname):
#     def table_sql(cls):
#     def newconn(cls):
#     def setup_class(cls):
#     def setUp(self):
#     def row_count(self):
#     def execute(self, sql, params=None):
#     def __init__(self, conn, tname, *cols):
#     def table_sql(self):
#     def drop(self):
#     def execute(self, sql):
#     def create(self):
#     def clear(self):
#     def count(self):
#     def execute(self, sql):
#     def executemany(self, sql, params_seq):
#     def setup_class(cls):
#     def setup_method(self, method):
#     def test_description_not_used(self):
#     def test_description_after_insert(self):
#     def test_description_after_select(self):
#     def test_sticky_description(self):
#     def test_fetchone(self):
#     def test_insert_rowcount(self):
#     def test_delete_rowcount(self):
#     def test_update_rowcount(self):
#     def test_select_rowcount(self):
#     def test_fetchone_rowcount(self):
#     def test_fetchmany_rowcount(self):
#     def test_as_dict(self):
#     def test_as_dict_no_column_name(self):
#     def test_as_dict_no_column_name_2(self):
#     def test_fetchmany(self):
#     def test_execute_many(self):
# def clear_db():
#     def __init__(self, name, args, body, mssql=None):
#     def create(self, mssql=None):
#     def execute(self, mssql=None, args=()):
#     def drop(self, mssql=None):
#     def __enter__(self):
#     def __exit__(self, type, value, tb):
# def get_sql_server_version(mssql_connection):
# class Config(object):
# class PyTableBase(object):
# class TableManager(object):
# class DBAPIBase(object):
# class CursorBase(DBAPIBase):
# class StoredProc(object):


# Path: tests/test_user_msghandler.py
import unittest
from .helpers import config, mssqlconn, mssql_server_required

        finally:
            cnx.close()

    def test_change_handler(self):
        cnx = mssqlconn()
        try:
            cnx.set_msghandler(user_msg_handler1)
            msgs_before = len(msgs)
            cnx.execute_non_query("USE master")
            msgs_after = len(msgs)
            delta = msgs_after - msgs_before
            self.assertEqual(delta, 1)
            expect = ("msg_handler1: msgstate = 1, severity = 0, procname = ''"
                      ", line = 1, msgtext = 'Changed database context to 'master'.'")
            self.assertEqual(expect, msgs[msgs_after - 1])

            cnx.set_msghandler(user_msg_handler2)
            msgs_before = len(msgs)
            cnx.execute_non_query("USE %s" % config.database)
            msgs_after = len(msgs)
            delta = msgs_after - msgs_before
            self.assertEqual(delta, 1)
            expect = ("msg_handler2: msgstate = 1, severity = 0, procname = ''"
                      ", line = 1, msgtext = 'Changed database context to '%s'.'") % config.database
            self.assertEqual(expect, msgs[msgs_after - 1])
        finally:
            cnx.close()

    def test_per_conn_handlers(self):
        cnx1 = mssqlconn()

        cnx2 = mssqlconn()