mateclaw/mateclaw-server/src/test/java/vip/mate/llm/oauth/OpenAIOAuthServiceTest.java
srant1 5f77434953
fix(llm): activate default model after OpenAI OAuth and gate provider checks by enabled
OAuth token save now promotes the first available chat model when no usable default exists. Default-model resolution and provider availability checks require Provider.enabled=true alongside credentials, so disabled Providers no longer return stale defaults. /models/enabled drops the single-Provider hard-code so OpenAI OAuth and other enabled chat models surface in selectors. Docker exposes the 1455 PKCE callback via MATECLAW_OAUTH_OPENAI_CALLBACK_BIND_HOST (default 127.0.0.1) and a port mapping; deployment mode stays Host-driven.
2026-05-12 09:58:30 +08:00

39 lines
1.2 KiB
Java

package vip.mate.llm.oauth;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
import vip.mate.llm.repository.ModelProviderMapper;
import vip.mate.llm.service.ModelProviderService;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.mock;
class OpenAIOAuthServiceTest {
@AfterEach
void clearProperties() {
System.clearProperty("mateclaw.oauth.openai.callback-bind-host");
}
@Test
void resolveCallbackBindHostDefaultsToLoopback() {
OpenAIOAuthService service = service();
assertEquals("127.0.0.1", service.resolveCallbackBindHost());
}
@Test
void resolveCallbackBindHostUsesConfiguredProperty() {
System.setProperty("mateclaw.oauth.openai.callback-bind-host", "0.0.0.0");
OpenAIOAuthService service = service();
assertEquals("0.0.0.0", service.resolveCallbackBindHost());
}
private OpenAIOAuthService service() {
return new OpenAIOAuthService(mock(ModelProviderMapper.class), new ObjectMapper(),
mock(ModelProviderService.class));
}
}