File size: 4,977 Bytes
17e971c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | import json
import os.path
import shutil
import sys
if "/www/server/panel" not in sys.path:
sys.path.insert(0, "/www/server/panel")
from mod.test.test_web_conf import WebBaseTestcase, PREFIX, NGINX_CONFIG_CASE, APACHE_CONFIG_CASE
from mod.base.web_conf import ConfigMgr, LogMgr
from mod.base.web_conf.util import GET_CLASS
LOG_FORMAT_1 = json.dumps([
"server_addr", "server_port", "host", "remote_addr", "remote_port", "protocol", "method", "uri",
"status", "sent_bytes", "referer", "user_agent", "take_time"
])
LOG_FORMAT_2 = json.dumps([
"server_addr", "host", "remote_addr", "remote_port", "protocol", "method", "uri",
"status", "user_agent", "take_time"
])
class TestRealLogMgr(WebBaseTestcase):
log_mgr = LogMgr(PREFIX)
def test_log_format_mager(self):
# 查看初始
get = GET_CLASS()
get.site_name = self.site_name
print(self.log_mgr.log_format_data(get))
# 添加 一个格式
get = GET_CLASS()
get.format_name = "btlog1"
get.keys = LOG_FORMAT_1
get.space_character = "|"
print(self.log_mgr.add_log_format(get))
# 添加 第二个格式
get = GET_CLASS()
get.format_name = "btlog2"
get.keys = LOG_FORMAT_2
get.space_character = " "
print(self.log_mgr.add_log_format(get))
# 修改 第二个格式
get = GET_CLASS()
get.format_name = "btlog2"
get.keys = LOG_FORMAT_2
get.space_character = "|"
print(self.log_mgr.modify_log_format(get))
# 删除 第一个格式
# get = GET_CLASS()
# get.format_name = "btlog1"
# print(self.log_mgr.remove_log_format(get))
# 查看格式
get = GET_CLASS()
get.site_name = self.site_name
print(self.log_mgr.log_format_data(get))
def test_set_site_log_format(self):
# 设置使用 第二个
get = GET_CLASS()
get.site_name = self.site_name
get.format_name = "btlog2"
print(self.log_mgr.set_site_log_format(get))
# 修改 第二个格式
get = GET_CLASS()
get.format_name = "btlog2"
get.keys = LOG_FORMAT_2
get.space_character = "|"
print(self.log_mgr.modify_log_format(get))
# 设置使用 第一个
get = GET_CLASS()
get.site_name = self.site_name
get.format_name = "btlog1"
print(self.log_mgr.set_site_log_format(get))
# 查看格式
get = GET_CLASS()
get.site_name = self.site_name
print(self.log_mgr.log_format_data(get))
def test_site_log_path(self):
# 查看初始
get = GET_CLASS()
get.site_name = self.site_name
print(self.log_mgr.get_site_log_path(get))
# 修改日志路径
get = GET_CLASS()
get.site_name = self.site_name
get.log_path = "/www/test/logs"
print(self.log_mgr.set_site_log_path(get))
def test_site_crontab_log(self):
get = GET_CLASS()
get.site_name = self.site_name
get.hour = "1"
get.minute = "1"
get.save = "180"
print(self.log_mgr.site_crontab_log(get))
def setUp(self) -> None:
self.reset_site_config()
self.config_mgr = ConfigMgr(self.site_name, PREFIX)
panel_path = "/www/server/panel"
if os.path.exists("{}/data/ng_log_format.json".format(panel_path)):
os.remove("{}/data/ng_log_format.json".format(panel_path))
if os.path.exists("{}/vhost/nginx/log_format".format(panel_path)):
shutil.rmtree("{}/vhost/nginx/log_format".format(panel_path))
if os.path.exists("{}/data/ap_log_format.json".format(panel_path)):
os.remove("{}/data/ap_log_format.json".format(panel_path))
if os.path.exists("{}/vhost/apache/log_format".format(panel_path)):
shutil.rmtree("{}/vhost/apache/log_format".format(panel_path))
def runTest(self):
# self.change_env_to_nginx()
# self.test_log_format_mager()
# print("==================================")
# self.test_set_site_log_format()
# self.check_web_server_config()
# self.change_env_to_apache()
# self.test_log_format_mager()
# print("==================================")
# self.test_set_site_log_format()
# self.check_web_server_config()
# self.change_env_to_nginx()
# self.log_mgr = LogMgr(PREFIX)
# self.test_site_log_path()
# self.check_web_server_config()
# self.change_env_to_apache()
# self.log_mgr = LogMgr(PREFIX)
# self.test_site_log_path()
# self.check_web_server_config()
self.test_site_crontab_log()
def tearDown(self):
pass
self.reset_site_config()
if __name__ == '__main__':
import unittest
s = unittest.TestSuite()
s.addTest(TestRealLogMgr())
unittest.TextTestRunner().run(s)
|