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
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, [])
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()
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()
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()
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)
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)