Update test script

This commit is contained in:
2025-07-11 14:06:19 +08:00
parent 488f289315
commit 8e487863cf

View File

@ -1,25 +1,35 @@
#!/usr/bin/env python3
from src.manager import * from src.manager import *
import logging import logging
import colorlog import colorlog
import sys
# Initialize color logging def initialize_logger():
handler = colorlog.StreamHandler() """Initialize and return a color logger."""
handler.setFormatter(colorlog.ColoredFormatter( handler = colorlog.StreamHandler()
'%(log_color)s%(asctime)s - %(levelname)s - %(message)s', handler.setFormatter(colorlog.ColoredFormatter(
log_colors={ '%(log_color)s%(asctime)s - %(levelname)s - %(message)s',
'DEBUG': 'cyan', log_colors={
'INFO': 'green', 'DEBUG': 'cyan',
'WARNING': 'yellow', 'INFO': 'green',
'ERROR': 'red', 'WARNING': 'yellow',
'CRITICAL': 'bold_red', 'ERROR': 'red',
} 'CRITICAL': 'bold_red',
)) }
))
logger = colorlog.getLogger(__name__) logger = colorlog.getLogger(__name__)
logger.setLevel(logging.INFO) logger.setLevel(logging.INFO)
logger.addHandler(handler) logger.addHandler(handler)
return logger
service_manager = Manager() def initialize_service_manager():
"""Initialize and return the service manager."""
return Manager()
logger = initialize_logger()
service_manager = initialize_service_manager()
def start_menu(): def start_menu():
logger.info(f"=======================================") logger.info(f"=======================================")
@ -31,23 +41,26 @@ def start_menu():
logger.info(f"=====> c. Count the number of services") logger.info(f"=====> c. Count the number of services")
logger.info(f"=====> q. Quit ") logger.info(f"=====> q. Quit ")
def main(): def main_menu():
"""Display the main menu and handle user input."""
while True: while True:
start_menu() start_menu()
start_choice = input() start_choice = input("Enter your choice: ").strip()
if start_choice == '1': if start_choice == '1':
service_tag = input("Please input the deploy way of service you want to register('docker' | 'sys'): ") service_tag = input("Please input the deploy way of service you want to register('docker' | 'sys'): ")
service_name = input("Please input the name of the service: ") service_name = input("Please input the name of the service: ")
if service_tag == "docker": if service_tag == "docker":
service_path = input("Please input the config path of the service where 'docker-compose.yml' located: ") service_path = input("Please input the config path of the service where 'docker-compose.yml' located: ")
service_manager.register_service(service_tag, service_name, service_path) service_manager.register_service(service_tag, service_name, service_path)
service_manager.register_service(service_tag, service_name) else:
service_manager.register_service(service_tag, service_name)
if start_choice == '2': if start_choice == '2':
if len(service_manager.services_list) == 0: if not service_manager.services_list:
raise ValueError("There has no service registered") logger.error("No services registered.")
continue
while True: while True:
# TODO: Manage the feature which use for managing exsist services.
logger.info(f"=====> Exsist Services Management <=====") logger.info(f"=====> Exsist Services Management <=====")
service_code = 1 service_code = 1
for service in service_manager.services_list: for service in service_manager.services_list:
@ -56,18 +69,25 @@ def main():
# logger.info("=====> a. Select All") # logger.info("=====> a. Select All")
logger.info("=====> q. Quit") logger.info("=====> q. Quit")
manage_choice = input(f"Please select a chioce to carry out: ") manage_choice = input("Please select a choice to carry out: ").strip()
if manage_choice == 'q': if manage_choice == 'q':
logger.info("Exit main manager") logger.info("Exit main manager")
break break
# if manage_choice == 'a': # if manage_choice == 'a':
# pass # pass
while int(manage_choice): try:
code = int(manage_choice) code = int(manage_choice)
service_manager.services_list[code].service_operation() if 0 <= code < len(service_manager.services_list):
break service_manager.services_list[code].service_operation()
else:
logger.error("Invalid service code.")
except ValueError:
logger.error("Please enter a valid number.")
if start_choice == 'c': if start_choice == 'c':
service_manager.list_services() service_manager.list_services()
if start_choice == 'q': if start_choice == 'q':
logger.info(f"Exit the manager process") logger.info(f"Exit the manager process")
break break
if __name__ == '__main__':
sys.exit(main_menu())