Esempio n. 1
0
 def test_set_config_dict(self):
     foo = ConfigMapper('/tmp')
     foo.set_config(DEFAULT_CONFIG)
     db = dbdict('/tmp/guachi.db')
     actual = db.get_all()
     expected = DEFAULT_CONFIG
     self.assertEqual(actual, expected) 
Esempio n. 2
0
 def test_set_default_options(self):
     foo = ConfigMapper('/tmp')
     my_config = {'db_port':1234}
     foo.set_default_options(my_config)
     db = dbdict(path='/tmp/guachi.db', table='_guachi_defaults')
     expected = my_config
     actual = db.get_all()
     self.assertEqual(actual, expected) 
Esempio n. 3
0
 def test_set_config_dict_empty(self):
     """Pass an empty dict and get defaults back"""
     foo = ConfigMapper('/tmp')
     foo.set_config({})
     db = dbdict('/tmp/guachi.db')
     actual = db.get_all()
     expected ={}
     self.assertEqual(actual, expected) 
Esempio n. 4
0
 def test_get_default_options(self):
     foo = ConfigMapper('/tmp')
     my_config = {'db_port':1234}
     foo.set_default_options(my_config)
     defaults = foo.get_default_options()
     actual = defaults['db_port']
     expected = 1234
     self.assertEqual(actual, expected) 
Esempio n. 5
0
 def test_get_ini_options(self):
     foo = ConfigMapper('/tmp')
     my_config = {'config.db.port':'db_port'}
     foo.set_ini_options(my_config)
     defaults = foo.get_ini_options()
     actual = defaults['config.db.port']
     expected = 'db_port'
     self.assertEqual(actual, expected) 
Esempio n. 6
0
 def test_add_config(self):
     """Add a configuration file to the config db"""
     commands = pacha.PachaCommands(test=True, parse=False, db=ConfigMapper('/tmp/pacha_test/pacha_test.db'),
             db_file='/tmp/pacha_test/pacha_test.db') 
     sys.stdout = MockSys()
     commands.add_config('/non/existent/path')
     conf = ConfigMapper('/tmp/pacha_test/pacha_test.db')
     db_conf = conf.stored_config()
     
     self.assertEqual(db_conf['path'], '/non/existent/path')
     self.assertEqual(sys.stdout.captured(), 'Configuration file added: /non/existent/path')
Esempio n. 7
0
 def test_check_config_gone(self):
     """Set a path that is not reachablei and get an error message"""
     commands = pacha.PachaCommands(test=True, parse=False, db=ConfigMapper('/tmp/pacha_test/pacha_test.db')) 
     commands.add_config('/non/existent/path')
     conf = ConfigMapper('/tmp/pacha_test/pacha_test.db')
     db_conf = conf.stored_config()
     # force a config push/parse:
     for k,v in config.DEFAULT_MAPPINGS.items():
         db_conf[k] = v
     self.assertEqual(len(conf.stored_config().items()), 13) 
     sys.stdout = MockSys()
     commands.check_config() 
     actual  = sys.stdout.captured()
     expected = CONFIG_GONE
     self.assertEqual(actual, expected) 
Esempio n. 8
0
 def test_config_values_config_error(self):
     """Show an error message when we have an exception"""
     f = open('/tmp/pacha_test/pacha_test.conf', 'w')
     f.write('')
     f.close()
     commands = pacha.PachaCommands(test=True, parse=False, db=ConfigMapper('/tmp/pacha_test/pacha_test.db')) 
     conf = ConfigMapper('/tmp/pacha_test/pacha_test.db')
     db_conf = conf.stored_config()
     db_conf['path'] = '/tmp/pacha_test/pacha_test.db'
     os.remove('/tmp/pacha_test/pacha_test.db')
     sys.stdout = MockSys()
     commands.config_values() 
     stdout  = sys.stdout.captured()
     actual = stdout 
     expected = """Could not complete command "key \'path\' not found in persistent dictionary"\n"""
     self.assertEqual(actual, expected) 
Esempio n. 9
0
 def test_config_values(self):
     """Print out the configuration values we set"""
     f = open('/tmp/pacha_test/pacha_test.conf', 'w')
     f.write('')
     f.close()
     commands = pacha.PachaCommands(test=True, parse=False, db=ConfigMapper('/tmp/pacha_test/pacha_test.db')) 
     conf = ConfigMapper('/tmp/pacha_test/pacha_test.db')
     db_conf = conf.stored_config()
     # force a config push/parse:
     for k,v in config.DEFAULT_MAPPINGS.items():
         db_conf[k] = v
     commands.add_config('/tmp/pacha_test/pacha_test.conf')
     sys.stdout = MockSys()
     commands.config_values() 
     actual  = sys.stdout.captured()
     expected = u'\nConfiguration file: /tmp/pacha_test/pacha_test.conf\n\nlog_path       = False\nlog_enable     = False\nhosts_path     = /opt/pacha\nhost           = localhost\nfrequency      = 60  \npath           = /tmp/pacha_test/pacha_test.conf\nlog_datefmt    = %H:%M:%S\nlog_level      = DEBUG\nhg_autocorrect = True\nssh_port       = 22  \nmaster         = False\nssh_user       = root\nlog_format     = %(asctime)s %(levelname)s %(name)s %(message)s\n\n'
     self.assertEqual(actual, expected) 
Esempio n. 10
0
 def test_config_values_config_gone(self):
     """When the config is gone show the config_gone message"""
     cmd = pacha.PachaCommands(test=True, parse=False, db=ConfigMapper('/tmp/pacha_test/pacha_test.db')) 
     conf = ConfigMapper('/tmp/pacha_test/pacha_test.db')
     db_conf = conf.stored_config()
     # force a config push/parse:
     for k,v in config.DEFAULT_MAPPINGS.items():
         db_conf[k] = v
     sys.stdout = MockSys()
     cmd.check_config()
     cmd.config_values() 
     stdout  = sys.stdout.captured()
     message = "The config file supplied does not exist"
     warning_message = False
     if message in stdout:
         warning_message = True
     self.assertTrue(warning_message)
Esempio n. 11
0
 def test_daemon_start(self):
     """Start the daemon via the command line"""
     cmd = pacha.PachaCommands(test=True, parse=False, db=ConfigMapper('/tmp/pacha_test/pacha_test.db'))
     cmd.add_config('/tmp/pacha_test/pacha.conf')
     cmd.check_config()
     conf = ConfigMapper('/tmp/pacha_test/pacha_test.db')
     db_conf = conf.stored_config()
     db_conf['log_path'] = '/tmp/pacha_test'                
     db_conf['log_enable'] = False                 
     db_conf['log_level'] = 'CRITICAL'
     db_conf['log_format'] = 'H%'
     db_conf['log_datefmt'] = 'X'
     cmd.config = db_conf
     sys.stdout = MockSys()
     cmd.parseArgs(['pacha', '--daemon-stop'])
     actual = sys.stdout.captured()
     expected = '\nPID file not found. Process may not be running.\n\n'
     self.assertEqual(actual, expected) 
Esempio n. 12
0
 def test_parse_add_config(self):
     """Add a configuration file to the config db when called via CLI"""
     commands = pacha.PachaCommands(test=True, parse=False, db=ConfigMapper('/tmp/pacha_test/pacha_test.db'))
     conf = ConfigMapper('/tmp/pacha_test/pacha_test.db')
     db_conf = conf.stored_config()
     db_conf['log_path'] = '/tmp/pacha_test'                
     db_conf['log_enable'] = False                 
     db_conf['log_level'] = 'CRITICAL'
     db_conf['log_format'] = 'H%'
     db_conf['log_datefmt'] = 'X'
     sys.stdout = MockSys()
     commands.parseArgs(argv=['pacha', '--add-config', '/non/existent/path']) 
     conf = ConfigMapper('/tmp/pacha_test/pacha_test.db')
     db_conf = conf.stored_config()
    
     message = False
     if 'Configuration file added: /non/existent/path' in sys.stdout.captured():
         message = True
     self.assertEqual(db_conf['path'], '/non/existent/path')
     self.assertTrue(message)
Esempio n. 13
0
    it "not exists extended commands":
        assert get_extend_commands() == []

    it "can't load the extended commands":
    	assert load_extend_commands("config") == None

describe "get extend commands":
  
    before all:
        # Fixes Database Absolute Location
        file_cwd = os.path.abspath("./")
        file_dir = os.path.dirname(file_cwd)
        self.db_file = file_dir+"/tests/test_dozo.db"

        db = ConfigMapper(self.db_file)
        self.config = db.stored_config()
        self.config["path-extend"] = file_dir+"/tests/path_extend"

    after all:
        try:
            os.remove(self.db_file)
        except:
            pass # who cares if you can't


    it "get the list of extended commands":
        cmds = get_extend_commands(self.config["path-extend"])
        assert cmds == ['test_command']
    
    it "load and execute extended test command":
Esempio n. 14
0
    def test_access_mapped_configs_dict(self):
        foo = ConfigMapper('/tmp/guachi')
        foo.set_ini_options(self.mapped_options)
        foo.set_default_options(self.mapped_defaults)
        foo.set_config({'db_host':'example.com', 'db_port':0})

        # try as much operations as we can and assert them
        self.assertEqual(foo(), {})
        self.assertEqual(foo.path, '/tmp/guachi/guachi.db')
        self.assertEqual(foo.get_ini_options(), {})
        self.assertEqual(foo.get_default_options(), {})
        self.assertEqual(foo.get_dict_config(), 
                {u'web_port': u'8080', 
                 u'web_host': u'localhost', 
                 u'db_host': u'example.com', 
                 u'db_port': 0})
        self.assertEqual(foo.stored_config(), {})
        self.assertTrue(foo.integrity_check())
Esempio n. 15
0
 def test_integrity_check(self):
     foo = ConfigMapper('/tmp')
     foo.set_config(DEFAULT_CONFIG)
     actual = foo.integrity_check()
     self.assertTrue(actual) 
Esempio n. 16
0
 def test_get_dict_config(self):
     foo = ConfigMapper('/tmp')
     foo.set_config(DEFAULT_CONFIG)
     actual = foo.get_dict_config()
     expected = DEFAULT_CONFIG
     self.assertEqual(actual, expected) 
Esempio n. 17
0
 def test_stored(self):
     foo = ConfigMapper('/tmp')
     bar = foo.stored_config()
     self.assertEqual(bar, {})
Esempio n. 18
0
 def test_stored_get_data(self):
     """Verify we can actually get data by using stored"""
     foo = ConfigMapper('/tmp')
     bar = foo.stored_config()
     bar['a'] = 1
     self.assertEqual(bar, {'a':1})
Esempio n. 19
0
def set_mappings(DB_FILE):
    """Sets the INI and default mappings in the database"""
    conf = ConfigMapper(DB_FILE)
    conf.set_default_options(DEFAULT_MAPPINGS)
    conf.set_ini_options(INI_MAPPINGS)
Esempio n. 20
0
 def test_path_verify_file(self):
     foo = ConfigMapper('/tmp/foo_guachi.db')
     actual = foo._path_verify('/tmp/foo_guachi.db')
     expected = '/tmp/foo_guachi.db'
     self.assertEqual(actual, expected) 
Esempio n. 21
0
    def test_access_mapped_configs_empty_dict(self):
        foo = ConfigMapper('/tmp/guachi')
        foo.set_ini_options(self.mapped_options)
        foo.set_default_options(self.mapped_defaults)
        foo.set_config({})

        # try as much operations as we can and assert them
        self.assertEqual(foo(), {})
        self.assertEqual(foo.path, '/tmp/guachi/guachi.db')
        self.assertEqual(foo.get_ini_options(), {})
        self.assertEqual(foo.get_default_options(), {})
        self.assertEqual(foo.get_dict_config(), self.mapped_defaults)
        self.assertEqual(foo.stored_config(), {})
        self.assertTrue(foo.integrity_check())