Remnawave_python-sdk/tests/run_tests.sh
Artem 3f0b5af2cf
Refactor tests for HWID, subscriptions, system, and users; add subscription request history functionality
- Restructured HWID tests into classes for better organization and clarity.
- Enhanced subscription tests to cover additional scenarios and improved assertions.
- Introduced new tests for system statistics and monitoring.
- Implemented CRUD operations for user management with comprehensive test coverage.
- Added new controllers and models for handling subscription request history.
- Created tests for subscription request history, including pagination and statistics.
- Improved error handling in tests to skip when exceptions occur.
2025-10-02 01:46:17 +02:00

78 lines
No EOL
2.4 KiB
Bash
Executable file

#!/bin/bash
# filepath: /Users/admin/Documents/GitHub/python-sdk/tests/run_tests.sh
# Цвета для вывода
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
# Функция для запуска определенного теста
run_specific_test() {
echo -e "${BLUE}Запуск теста: $1 ${NC}"
python -m pytest "$1" -v
}
# Функция для запуска всех тестов в файле
run_file_tests() {
echo -e "${BLUE}Запуск всех тестов из файла: $1 ${NC}"
python -m pytest "$1" -v
}
# Функция для запуска всех тестов
run_all_tests() {
echo -e "${BLUE}Запуск всех тестов ${NC}"
python -m pytest -v
}
# Функция для вывода списка доступных тестов
list_tests() {
echo -e "${YELLOW}Доступные файлы тестов:${NC}"
find . -name "test_*.py" | sort
}
# Вывод справки
show_help() {
echo -e "${GREEN}Запуск тестов для Remnawave SDK${NC}"
echo ""
echo "Использование:"
echo " ./run_tests.sh all - запустить все тесты"
echo " ./run_tests.sh list - показать список доступных тестов"
echo " ./run_tests.sh file <filename> - запустить все тесты из указанного файла"
echo " ./run_tests.sh test <test_path> - запустить указанный тест"
echo ""
echo "Примеры:"
echo " ./run_tests.sh file test_auth.py - запустить все тесты аутентификации"
echo " ./run_tests.sh test test_auth.py::TestAuthentication::test_login_with_credentials"
echo ""
}
# Основная логика скрипта
case "$1" in
all)
run_all_tests
;;
list)
list_tests
;;
file)
if [ -z "$2" ]; then
echo -e "${RED}Ошибка: укажите имя файла${NC}"
show_help
exit 1
fi
run_file_tests "$2"
;;
test)
if [ -z "$2" ]; then
echo -e "${RED}Ошибка: укажите путь к тесту${NC}"
show_help
exit 1
fi
run_specific_test "$2"
;;
*)
show_help
;;
esac