Add ASN to logtail, collector, aggregator, frontend and CLI
This commit is contained in:
@@ -258,3 +258,77 @@ func TestFilterExprRoundTrip(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseAsnEQ(t *testing.T) {
|
||||
fs, err := ParseFilterExpr("asn=12345")
|
||||
if err != nil || fs.ASN != "12345" {
|
||||
t.Fatalf("got err=%v fs=%+v", err, fs)
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseAsnNE(t *testing.T) {
|
||||
fs, err := ParseFilterExpr("asn!=65000")
|
||||
if err != nil || fs.ASN != "!=65000" {
|
||||
t.Fatalf("got err=%v fs=%+v", err, fs)
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseAsnGE(t *testing.T) {
|
||||
fs, err := ParseFilterExpr("asn>=1000")
|
||||
if err != nil || fs.ASN != ">=1000" {
|
||||
t.Fatalf("got err=%v fs=%+v", err, fs)
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseAsnLT(t *testing.T) {
|
||||
fs, err := ParseFilterExpr("asn<64512")
|
||||
if err != nil || fs.ASN != "<64512" {
|
||||
t.Fatalf("got err=%v fs=%+v", err, fs)
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseAsnRegexRejected(t *testing.T) {
|
||||
_, err := ParseFilterExpr("asn~=123")
|
||||
if err == nil {
|
||||
t.Fatal("expected error for asn~=")
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseAsnInvalidExpr(t *testing.T) {
|
||||
_, err := ParseFilterExpr("asn=notanumber")
|
||||
if err == nil {
|
||||
t.Fatal("expected error for non-numeric ASN")
|
||||
}
|
||||
}
|
||||
|
||||
func TestFilterExprStringASN(t *testing.T) {
|
||||
s := FilterExprString(filterState{ASN: "12345"})
|
||||
if s != "asn=12345" {
|
||||
t.Fatalf("got %q", s)
|
||||
}
|
||||
s = FilterExprString(filterState{ASN: ">=1000"})
|
||||
if s != "asn>=1000" {
|
||||
t.Fatalf("got %q", s)
|
||||
}
|
||||
}
|
||||
|
||||
func TestFilterExprRoundTripASN(t *testing.T) {
|
||||
cases := []filterState{
|
||||
{ASN: "12345"},
|
||||
{ASN: "!=65000"},
|
||||
{ASN: ">=1000"},
|
||||
{ASN: "<64512"},
|
||||
{Status: ">=400", ASN: "12345"},
|
||||
}
|
||||
for _, fs := range cases {
|
||||
expr := FilterExprString(fs)
|
||||
fs2, err := ParseFilterExpr(expr)
|
||||
if err != nil {
|
||||
t.Errorf("round-trip parse error for %+v → %q: %v", fs, expr, err)
|
||||
continue
|
||||
}
|
||||
if fs2 != fs {
|
||||
t.Errorf("round-trip mismatch: %+v → %q → %+v", fs, expr, fs2)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user