def test_logger_isolation(self): rc_independent = RunContext( 'independent' ) self.OUT.info( "Message 1" ) rc_independent.info( "Message 2" ) expected_list = [ r'INFO runcontexttest ....-..-.. ..:..:..,... test_runcontext.py \[... ]: Message 1', ] for expected, actual in zip( expected_list, get_list( 'main' ) ): if not re.match(expected, actual): self.fail( "Expected message \"{}\", found \"{}\"".format( expected, actual ) ) expected_list = [ r'INFO independent ....-..-.. ..:..:..,... test_runcontext.py \[... ]: Message 2', ] for expected, actual in zip( expected_list, get_list( 'independent' ) ): if not re.match(expected, actual): self.fail( "Expected message \"{}\", found \"{}\"".format( expected, actual ) )
class Test(unittest.TestCase): def setUp(self): self.saveDir = os.path.abspath('.') os.chdir( _THIS_DIR ) self.OUT = RunContext( 'runcontexttest' ) self.log_main = get_list( 'main' ) del self.log_main[:] self.log_root = get_list( 'root' ) del self.log_root[:] self.log_sql = get_list( 'sql' ) del self.log_sql[:] def tearDown(self): os.chdir( self.saveDir ) def test_config_read(self): config = self.OUT.config self.assertEqual( 'THIS IS NOT A REAL SERVER', config.get( 'DB', 'default_server' ), 'Wrong default server value' ) self.assertEqual( 'NOTADB', config.get( 'DB', 'default_database'), 'Wrong default db value' ) level = logging.getLevelName( self.OUT.get_logger().level ) self.assertEqual( 'DEBUG', level, 'Wrong logging level: found {}'.format( level ) ) def test_logger_setup(self): logger = self.OUT.logger self.assertEquals( 'DEBUG', logging.getLevelName( logger.level ), 'Wrong logging level on logger' ) self.assertEqual( 'runcontexttest', logger.name, 'Wrong logger name' ) def test_logger_main1(self): self.OUT.debug( 'Message 1' ) self.OUT.info( 'Message 2' ) self.OUT.warning( 'Message 3' ) self.OUT.error( 'This error is only a drill. In the event of a real error, the unit test would fail.' ) expected_list = [ r'DEBUG runcontexttest ....-..-.. ..:..:..,... test_runcontext.py \[... ]: Message 1', r'INFO runcontexttest ....-..-.. ..:..:..,... test_runcontext.py \[... ]: Message 2', r'WARNING runcontexttest ....-..-.. ..:..:..,... test_runcontext.py \[... ]: Message 3', r'ERROR runcontexttest ....-..-.. ..:..:..,... test_runcontext.py \[... ]: This error is only a drill\. In the event of a real error, the unit test would fail\.', ] for expected, actual in zip( expected_list, get_list( 'main' ) ): if not re.match(expected, actual): self.fail( "Expected message \"{}\", found \"{}\"".format( expected, actual ) ) def test_logger_SQL1(self): logger = self.OUT.get_sql_logger() logger.debug( 'Message 1' ) logger.info( 'Message 2' ) logger.warning( 'Message 3' ) logger.error( 'This error is only a drill. In the event of a real error, the unit test would fail.' ) expected_list = [ r'ERROR runcontexttest\.sql ....-..-.. ..:..:..,... test_runcontext.py \[... ]: This error is only a drill\. In the event of a real error, the unit test would fail\.', ] for expected, actual in zip( expected_list, get_list( 'sql' ) ): if not re.match(expected, actual): self.fail( "Expected message \"{}\", found \"{}\"".format( expected, actual ) ) def test_logger_another(self): logger = self.OUT.get_logger( 'some.class' ) self.assertEqual( 'runcontexttest.some.class', logger.name, "Expected logger named runcontexttest.some.class, found {}".format( logger.name ) ) logger.debug( 'Message 1' ) logger.info( 'Message 2' ) logger.warning( 'Message 3' ) logger.error( 'This error is only a drill. In the event of a real error, the unit test would fail.' ) expected_list = [ r'DEBUG runcontexttest\.some\.class ....-..-.. ..:..:..,... test_runcontext.py \[... ]: Message 1', r'INFO runcontexttest\.some\.class ....-..-.. ..:..:..,... test_runcontext.py \[... ]: Message 2', r'WARNING runcontexttest\.some\.class ....-..-.. ..:..:..,... test_runcontext.py \[... ]: Message 3', r'ERROR runcontexttest\.some\.class ....-..-.. ..:..:..,... test_runcontext.py \[... ]: This error is only a drill\. In the event of a real error, the unit test would fail\.', ] for expected, actual in zip( expected_list, get_list( 'main' ) ): if not re.match(expected, actual): self.fail( "Expected message \"{}\", found \"{}\"".format( expected, actual ) ) def test_logger_isolation(self): rc_independent = RunContext( 'independent' ) self.OUT.info( "Message 1" ) rc_independent.info( "Message 2" ) expected_list = [ r'INFO runcontexttest ....-..-.. ..:..:..,... test_runcontext.py \[... ]: Message 1', ] for expected, actual in zip( expected_list, get_list( 'main' ) ): if not re.match(expected, actual): self.fail( "Expected message \"{}\", found \"{}\"".format( expected, actual ) ) expected_list = [ r'INFO independent ....-..-.. ..:..:..,... test_runcontext.py \[... ]: Message 2', ] for expected, actual in zip( expected_list, get_list( 'independent' ) ): if not re.match(expected, actual): self.fail( "Expected message \"{}\", found \"{}\"".format( expected, actual ) ) def test_db_context_cache(self): rc = RunContext( 'unittest' ) dbc1 = rc.getDBContext( 'unittest' ) dbc2 = rc.getDBContext( 'unittest', 'second' ) dbc3 = rc.getDBContext( 'unittest', cached=False ) self.assertIsNot( dbc1, dbc2, 'Returned same dbContext in spite of different instance name' ) self.assertIsNot( dbc1, dbc3, 'Returned same dbContext in spite of different instance name' ) self.assertIsNot( dbc2, dbc3, 'Returned same dbContext in spite of different instance name' ) self.assertIs( rc.getDBContext( 'unittest' ), dbc1, 'Did not return same dbContext' ) self.assertIs( rc.getDBContext( 'unittest', 'second' ), dbc2, 'Did not return same dbContext' ) self.assertIsNot( rc.getDBContext( 'unittest', cached=False ), dbc1, 'Returned same dbContext even though cached=False' ) self.assertIsNot( rc.getDBContext( 'unittest', cached=False ), dbc2, 'Returned same dbContext even though cached=False' ) self.assertIsNot( rc.getDBContext( 'unittest', cached=False ), dbc3, 'Returned same dbContext even though cached=False' ) self.assertIsNot( rc.getDBContext( 'unittest', 'second', cached=False ), dbc1, 'Returned same dbContext even though cached=False' ) self.assertIsNot( rc.getDBContext( 'unittest', 'second', cached=False ), dbc2, 'Returned same dbContext even though cached=False' ) self.assertIsNot( rc.getDBContext( 'unittest', 'second', cached=False ), dbc3, 'Returned same dbContext even though cached=False' )