mirror of
https://gitee.com/mateos/mateclaw.git
synced 2026-09-13 03:13:41 +08:00
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.
39 lines
1.2 KiB
Java
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));
|
|
}
|
|
}
|