package top.gtb520.java.pve_back_api;

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import top.gtb520.java.pve_back_api.config.AppConfig;
import top.gtb520.java.pve_back_api.config.ConfigManager;
import top.gtb520.java.pve_back_api.config.YamlConfigLoader;
import top.gtb520.java.pve_back_api.route.pve.status;

import static org.junit.jupiter.api.Assertions.*;

@SpringBootTest
class MainTests {

    @Test
    void contextLoads() {
    }
    
    @Test
    void testAppConfigInitialization() {
        // 测试配置类的基本功能
        assertNotNull(AppConfig.HTTP_IP);
        assertNotNull(AppConfig.HTTP_PORT);
        assertFalse(AppConfig.isConfigLoaded());
    }
    
    @Test
    void testConfigManagerMethodsExist() {
        // 测试ConfigManager类的方法是否存在
        assertTrue(ConfigManager.class.getDeclaredMethods().length > 0);
    }
    
    @Test
    void testYamlConfigLoaderMethodsExist() {
        // 测试YamlConfigLoader类的方法是否存在
        assertTrue(YamlConfigLoader.class.getDeclaredMethods().length > 0);
    }
    
    @Test
    void testStatusClassExists() {
        // 测试status类是否存在createClient方法
        assertNotNull(status.class.getDeclaredMethods());
    }
    
    @Test
    void testPveUrlBuilding() {
        // 测试PVE URL构建逻辑
        AppConfig.PVE_PROTOCOL = "https";
        AppConfig.PVE_HOSTNAME_IP = "192.168.1.100";
        AppConfig.PVE_PORT = "8006";
        
        String expectedUrl = "https://192.168.1.100:8006/";
        assertEquals(expectedUrl, AppConfig.getPveFullUrl());
    }

}
