mirror of
https://github.com/black-ant/Ant-Browser.git
synced 2026-07-14 18:48:55 +08:00
channel: master version: 1.0.0 source-ref: master published-at-utc: 2026-03-13T15:19:28Z
70 lines
1.8 KiB
Go
70 lines
1.8 KiB
Go
package browser
|
|
|
|
import (
|
|
"ant-chrome/backend/internal/config"
|
|
"errors"
|
|
"testing"
|
|
)
|
|
|
|
type proxyDAOStub struct {
|
|
list []Proxy
|
|
err error
|
|
}
|
|
|
|
func (s *proxyDAOStub) List() ([]Proxy, error) {
|
|
if s.err != nil {
|
|
return nil, s.err
|
|
}
|
|
return append([]Proxy{}, s.list...), nil
|
|
}
|
|
|
|
func (s *proxyDAOStub) ListByGroup(string) ([]Proxy, error) { return nil, nil }
|
|
func (s *proxyDAOStub) ListGroups() ([]string, error) { return nil, nil }
|
|
func (s *proxyDAOStub) Upsert(Proxy) error { return nil }
|
|
func (s *proxyDAOStub) Delete(string) error { return nil }
|
|
func (s *proxyDAOStub) DeleteAll() error { return nil }
|
|
func (s *proxyDAOStub) UpdateSpeedResult(string, bool, int64, string) error {
|
|
return nil
|
|
}
|
|
func (s *proxyDAOStub) UpdateIPHealthResult(string, string) error { return nil }
|
|
|
|
func TestGetProxyConfigByIdPreferDAO(t *testing.T) {
|
|
cfg := config.DefaultConfig()
|
|
cfg.Browser.Proxies = []config.BrowserProxy{
|
|
{ProxyId: "pool-1", ProxyConfig: "http://127.0.0.1:9999"},
|
|
}
|
|
|
|
mgr := NewManager(cfg, "")
|
|
mgr.ProxyDAO = &proxyDAOStub{
|
|
list: []Proxy{
|
|
{ProxyId: "pool-1", ProxyConfig: "socks5://127.0.0.1:1080"},
|
|
},
|
|
}
|
|
|
|
got, ok := mgr.GetProxyConfigById("pool-1")
|
|
if !ok {
|
|
t.Fatalf("expected proxy to be found")
|
|
}
|
|
if got != "socks5://127.0.0.1:1080" {
|
|
t.Fatalf("expected dao proxy config, got=%q", got)
|
|
}
|
|
}
|
|
|
|
func TestGetProxyConfigByIdFallbackToConfig(t *testing.T) {
|
|
cfg := config.DefaultConfig()
|
|
cfg.Browser.Proxies = []config.BrowserProxy{
|
|
{ProxyId: "pool-2", ProxyConfig: "http://127.0.0.1:7890"},
|
|
}
|
|
|
|
mgr := NewManager(cfg, "")
|
|
mgr.ProxyDAO = &proxyDAOStub{err: errors.New("dao unavailable")}
|
|
|
|
got, ok := mgr.GetProxyConfigById("pool-2")
|
|
if !ok {
|
|
t.Fatalf("expected proxy to be found in config fallback")
|
|
}
|
|
if got != "http://127.0.0.1:7890" {
|
|
t.Fatalf("unexpected proxy config: %q", got)
|
|
}
|
|
}
|