Refactored detection logic to include ports and a confidence score
This commit is contained in:
@@ -22,12 +22,12 @@ func TestDetectPostgreSQLClient(t *testing.T) {
|
||||
}
|
||||
|
||||
t.Run("Protocol 3.0", func(t *testing.T) {
|
||||
p, err := Detect(Client, pgClientStartup)
|
||||
p, c, err := Detect(Client, pgClientStartup, 0, 5432)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
return
|
||||
}
|
||||
t.Logf("detected %s version %s", p.Name, p.Version)
|
||||
t.Logf("detected %s version %s confidence %g%%", p.Name, p.Version, 100*c)
|
||||
if p.Name != ProtocolPostgreSQL {
|
||||
t.Fatalf("expected postgres protocol, got %s", p.Name)
|
||||
return
|
||||
@@ -58,12 +58,12 @@ func TestDetectPostgreSQLServer(t *testing.T) {
|
||||
httpBanner := []byte("GET / HTTP/1.1\r\nHost: example.com\r\n\r\n")
|
||||
|
||||
t.Run("AuthenticationOk", func(t *testing.T) {
|
||||
p, err := Detect(Server, pgServerAuthOK)
|
||||
p, c, err := Detect(Server, pgServerAuthOK, 5432, 0)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
return
|
||||
}
|
||||
t.Logf("detected %s version %s", p.Name, p.Version)
|
||||
t.Logf("detected %s version %s confidence %g%%", p.Name, p.Version, c*100)
|
||||
if p.Name != ProtocolPostgreSQL {
|
||||
t.Fatalf("expected postgres protocol, got %s", p.Name)
|
||||
return
|
||||
@@ -71,12 +71,12 @@ func TestDetectPostgreSQLServer(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("ErrorResponse", func(t *testing.T) {
|
||||
p, err := Detect(Server, pgServerError)
|
||||
p, c, err := Detect(Server, pgServerError, 5432, 0)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
return
|
||||
}
|
||||
t.Logf("detected %s version %s", p.Name, p.Version)
|
||||
t.Logf("detected %s version %s confidence %g%%", p.Name, p.Version, c*100)
|
||||
if p.Name != ProtocolPostgreSQL {
|
||||
t.Fatalf("expected postgres protocol, got %s", p.Name)
|
||||
return
|
||||
@@ -84,7 +84,7 @@ func TestDetectPostgreSQLServer(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("Invalid HTTP", func(t *testing.T) {
|
||||
_, err := Detect(Server, httpBanner)
|
||||
_, _, err := Detect(Server, httpBanner, 0, 80)
|
||||
if !errors.Is(err, ErrUnknown) {
|
||||
t.Fatalf("expected unknown format, got error %T: %q", err, err)
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user