Ejemplo n.º 1
0
 def test_make_splunk_path(self):
     origin = os.environ["SPLUNK_HOME"]
     home = "{0}opt{0}splunk".format(op.sep)
     os.environ["SPLUNK_HOME"] = home
     parts = ("etc", "apps")
     sppath = utils.make_splunk_path(parts)
     self.assertEquals(sppath, op.join(home, *parts))
     sppath = utils.make_splunk_path(())
     self.assertEquals(sppath, home)
     os.environ["SPLUNK_HOME"] = origin
Ejemplo n.º 2
0
    def test_reload_confs(self):
        conf_mgr = configure.ConfManager("https://localhost:8089",
                                         self.session_key)
        search_app = utils.make_splunk_path(("etc", "apps", "search"))
        for i in range(3):
            filename = "{}.conf".format(time.time())
            new_file = op.join(search_app, "default", filename)
            stanzas = conf_mgr.get_conf("nobody", "search", filename[-5])
            self.assertEquals(stanzas, [])
            stanza = """[dummy_yummy]\ndummy_yummy = 1"""
            with open(new_file, "w") as f:
                f.write(stanza)

            if i == 0:
                conf_file = filename[:-5]
            elif i == 2:
                conf_file = new_file[:-5]
            else:
                conf_file = new_file

            configure.reload_confs((conf_file,), self.session_key)
            stanzas = conf_mgr.get_conf("nobody", "search", filename[:-5])
            self.assertNotEquals(stanzas, [])
            self.assertEquals(len(stanzas), 1)
            self.assertEquals(stanzas[0]["stanza"], "dummy_yummy")
            self.assertEquals(stanzas[0]["dummy_yummy"], "1")
            os.remove(new_file)
            configure.reload_confs((new_file,), self.session_key)
            stanzas = conf_mgr.get_conf("nobody", "search", filename[:-5])
            self.assertEquals(stanzas, [])
Ejemplo n.º 3
0
    def setUp(self):
        super(TestBox, self).setUp()
        self._rest_server = multiprocessing.Process(target=bsrs.main,
                                                    kwargs={"sleep": False})
        self._rest_server.start()

        box_dir = utils.make_splunk_path(("etc", "apps", "Splunk_TA_box"))
        try:
            os.mkdir(op.join(box_dir, "local"))
        except OSError as ex:
            if ex.errno == 17:
                pass

        with open(op.join(box_dir, "local", "box.conf"), "w") as f:
            f.write(box_local_config)

        conf.reload_confs(("box.conf",), self.session_key)

        with open(op.join(self.cur_dir, "box_modinput.xml")) as f:
            xml = f.read().replace("0123456789", self.session_key)
            modinput_xml[0] = xml.replace("xxxxx",
                                          op.join(self.cur_dir, "ckpt"))

        self.stdout = sys.stdout
        sys.stdout = open(op.join(self.cur_dir, "box_records.xml"), "w")
        self.start = time.time()
Ejemplo n.º 4
0
def deploy_app(package):
    if package.startswith(op.sep):
        package_name = op.basename(package)
    else:
        package_name = package
    sppath = utils.make_splunk_path(("etc", "apps", package_name))
    shutil.rmtree(sppath, ignore_errors=True)
    shutil.copytree(package, sppath)
    restart_splunkd_by_cli()
Ejemplo n.º 5
0
 def setUp(self):
     self.cur_dir = op.dirname(op.abspath(__file__))
     os.chmod(op.join(self.cur_dir, "splunk.conf"), 0666)
     with open(op.join(self.cur_dir, "splunk.conf")) as f:
         self.splunk_user_pass = json.load(f)
     self.dummy_app = "dummy_modinput"
     self.dummy_app_dir = utils.make_splunk_path(("etc", "apps", "dummy_modinput"))
     self.refresh_session_key()
     self.setup_logging()
Ejemplo n.º 6
0
    def setUp(self):
        super(TestBoxConfig, self).setUp()
        app_dir = utils.make_splunk_path(("etc", "apps", "Splunk_TA_box"))
        try:
            os.mkdir(op.join(app_dir, "local"))
        except OSError as ex:
            if ex.errno == 17:
                pass

        with open(op.join(app_dir, "local", "box.conf"), "w") as f:
            f.write(local_config)

        conf.reload_confs(("box.conf",), self.session_key)
        modinput_xml[0] = modinput_xml[0].replace(
            "0123456789", self.session_key)
Ejemplo n.º 7
0
    def test_setup_logging(self):
        logname = "ta_frmk_unittest"
        logfile = utils.make_splunk_path(["var", "log", "splunk",
                                          "%s.log" % logname])
        try:
            os.remove(logfile)
        except OSError:
            pass
        logger = utils.setup_logging(logname, "DEBUG")
        logger.debug("ta_unittest_frmk_debug")
        logger.info("ta_unittest_frmk_info")
        logger.error("ta_unittest_frmk_error")
        utils.setup_logging(logname, "INFO", True)
        logger.debug("ta_unittest_frmk_debug")
        logger.info("ta_unittest_frmk_info")
        logger.error("ta_unittest_frmk_error")
        utils.setup_logging(logname, "ERROR", True)
        logger.debug("ta_unittest_frmk_debug")
        logger.info("ta_unittest_frmk_info")
        logger.error("ta_unittest_frmk_error")

        with open(logfile) as f:
            logs = f.readlines()

        self.assertEqual(len(logs), 6)

        m = re.search(r"DEBUG\s+\d+\s+-\s+ta_unittest_frmk_debug$", logs[0])
        self.assertIsNotNone(m)

        m = re.search(r"INFO\s+\d+\s+-\s+ta_unittest_frmk_info$", logs[1])
        self.assertIsNotNone(m)

        m = re.search(r"ERROR\s+\d+\s+-\s+ta_unittest_frmk_error$", logs[2])
        self.assertIsNotNone(m)

        m = re.search(r"INFO\s+\d+\s+-\s+ta_unittest_frmk_info$", logs[3])
        self.assertIsNotNone(m)

        m = re.search(r"ERROR\s+\d+\s+-\s+ta_unittest_frmk_error$", logs[4])
        self.assertIsNotNone(m)

        m = re.search(r"ERROR\s+\d+\s+-\s+ta_unittest_frmk_error$", logs[5])
        self.assertIsNotNone(m)