feat: create standalone native fnOS repository
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
package acme
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestParseResolverList(t *testing.T) {
|
||||
cases := []struct {
|
||||
name string
|
||||
raw string
|
||||
want []string
|
||||
}{
|
||||
{"带端口", "223.5.5.5:53, 1.1.1.1:53", []string{"223.5.5.5:53", "1.1.1.1:53"}},
|
||||
{"缺端口补 53", "8.8.8.8\n9.9.9.9", []string{"8.8.8.8:53", "9.9.9.9:53"}},
|
||||
{"分号与空格", "223.5.5.5;8.8.4.4 1.0.0.1", []string{"223.5.5.5:53", "8.8.4.4:53", "1.0.0.1:53"}},
|
||||
{"空值", " ", nil},
|
||||
{"只留空白项", " , ; \n", nil},
|
||||
}
|
||||
for _, item := range cases {
|
||||
got := parseResolverList(item.raw)
|
||||
if len(got) != len(item.want) {
|
||||
t.Fatalf("%s: 期望 %v,实际 %v", item.name, item.want, got)
|
||||
}
|
||||
for i := range got {
|
||||
if got[i] != item.want[i] {
|
||||
t.Fatalf("%s: 期望 %v,实际 %v", item.name, item.want, got)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseResolverListCapsEntries(t *testing.T) {
|
||||
raw := "1.1.1.1,1.1.1.2,1.1.1.3,1.1.1.4,1.1.1.5,1.1.1.6,1.1.1.7,1.1.1.8,1.1.1.9,1.1.1.10"
|
||||
if got := parseResolverList(raw); len(got) != 8 {
|
||||
t.Fatalf("最多取前 8 条,实际 %d:%v", len(got), got)
|
||||
}
|
||||
}
|
||||
|
||||
// 内置的默认值必须是 lego 能直接用的 host:port 形式
|
||||
func TestDefaultResolversAreUsable(t *testing.T) {
|
||||
got := parseResolverList(defaultACMEDNSResolvers)
|
||||
if len(got) == 0 {
|
||||
t.Fatalf("默认解析器解析为空:%q", defaultACMEDNSResolvers)
|
||||
}
|
||||
if got[0] != "223.5.5.5:53" {
|
||||
t.Fatalf("默认解析器首项应带端口,实际 %q", got[0])
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user