проверка имени во время активации
This commit is contained in:
parent
10b89ce25f
commit
5eb5eeb9ba
35
hlna.py
35
hlna.py
@ -295,6 +295,7 @@ def ports(port, ports_arr, flag):
|
|||||||
print_line("Port=", port, flag="CYAN")
|
print_line("Port=", port, flag="CYAN")
|
||||||
if port in ports_arr:
|
if port in ports_arr:
|
||||||
print_line("Порт уже занят", flag="RED")
|
print_line("Порт уже занят", flag="RED")
|
||||||
|
port = check_int("Введите новый порт")
|
||||||
else:
|
else:
|
||||||
return port
|
return port
|
||||||
|
|
||||||
@ -311,7 +312,7 @@ def config_cluster():
|
|||||||
while True:
|
while True:
|
||||||
cluster_id = input("Укажите id для кластера, любое сочетание символов: \n")
|
cluster_id = input("Укажите id для кластера, любое сочетание символов: \n")
|
||||||
if cluster_id == '':
|
if cluster_id == '':
|
||||||
print_line("Введите символы: ", glag="CYAN")
|
print_line("Введите символы: ", flag="CYAN")
|
||||||
else:
|
else:
|
||||||
create_dir(dir_server_ark + cluster_id)
|
create_dir(dir_server_ark + cluster_id)
|
||||||
cluster_dir_override = (dir_server_ark + cluster_id)
|
cluster_dir_override = (dir_server_ark + cluster_id)
|
||||||
@ -385,9 +386,12 @@ def config_maps(i):
|
|||||||
return map_s, port_s, query_p, rcon_p
|
return map_s, port_s, query_p, rcon_p
|
||||||
|
|
||||||
|
|
||||||
def config_nameserver(map_s):
|
def config_nameserver(map_s, flag=True):
|
||||||
while True:
|
while True:
|
||||||
name_server = input("Укажите название Сервера: \n")
|
if flag:
|
||||||
|
name_server = input("Укажите название Сервера: \n")
|
||||||
|
else:
|
||||||
|
name_server = map_s
|
||||||
if name_server == "":
|
if name_server == "":
|
||||||
if map_s in list_config:
|
if map_s in list_config:
|
||||||
count = 1
|
count = 1
|
||||||
@ -407,12 +411,12 @@ def config_nameserver(map_s):
|
|||||||
2. Нет
|
2. Нет
|
||||||
:""")
|
:""")
|
||||||
if choose_reconf == "":
|
if choose_reconf == "":
|
||||||
config_nameserver(map_s)
|
return
|
||||||
elif choose_reconf == "1":
|
elif choose_reconf == "1":
|
||||||
return name_server
|
|
||||||
else:
|
|
||||||
print_line("Введите новое имя сервера", flag="YELLOW")
|
print_line("Введите новое имя сервера", flag="YELLOW")
|
||||||
config_nameserver(map_s)
|
flag = True
|
||||||
|
else:
|
||||||
|
return
|
||||||
else:
|
else:
|
||||||
list_config.append(name_server) # если enter, то ставим последним элементом карту
|
list_config.append(name_server) # если enter, то ставим последним элементом карту
|
||||||
break
|
break
|
||||||
@ -523,10 +527,8 @@ def config_backup(g, m):
|
|||||||
if g == "ark":
|
if g == "ark":
|
||||||
name_server = choose_map(g, m)
|
name_server = choose_map(g, m)
|
||||||
if m == "all":
|
if m == "all":
|
||||||
print_line(f"М: {m}, name_server: {name_server}")
|
|
||||||
all_empty = True # флаг
|
all_empty = True # флаг
|
||||||
for i in name_server:
|
for i in name_server:
|
||||||
print_line(f"{i},{g}")
|
|
||||||
data = read_yaml(g, m=i, flag=True)
|
data = read_yaml(g, m=i, flag=True)
|
||||||
if 'ark_backup' not in data or data['ark_backup'] == "" or data['ark_backup'] == "False":
|
if 'ark_backup' not in data or data['ark_backup'] == "" or data['ark_backup'] == "False":
|
||||||
all_empty = False # меняем флаг, если есть значение, которое не пустое
|
all_empty = False # меняем флаг, если есть значение, которое не пустое
|
||||||
@ -783,7 +785,7 @@ def moddownload(g, m, id_mod, dir_mod_ark):
|
|||||||
if os.path.isfile(uncompressed):
|
if os.path.isfile(uncompressed):
|
||||||
os.remove(uncompressed)
|
os.remove(uncompressed)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print_line(e, flag="GREEN")
|
print_line(e, flag="RED")
|
||||||
print_line(f"[x] Unpacking .z files failed, aborting mod install", flag="RED")
|
print_line(f"[x] Unpacking .z files failed, aborting mod install", flag="RED")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
@ -829,6 +831,7 @@ def moddownload(g, m, id_mod, dir_mod_ark):
|
|||||||
f"mv {dir_workshop_ark}/appworkshop_{id_game_workshop}.acf {dir_mod_ark}/appworkshop_{id_game_workshop}.acf")
|
f"mv {dir_workshop_ark}/appworkshop_{id_game_workshop}.acf {dir_mod_ark}/appworkshop_{id_game_workshop}.acf")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@hlna.command(help='Выключение/включение серверов (без удаления) <hlna switch -m all -d')
|
@hlna.command(help='Выключение/включение серверов (без удаления) <hlna switch -m all -d')
|
||||||
@click.argument('g', nargs=1)
|
@click.argument('g', nargs=1)
|
||||||
@click.option("-m", required=True, help="Название cервера")
|
@click.option("-m", required=True, help="Название cервера")
|
||||||
@ -841,18 +844,13 @@ def switch(g, m, e): # добавить all
|
|||||||
create_dir(dir_deactivated)
|
create_dir(dir_deactivated)
|
||||||
if e:
|
if e:
|
||||||
port_s, query_p, rcon_p = ports_array()
|
port_s, query_p, rcon_p = ports_array()
|
||||||
|
state_config1 = list_config if e else delist_config
|
||||||
state_config = delist_config if e else list_config
|
|
||||||
state_msg = "активных" if e else "не активных"
|
state_msg = "активных" if e else "не активных"
|
||||||
for i in m:
|
for i in m:
|
||||||
try:
|
try:
|
||||||
state_config1 = list_config if e else delist_config
|
|
||||||
if i in state_config1:
|
|
||||||
print_line(f"Карта {i} уже есть в {state_msg}", flag="CYAN")
|
|
||||||
continue
|
|
||||||
data = read_yaml(g="ark", m=i, flag=not e)
|
data = read_yaml(g="ark", m=i, flag=not e)
|
||||||
print_line(f"дата {data}", flag="RED")
|
|
||||||
if e: # добавить проверку занятости имени
|
if e: # добавить проверку занятости имени
|
||||||
|
data['SessionName'] = config_nameserver(i, flag=False)[-1]
|
||||||
data['Port'] = ports(data['Port'], port_s, e)
|
data['Port'] = ports(data['Port'], port_s, e)
|
||||||
data['QueryPort'] = ports(data['QueryPort'], port_s, e)
|
data['QueryPort'] = ports(data['QueryPort'], port_s, e)
|
||||||
data['RCONPort'] = ports(data['RCONPort'], port_s, e)
|
data['RCONPort'] = ports(data['RCONPort'], port_s, e)
|
||||||
@ -915,7 +913,7 @@ def status(list_config=list_config):
|
|||||||
x = input("Есть неактивные сервера, показать Y/n: ")
|
x = input("Есть неактивные сервера, показать Y/n: ")
|
||||||
if x != "n":
|
if x != "n":
|
||||||
for i in delist_config:
|
for i in delist_config:
|
||||||
data = read_yaml(i, flag=False)
|
data = read_yaml(m=i,g="ark", flag=False)
|
||||||
print_line(f"""
|
print_line(f"""
|
||||||
Имя сервера: {i}
|
Имя сервера: {i}
|
||||||
Карта: {data['map']}
|
Карта: {data['map']}
|
||||||
@ -1000,7 +998,6 @@ def start_stop(action, g, m):
|
|||||||
def read_yaml(g="", m="", flag=True):
|
def read_yaml(g="", m="", flag=True):
|
||||||
"""Читает конфиги активных или неактивных карт в зависимости от флага и отдаёт данные туда где их запросили"""
|
"""Читает конфиги активных или неактивных карт в зависимости от флага и отдаёт данные туда где их запросили"""
|
||||||
g = g.lower()
|
g = g.lower()
|
||||||
print_line(f"g: {g}, m: {m}")
|
|
||||||
if g == "ark":
|
if g == "ark":
|
||||||
if m == "all":
|
if m == "all":
|
||||||
print_line("Не правильный вызов yaml, должен вызываться из цикла")
|
print_line("Не правильный вызов yaml, должен вызываться из цикла")
|
||||||
|
39
pytest.py
39
pytest.py
@ -3,15 +3,45 @@ import os
|
|||||||
import hlna
|
import hlna
|
||||||
import time
|
import time
|
||||||
import unittest
|
import unittest
|
||||||
from unittest.mock import patch
|
|
||||||
import zipfile
|
import zipfile
|
||||||
from click.testing import CliRunner
|
from click.testing import CliRunner
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
home_dir = Path.home()
|
home_dir = Path.home()
|
||||||
config_hlna = f"{home_dir}/.config/hlna/"
|
config_hlna = f"{home_dir}/.config/hlna/"
|
||||||
|
|
||||||
|
from unittest.mock import patch, MagicMock
|
||||||
|
|
||||||
|
from hlna import config
|
||||||
|
|
||||||
|
|
||||||
|
class TestConfig(unittest.TestCase):
|
||||||
|
|
||||||
|
@patch('builtins.input', side_effect=['1'])
|
||||||
|
@patch('hlna.config_ark')
|
||||||
|
def test_config_ark_valid(self, config_ark_mock, input_mock):
|
||||||
|
config()
|
||||||
|
config_ark_mock.assert_called_once()
|
||||||
|
|
||||||
|
@patch('builtins.input', side_effect=['2'])
|
||||||
|
@patch('hlna.config_7daystodie')
|
||||||
|
def test_config_7daystodie_valid(self, config_7daystodie_mock, input_mock):
|
||||||
|
config()
|
||||||
|
config_7daystodie_mock.assert_called_once()
|
||||||
|
|
||||||
|
@patch('builtins.input', side_effect=['3'])
|
||||||
|
@patch('sys.stdout', new_callable=MagicMock)
|
||||||
|
def test_config_invalid_game(self, mocked_stdout, input_mock):
|
||||||
|
config()
|
||||||
|
self.assertEqual(mocked_stdout.getvalue().strip(), "Пока есть только ARK и 7Days xD")
|
||||||
|
|
||||||
|
@patch('builtins.input', side_effect=['a', '1'])
|
||||||
|
@patch('hlna.config_ark')
|
||||||
|
@patch('sys.stdout', new_callable=MagicMock)
|
||||||
|
def test_config_invalid_input(self, mocked_stdout, config_ark_mock, input_mock):
|
||||||
|
config()
|
||||||
|
config_ark_mock.assert_called_once()
|
||||||
|
self.assertEqual(mocked_stdout.getvalue().strip(),
|
||||||
|
"Выберите игру для конфигурирования\n1. ARK Survival Evolved\n2. 7 Days to Die\n: ")
|
||||||
class TestFindFile(unittest.TestCase):
|
class TestFindFile(unittest.TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.test_dir = 'test_dir'
|
self.test_dir = 'test_dir'
|
||||||
@ -94,6 +124,13 @@ class TestBackup(unittest.TestCase):
|
|||||||
self.assertEqual(zip_file.testzip(), None)
|
self.assertEqual(zip_file.testzip(), None)
|
||||||
self.assertTrue(os.path.exists(os.path.join(target, f"{config_hlna}ARK/test_file.txt")))
|
self.assertTrue(os.path.exists(os.path.join(target, f"{config_hlna}ARK/test_file.txt")))
|
||||||
|
|
||||||
|
class TestGetExternalIP(unittest.TestCase):
|
||||||
|
def test_backup(self):
|
||||||
|
self.assertTrue(bool(hlna.get_external_ip()))
|
||||||
|
|
||||||
|
#class TestGetExternalIP(unittest.TestCase):
|
||||||
|
# def test_backup(self):
|
||||||
|
# self.assertTrue(bool(hlna.get_external_ip()))
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user