def test_env_defaults(self): from stage.conf import Env G = Env(self.defaults, self.required).defaults with G.LOG as LOG: self.assertEqual(LOG.NAME, 'root') self.assertEqual(LOG.get('REALNAME', 'root'), 'root') self.assertEqual(LOG.LEVEL, 30) self.assertEqual(LOG.DATE, '%a, %d %b %Y %H:%M:%S') self.assertEqual( LOG.ENTRY, '%(levelname)-4s -- %(asctime)s -- %(name)s: %(message)s ' '(%(module)s.%(funcName)s at %(lineno)s)', ) self.assertRaises(AttributeError, lambda: LOG.STDOUT) with G.STREAM as STREAM: self.assertTrue(STREAM.ENABLED) self.assertEqual(STREAM.LEVEL, 30) self.assertTrue(STREAM.STDOUT) self.assertRaises(AttributeError, lambda: STREAM.INTERVAL) with G.ROTATE as ROTATE: self.assertFalse(ROTATE.ENABLED) self.assertEqual(ROTATE.PATH, '') self.assertEqual(ROTATE.BACKUPS, 1) self.assertEqual(ROTATE.INTERVAL, 'h') self.assertRaises(AttributeError, lambda: ROTATE.DATE) from stage.conf import env G = env() with G.LOG as LOG: self.assertEqual(LOG.NAME, 'root') self.assertEqual(LOG.LEVEL, 30) self.assertEqual(LOG.DATE, '%a, %d %b %Y %H:%M:%S') self.assertEqual( LOG.ENTRY, '%(levelname)-4s -- %(asctime)s -- %(name)s: %(message)s ' '(%(module)s.%(funcName)s at %(lineno)s)', ) self.assertRaises(AttributeError, lambda: LOG.STDOUT) with G.STREAM as STREAM: self.assertTrue(STREAM.ENABLED) self.assertEqual(STREAM.LEVEL, 30) self.assertTrue(STREAM.STDOUT) self.assertRaises(AttributeError, lambda: STREAM.INTERVAL) with G.ROTATE as ROTATE: self.assertFalse(ROTATE.ENABLED) self.assertEqual(ROTATE.PATH, '') self.assertEqual(ROTATE.BACKUPS, 1) self.assertEqual(ROTATE.INTERVAL, 'h') self.assertRaises(AttributeError, lambda: ROTATE.DATE)
def test_env_required(self): from stage.conf import Env G = Env(self.defaults, self.required).required with G.SMTP as SMTP: self.assertFalse(SMTP.ENABLED) self.assertEqual(SMTP.TO, '') self.assertEqual(SMTP.SUBJECT, '') self.assertEqual(SMTP.HOST, '') self.assertEqual(SMTP.FROM, '') self.assertRaises(AttributeError, lambda: SMTP.METHOD) with G.HTTP as HTTP: self.assertFalse(HTTP.ENABLED) self.assertEqual(HTTP.HOST, '') self.assertEqual(HTTP.URL, '') self.assertEqual(HTTP.METHOD, 'GET') self.assertRaises(AttributeError, lambda: HTTP.FROM) with G.SYSLOG as SYSLOG: self.assertFalse(SYSLOG.ENABLED) self.assertEqual(SYSLOG.HOST, 'localhost') self.assertEqual(SYSLOG.PORT, 514) self.assertEqual(SYSLOG.FACILITY, 'LOG_USER') self.assertRaises(AttributeError, lambda: SYSLOG.TO) from stage.conf import env G = env() with G.SMTP as SMTP: self.assertFalse(SMTP.ENABLED) self.assertEqual(SMTP.TO, '') self.assertEqual(SMTP.SUBJECT, '') self.assertEqual(SMTP.HOST, '') self.assertEqual(SMTP.FROM, '') self.assertRaises(AttributeError, lambda: SMTP.METHOD) with G.HTTP as HTTP: self.assertFalse(HTTP.ENABLED) self.assertEqual(HTTP.HOST, '') self.assertEqual(HTTP.URL, '') self.assertEqual(HTTP.METHOD, 'GET') self.assertRaises(AttributeError, lambda: HTTP.FROM) with G.SYSLOG as SYSLOG: self.assertFalse(SYSLOG.ENABLED) self.assertEqual(SYSLOG.HOST, 'localhost') self.assertEqual(SYSLOG.PORT, 514) self.assertEqual(SYSLOG.FACILITY, 'LOG_USER') self.assertRaises(AttributeError, lambda: SYSLOG.TO)
def test_env_final(self): from stage.conf import Env G = Env(self.defaults, self.required).freeze() with G.LOG as LOG: self.assertEqual(LOG.NAME, 'root') self.assertEqual(LOG.get('REALNAME', 'root'), 'root') self.assertEqual(LOG.LEVEL, 30) self.assertEqual(LOG.DATE, '%a, %d %b %Y %H:%M:%S') self.assertEqual( LOG.ENTRY, '%(levelname)-4s -- %(asctime)s -- %(name)s: %(message)s ' '(%(module)s.%(funcName)s at %(lineno)s)', ) self.assertRaises(AttributeError, lambda: LOG.STDOUT) with G.STREAM as STREAM: self.assertTrue(STREAM.ENABLED) self.assertEqual(LOG.get('REALSTDOUT', False), False) self.assertEqual(STREAM.LEVEL, 30) self.assertTrue(STREAM.STDOUT) self.assertRaises(AttributeError, lambda: STREAM.DATE) with G.ROTATE as ROTATE: self.assertFalse(ROTATE.ENABLED) self.assertEqual(ROTATE.PATH, '') self.assertEqual(ROTATE.BACKUPS, 1) self.assertEqual(ROTATE.INTERVAL, 'h') self.assertRaises(AttributeError, lambda: ROTATE.LEVEL) with G.SMTP as SMTP: self.assertFalse(SMTP.ENABLED) self.assertEqual(SMTP.TO, '') self.assertEqual(SMTP.SUBJECT, '') self.assertEqual(SMTP.HOST, '') self.assertEqual(SMTP.FROM, '') self.assertRaises(AttributeError, lambda: SMTP.METHOD) with G.HTTP as HTTP: self.assertFalse(HTTP.ENABLED) self.assertEqual(HTTP.HOST, '') self.assertEqual(HTTP.URL, '') self.assertEqual(HTTP.METHOD, 'GET') self.assertRaises(AttributeError, lambda: HTTP.FROM) with G.SYSLOG as SYSLOG: self.assertFalse(SYSLOG.ENABLED) self.assertEqual(SYSLOG.HOST, 'localhost') self.assertEqual(SYSLOG.PORT, 514) self.assertEqual(SYSLOG.FACILITY, 'LOG_USER') self.assertRaises(AttributeError, lambda: SYSLOG.TO) from stage.conf import env G = env() with G.LOG as LOG: self.assertEqual(LOG.NAME, 'root') self.assertEqual(LOG.LEVEL, 30) self.assertEqual(LOG.DATE, '%a, %d %b %Y %H:%M:%S') self.assertEqual( LOG.ENTRY, '%(levelname)-4s -- %(asctime)s -- %(name)s: %(message)s ' '(%(module)s.%(funcName)s at %(lineno)s)', ) self.assertRaises(AttributeError, lambda: LOG.STDOUT) with G.STREAM as STREAM: self.assertTrue(STREAM.ENABLED) self.assertEqual(STREAM.LEVEL, 30) self.assertTrue(STREAM.STDOUT) self.assertRaises(AttributeError, lambda: STREAM.DATE) with G.ROTATE as ROTATE: self.assertFalse(ROTATE.ENABLED) self.assertEqual(ROTATE.PATH, '') self.assertEqual(ROTATE.BACKUPS, 1) self.assertEqual(ROTATE.INTERVAL, 'h') self.assertRaises(AttributeError, lambda: ROTATE.LEVEL) with G.SMTP as SMTP: self.assertFalse(SMTP.ENABLED) self.assertEqual(SMTP.TO, '') self.assertEqual(SMTP.SUBJECT, '') self.assertEqual(SMTP.HOST, '') self.assertEqual(SMTP.FROM, '') self.assertRaises(AttributeError, lambda: SMTP.METHOD) with G.HTTP as HTTP: self.assertFalse(HTTP.ENABLED) self.assertEqual(HTTP.HOST, '') self.assertEqual(HTTP.URL, '') self.assertEqual(HTTP.METHOD, 'GET') self.assertRaises(AttributeError, lambda: HTTP.FROM) with G.SYSLOG as SYSLOG: self.assertFalse(SYSLOG.ENABLED) self.assertEqual(SYSLOG.HOST, 'localhost') self.assertEqual(SYSLOG.PORT, 514) self.assertEqual(SYSLOG.FACILITY, 'LOG_USER') self.assertRaises(AttributeError, lambda: SYSLOG.TO)