Esempio n. 1
0
    def test_config_check_failure(self):
        '''Test that a missing config fails'''
        proc = test_base.TimeoutRunner([
            self.binary, "--config_check",
            "--database_path=%s" %
            (self.dbpath), "--config_path=/this/path/does/not/exist"
        ], SHELL_TIMEOUT)
        self.assertNotEqual(proc.stderr, "")
        print(proc.stdout)
        print(proc.stderr)
        self.assertEqual(proc.proc.poll(), 1)

        # Now with a valid path, but invalid content.
        proc = test_base.TimeoutRunner([
            self.binary, "--config_check",
            "--database_path=%s" % (self.dbpath),
            "--config_path=%s/test.badconfig" % test_base.SCRIPT_DIR
        ], SHELL_TIMEOUT)
        self.assertEqual(proc.proc.poll(), 1)
        self.assertNotEqual(proc.stderr, "")

        # Finally with a missing config plugin
        proc = test_base.TimeoutRunner([
            self.binary, "--config_check",
            "--database_path=%s" %
            (self.dbpath), "--config_plugin=does_not_exist"
        ], SHELL_TIMEOUT)
        self.assertNotEqual(proc.stderr, "")
        self.assertNotEqual(proc.proc.poll(), 0)
Esempio n. 2
0
 def test_config_check_failure_valid_path(self):
     # Now with a valid path, but invalid content.
     proc = test_base.TimeoutRunner([
         self.binary, "--config_check",
         "--database_path=%s" % (self.dbpath),
         "--config_path=%s/test.badconfig" % test_base.SCRIPT_DIR
     ], SHELL_TIMEOUT)
     self.assertEqual(proc.proc.poll(), 1)
     self.assertNotEqual(proc.stderr, "")
Esempio n. 3
0
 def test_config_check_failure_missing_plugin(self):
     # Finally with a missing config plugin
     proc = test_base.TimeoutRunner([
         self.binary, "--config_check", "--verbose",
         "--config_plugin=does_not_exist"
     ], SHELL_TIMEOUT)
     self.assertNotEqual(proc.stderr, "")
     self.assertNotEqual(proc.proc.poll(), 0)
     # Also do not accept a SIGSEG
     self.assertEqual(proc.proc.poll(), EXIT_CATASTROPHIC)
Esempio n. 4
0
 def test_config_check_success(self):
     '''Test that a 0-config passes'''
     proc = test_base.TimeoutRunner([
         self.binary, "--config_check",
         "--database_path=%s" % (self.dbpath), "--config_path=test.config"
     ], 2)
     self.assertEqual(proc.stdout, "")
     print(proc.stdout)
     print(proc.stderr)
     self.assertEqual(proc.proc.poll(), 0)
Esempio n. 5
0
 def test_config_check_failure_valid_path(self):
     # Now with a valid path, but invalid content.
     proc = test_base.TimeoutRunner([
         self.binary,
         "--config_check",
         "--verbose",
         "--config_path=%s" % configFile("test.badconfig"),
     ], SHELL_TIMEOUT)
     self.assertEqual(proc.proc.poll(), 1)
     self.assertNotEqual(proc.stderr, "")
Esempio n. 6
0
 def test_config_check_failure_invalid_path(self):
     '''Test that a missing config fails'''
     proc = test_base.TimeoutRunner([
         self.binary, "--config_check", "--verbose",
         "--config_path=/this/path/does/not/exist"
     ], SHELL_TIMEOUT)
     self.assertNotEqual(proc.stderr, "")
     print(proc.stdout)
     print(proc.stderr)
     self.assertEqual(proc.proc.poll(), 1)
Esempio n. 7
0
 def test_config_check_failure_valid_path(self):
     # Now with a valid path, but invalid content.
     proc = test_base.TimeoutRunner([
         self.binary, "--config_check", "--extensions_autoload=",
         "--verbose",
         "--database_path=%s" % (self.dbpath),
         "--config_path=%s" %
         os.path.join(test_base.SCRIPT_DIR, "test.badconfig")
     ], SHELL_TIMEOUT)
     self.assertEqual(proc.proc.poll(), 1)
     self.assertNotEqual(proc.stderr, "")
Esempio n. 8
0
 def test_config_check_example(self):
     '''Test that the example config passes'''
     example_path = "deployment/osquery.example.conf"
     proc = test_base.TimeoutRunner([
         self.binary, "--config_check",
         "--config_path=%s/../%s" % (test_base.SCRIPT_DIR, example_path)
     ], SHELL_TIMEOUT)
     self.assertEqual(proc.stdout, "")
     print(proc.stdout)
     print(proc.stderr)
     self.assertEqual(proc.proc.poll(), 0)
Esempio n. 9
0
 def test_config_dump(self):
     '''Test that config raw output is dumped when requested'''
     config = "%s/test_noninline_packs.conf" % test_base.SCRIPT_DIR
     proc = test_base.TimeoutRunner(
         [self.binary, "--config_dump",
          "--config_path=%s" % config], SHELL_TIMEOUT)
     content = ""
     with open(config, 'r') as fh:
         content = fh.read()
     self.assertEqual(proc.stdout, "{\"%s\": %s}\n" % (config, content))
     print(proc.stderr)
     self.assertEqual(proc.proc.poll(), 0)
Esempio n. 10
0
 def test_config_check_success(self):
     '''Test that a 0-config passes'''
     proc = test_base.TimeoutRunner([
         self.binary,
         "--config_check",
         "--config_path=%s" % configFile("test.config"),
         "--verbose",
     ], SHELL_TIMEOUT)
     self.assertEqual(proc.stdout, b"")
     print(proc.stdout)
     print(proc.stderr)
     self.assertEqual(proc.proc.poll(), 0)
Esempio n. 11
0
 def test_config_check_example(self):
     '''Test that the example config passes'''
     proc = test_base.TimeoutRunner([
         self.binary,
         "--config_check",
         "--config_path=%s" % configFile("osquery.example.conf"),
         "--verbose",
     ], SHELL_TIMEOUT)
     self.assertEqual(proc.stdout, b"")
     print(proc.stdout)
     print(proc.stderr)
     self.assertEqual(proc.proc.poll(), 0)
Esempio n. 12
0
 def test_config_check_success(self):
     '''Test that a 0-config passes'''
     proc = test_base.TimeoutRunner([
         self.binary,
         "--config_check",
         "--database_path=%s" % (self.dbpath),
         "--config_path=%s/test.config" % test_base.SCRIPT_DIR,
         "--extensions_autoload=",
         "--verbose",
     ], SHELL_TIMEOUT)
     self.assertEqual(proc.stdout, "")
     print(proc.stdout)
     print(proc.stderr)
     self.assertEqual(proc.proc.poll(), 0)
Esempio n. 13
0
 def test_json_output(self):
     '''Test that the output of --json is valid json'''
     proc = test_base.TimeoutRunner([
         self.binary,
         "select 0",
         "--json",
     ], SHELL_TIMEOUT)
     if os.name == "nt":
         self.assertEqual(proc.stdout, b"[\r\n  {\"0\":\"0\"}\r\n]\r\n")
     else:
         self.assertEqual(proc.stdout, b"[\n  {\"0\":\"0\"}\n]\n")
     print(proc.stdout)
     print(proc.stderr)
     self.assertEqual(proc.proc.poll(), 0)
Esempio n. 14
0
 def test_config_check_example(self):
     '''Test that the example config passes'''
     example_path = os.path.join("deployment", "osquery.example.conf")
     proc = test_base.TimeoutRunner([
         self.binary,
         "--config_check",
         "--config_path=%s" %
         os.path.join(test_base.SCRIPT_DIR, "..", example_path),
         "--extensions_autoload=",
         "--verbose",
     ], SHELL_TIMEOUT)
     self.assertEqual(proc.stdout, "")
     print(proc.stdout)
     print(proc.stderr)
     self.assertEqual(proc.proc.poll(), 0)
Esempio n. 15
0
    def test_config_dump(self):
        '''Test that config raw output is dumped when requested'''
        config = os.path.join(test_base.SCRIPT_DIR,
                              "test_noninline_packs.conf")
        proc = test_base.TimeoutRunner(
            [self.binary, "--config_dump",
             "--config_path=%s" % config], SHELL_TIMEOUT)
        content = ""
        with open(config, 'r') as fh:
            content = fh.read()
        actual = proc.stdout

        if os.name == "nt":
            actual = actual.replace('\r', '')

        self.assertEqual(actual, '{"%s": %s}\n' % (config, content))
        print(proc.stderr)
        self.assertEqual(proc.proc.poll(), 0)
Esempio n. 16
0
    def test_config_dump(self):
        '''Test that config raw output is dumped when requested'''
        config = configFile("test_noninline_packs.conf")
        proc = test_base.TimeoutRunner([
            self.binary,
            "--config_dump",
            "--config_path=%s" % config,
            "--extensions_autoload=",
            "--verbose",
        ], SHELL_TIMEOUT)
        content = ""
        with open(config, 'r') as fh:
            content = fh.read()
        actual = proc.stdout.decode('utf-8')

        if os.name == "nt":
            actual = actual.replace('\r', '')

        self.assertEqual(actual, '{"%s": %s}\n' % (config, content))
        print(proc.stderr)
        self.assertEqual(proc.proc.poll(), 0)