1
0
mirror of https://github.com/TwiN/gatus.git synced 2026-02-15 05:40:06 +00:00

feat(client): starttls support for dns resolver (#1253)

* customize starttls dialup connection if dnsresolver has a value, mirroring http client

* add starttls connection test with a dns resolver

---------

Co-authored-by: eleith <online-github@eleith.com>
This commit is contained in:
eleith
2025-09-11 04:48:49 -07:00
committed by GitHub
parent e3cae4637c
commit c006b35871
2 changed files with 44 additions and 4 deletions

View File

@@ -119,6 +119,7 @@ func TestCanPerformStartTLS(t *testing.T) {
type args struct {
address string
insecure bool
dnsresolver string
}
tests := []struct {
name string
@@ -150,11 +151,20 @@ func TestCanPerformStartTLS(t *testing.T) {
wantConnected: true,
wantErr: false,
},
{
name: "dns resolver",
args: args{
address: "smtp.gmail.com:587",
dnsresolver: "tcp://1.1.1.1:53",
},
wantConnected: true,
wantErr: false,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
connected, _, err := CanPerformStartTLS(tt.args.address, &Config{Insecure: tt.args.insecure, Timeout: 5 * time.Second})
connected, _, err := CanPerformStartTLS(tt.args.address, &Config{Insecure: tt.args.insecure, Timeout: 5 * time.Second, DNSResolver: tt.args.dnsresolver})
if (err != nil) != tt.wantErr {
t.Errorf("CanPerformStartTLS() err=%v, wantErr=%v", err, tt.wantErr)
return