def test_23a_utility_debug_missing(self):
     """
     Ensure that config with missing utility_debug is always false.
     """
     self.mangle(change={"utility_debug": None})
     ConfigurationInit(TESTCONF, "sample.json")
     self.assertFalse(globals.g_utility_debug)
 def test_03i_new_mode_primary_minion(self):
     """
     Ensure we detect a configuration file without a 'mode' definition (defaults to "primary")
     """
     self.mangle(change={"mode": "primary+minion"})
     ConfigurationInit(TESTCONF)
     self.assertEqual("primary+minion", globals.g_mode)
 def test_23b_utility_debug_empty(self):
     """
     Ensure that config with empty utility_debug is always false.
     """
     self.mangle(change={"utility_debug": ""})
     ConfigurationInit(TESTCONF, "sample.json")
     self.assertFalse(globals.g_utility_debug)
 def test_05d_cb_server_url_empty_for_minion(self):
     """
     Ensure that 'cb_server_url' is required and detected if mode=minion.
     """
     self.mangle(change={"mode": "minion", "cb_server_url": ""})
     with self.assertRaises(CbInvalidConfig) as err:
         ConfigurationInit(TESTCONF)
 def test_03f_deprecated_mode_master_worker(self):
     """
     Ensure we detect a configuration file without a 'mode' definition (defaults to "primary")
     """
     self.mangle(change={"mode": "master+worker"})
     ConfigurationInit(TESTCONF)
     self.assertEqual("master+worker", globals.g_mode)
 def test_03a_mode_missing(self):
     """
     Ensure we detect a configuration file without a 'mode' definition (defaults to "primary")
     """
     self.mangle(change={"mode": None})
     ConfigurationInit(TESTCONF)
     self.assertEqual("primary", globals.g_mode)
 def test_01b_config_is_dir(self):
     """
     Ensure a config path leading to a directory is detected.
     """
     with self.assertRaises(CbInvalidConfig) as err:
         ConfigurationInit(os.path.join(TESTS))
     assert "is a directory!" in "{0}".format(err.exception.args[0])
 def test_16c_num_days_binaries_bogus(self):
     """
     Ensure that config with bogus (non-int) num_days_binaries is detected.
     """
     self.mangle(change={"num_days_binaries": "BOGUS"})
     with self.assertRaises(ValueError) as err:
         ConfigurationInit(TESTCONF, "sample.json")
     assert "invalid literal for int" in "{0}".format(err.exception.args[0])
 def test_07c_yara_rules_dir_not_exists(self):
     """
     Ensure that config with yara rules directory that does not exist is detected.
     """
     self.mangle(change={"yara_rules_dir": "no-such-dir"})
     with self.assertRaises(CbInvalidConfig) as err:
         ConfigurationInit(TESTCONF, "sample.json")
     assert "does not exist" in "{0}".format(err.exception.args[0])
Ejemplo n.º 10
0
 def test_05b_cb_server_url_empty_for_primary(self):
     """
     Ensure that 'cb_server_url' is not required if mode==primary
     """
     self.mangle(change={"mode": "primary", "cb_server_url": ""})
     with self.assertRaises(CbInvalidConfig):
         ConfigurationInit(TESTCONF)
     self.assertEqual("", globals.g_cb_server_url)
Ejemplo n.º 11
0
 def test_18d_utility_script_empty(self):
     """
     Ensure that config with empty utility_script with positive interval is nullified.
     """
     self.mangle(change={"utility_script": "", "utility_interval": "10"})
     ConfigurationInit(TESTCONF, "sample.json")
     self.assertEqual(0, globals.g_utility_interval)
     self.assertEqual("", globals.g_utility_script)
Ejemplo n.º 12
0
 def test_90_minimal_validation_effects(self):
     """
     Ensure that minimal configuration does not set extra globals
     """
     self.mangle(change={"mode": "minion"})
     globals.g_postgres_host = None
     ConfigurationInit(TESTCONF)
     self.assertEqual(globals.g_postgres_host, "localhost")
Ejemplo n.º 13
0
 def test_25a_celery_worker_config(self):
     """
     Ensure that basic celery worker config is handled
     """
     ConfigurationInit(TESTCONF, "sample.json")
     self.assertEqual(1, len(globals.g_celery_worker_kwargs))
     self.assertTrue("autoscale" in globals.g_celery_worker_kwargs)
     self.assertEqual("4,4", globals.g_celery_worker_kwargs['autoscale'])
Ejemplo n.º 14
0
 def test_24c_database_scanning_interval_bogus(self):
     """
     Ensure that config with bogus (non-int) database_scanning_interval is detected.
     """
     self.mangle(change={"database_scanning_interval": "BOGUS"})
     with self.assertRaises(ValueError) as err:
         ConfigurationInit(TESTCONF, "sample.json")
     assert "invalid literal for int" in "{0}".format(err.exception.args[0])
Ejemplo n.º 15
0
 def test_22c_minion_network_timeout_bogus(self):
     """
     Ensure that config with bogus (non-int) minion_network_timeout is detected.
     """
     self.mangle(change={"minion_network_timeout": "BOGUS"})
     with self.assertRaises(ValueError) as err:
         ConfigurationInit(TESTCONF, "sample.json")
     assert "invalid literal for int" in "{0}".format(err.exception.args[0])
Ejemplo n.º 16
0
 def test_21_config_malformed_parameter(self):
     """
     Ensure that config with malformed parameter is detected
     """
     self.mangle(change={"utility_interval": "1%"})
     with self.assertRaises(CbInvalidConfig) as err:
         ConfigurationInit(TESTCONF, "sample.json")
     assert "cannot be parsed" in "{0}".format(err.exception.args[0])
Ejemplo n.º 17
0
 def test_20b_feed_database_dir_not_directory(self):
     """
     Ensure that config with feed database directory that is not a directory is detected.
     """
     self.mangle(change={"feed_database_dir": TESTCONF})
     with self.assertRaises(CbInvalidConfig) as err:
         ConfigurationInit(TESTCONF, "sample.json")
     assert "is not a directory" in "{0}".format(err.exception.args[0])
Ejemplo n.º 18
0
 def test_18b_utility_script_is_dir(self):
     """
     Ensure that config with utility_script as directory is detected.
     """
     self.mangle(change={"utility_script": TESTS, "utility_interval": "10"})
     with self.assertRaises(CbInvalidConfig) as err:
         ConfigurationInit(TESTCONF, "sample.json")
     assert "is a directory" in "{0}".format(err.exception.args[0])
Ejemplo n.º 19
0
 def test_25b_celery_worker_config_bad_json(self):
     """
     Ensure that basic celery worker config is handled with bad json.
     """
     self.mangle(change={"celery_worker_kwargs": "{BOGUS}"})
     with self.assertRaises(CbInvalidConfig) as err:
         ConfigurationInit(TESTCONF, "sample.json")
     assert "invalid JSON" in err.exception.args[0]
Ejemplo n.º 20
0
 def test_01a_missing_config(self):
     """
     Ensure a missing config file is detected.
     """
     with self.assertRaises(CbInvalidConfig) as err:
         ConfigurationInit(
             os.path.join(TESTS, "config", "no-such-config.conf"))
     assert "does not exist!" in "{0}".format(err.exception.args[0])
Ejemplo n.º 21
0
 def test_24d_database_scanning_interval_below_minimum(self):
     """
     Ensure that config with missing database_scanning_interval reverts to default
     """
     self.mangle(change={"database_scanning_interval": "18"})
     with self.assertRaises(CbInvalidConfig) as err:
         ConfigurationInit(TESTCONF, "sample.json")
     assert "'database_scanning_interval' must be greater or equal to 360" in "{0}".format(
         err.exception.args[0])
Ejemplo n.º 22
0
    def test_24b_database_scanning_interval_empty(self):
        """
        Ensure that config with empty database_scanning_interval reverts to default
        """
        check = globals.g_scanning_interval

        self.mangle(change={"database_scanning_interval": ""})
        ConfigurationInit(TESTCONF, "sample.json")
        self.assertEqual(check, globals.g_scanning_interval)
Ejemplo n.º 23
0
    def test_23d_utility_debug_empty_global_changed(self):
        """
        Ensure that config with empty utility_debug is always false, even if the globals are altered!
        """
        globals.g_utility_debug = True

        self.mangle(change={"utility_debug": ""})
        ConfigurationInit(TESTCONF, "sample.json")
        self.assertFalse(globals.g_utility_debug)
Ejemplo n.º 24
0
 def test_23c_utility_debug_bogus(self):
     """
     Ensure that config with bogus (non-bool) utility_debug is detected.
     """
     self.mangle(change={"utility_debug": "BOGUS"})
     with self.assertRaises(ValueError) as err:
         ConfigurationInit(TESTCONF, "sample.json")
     assert "is not a valid boolean value" in "{0}".format(
         err.exception.args[0])
Ejemplo n.º 25
0
 def test_17d_utility_interval_negative(self):
     """
     Ensure that config with negative utility_interval is detected.
     """
     self.mangle(change={"utility_interval": "-10"})
     with self.assertRaises(CbInvalidConfig) as err:
         ConfigurationInit(TESTCONF, "sample.json")
     assert "'utility_interval' must be greater or equal to 0" in "{0}".format(
         err.exception.args[0])
Ejemplo n.º 26
0
    def test_16b_num_days_binaries_empty(self):
        """
        Ensure that config with empty num_days_binaries reverts to default
        """
        check = globals.g_num_days_binaries

        self.mangle(change={"num_days_binaries": ""})
        ConfigurationInit(TESTCONF, "sample.json")
        self.assertEqual(check, globals.g_num_days_binaries)
Ejemplo n.º 27
0
    def test_22b_minion_network_timeout_empty(self):
        """
        Ensure that config with empty minion_network_timeout reverts to default
        """
        check = globals.g_minion_network_timeout

        self.mangle(change={"minion_network_timeout": ""})
        ConfigurationInit(TESTCONF, "sample.json")
        self.assertEqual(check, globals.g_minion_network_timeout)
Ejemplo n.º 28
0
    def test_17a_utility_interval_missing(self):
        """
        Ensure that missing utility_interval uses the default.
        """
        check = globals.g_utility_interval

        self.mangle(change={"utility_interval": None})
        ConfigurationInit(TESTCONF, "sample.json")
        self.assertEqual(check, globals.g_utility_interval)
Ejemplo n.º 29
0
 def test_15c_disable_rescan_bogus(self):
     """
     Ensure that config with bogus (non-bool) disable_rescan is detected.
     """
     self.mangle(change={"disable_rescan": "BOGUS"})
     with self.assertRaises(ValueError) as err:
         ConfigurationInit(TESTCONF, "sample.json")
     assert "is not a valid boolean value" in "{0}".format(
         err.exception.args[0])
Ejemplo n.º 30
0
    def test_17b_utility_interval_empty(self):
        """
        Ensure that empty utility_interval uses the default.
        """
        check = globals.g_utility_interval

        self.mangle(change={"utility_interval": ""})
        ConfigurationInit(TESTCONF, "sample.json")
        self.assertEqual(check, globals.g_utility_interval)