mirror of
https://github.com/shadow1ng/fscan.git
synced 2026-09-22 03:10:42 +08:00
34 lines
769 B
Go
34 lines
769 B
Go
package portfinger
|
|
|
|
import "testing"
|
|
|
|
func TestProbeParserRejectsShortInputs(t *testing.T) {
|
|
tests := []string{
|
|
"",
|
|
"T",
|
|
"TCP",
|
|
"TCP ",
|
|
"TCP Q",
|
|
"TCP GetRequest q",
|
|
}
|
|
|
|
for _, input := range tests {
|
|
t.Run(input, func(t *testing.T) {
|
|
var probe Probe
|
|
if err := probe.fromString(input); err == nil {
|
|
t.Fatalf("fromString(%q) error = nil, want malformed input error", input)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestProbeParserAcceptsMinimalValidProbe(t *testing.T) {
|
|
var probe Probe
|
|
if err := probe.fromString(`TCP GetRequest q|GET / HTTP/1.0\r\n\r\n|`); err != nil {
|
|
t.Fatalf("fromString valid probe error = %v", err)
|
|
}
|
|
if probe.Name != "GetRequest" || probe.Protocol != "tcp" || probe.Data == "" {
|
|
t.Fatalf("probe parsed incorrectly: %#v", probe)
|
|
}
|
|
}
|