mirror of
https://github.com/akvorado/akvorado.git
synced 2025-12-11 22:14:02 +01:00
tests: introduce helpers.Pos/helpers.Mark
This helps locating the position of a test.
This commit is contained in:
@@ -6,39 +6,41 @@ package console
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"akvorado/common/helpers"
|
||||
"akvorado/common/schema"
|
||||
"akvorado/console/query"
|
||||
)
|
||||
|
||||
func TestRequireMainTable(t *testing.T) {
|
||||
cases := []struct {
|
||||
Pos helpers.Pos
|
||||
Columns []query.Column
|
||||
Filter query.Filter
|
||||
Expected bool
|
||||
}{
|
||||
{[]query.Column{}, query.NewFilter(""), false},
|
||||
{[]query.Column{query.NewColumn("SrcAS")}, query.NewFilter(""), false},
|
||||
{[]query.Column{query.NewColumn("ExporterAddress")}, query.NewFilter(""), false},
|
||||
{[]query.Column{query.NewColumn("SrcPort")}, query.NewFilter(""), true},
|
||||
{[]query.Column{query.NewColumn("SrcAddr")}, query.NewFilter(""), true},
|
||||
{[]query.Column{query.NewColumn("DstPort")}, query.NewFilter(""), true},
|
||||
{[]query.Column{query.NewColumn("DstAddr")}, query.NewFilter(""), true},
|
||||
{[]query.Column{query.NewColumn("SrcAS"), query.NewColumn("DstAddr")}, query.NewFilter(""), true},
|
||||
{[]query.Column{query.NewColumn("DstAddr"), query.NewColumn("SrcAS")}, query.NewFilter(""), true},
|
||||
{[]query.Column{query.NewColumn("DstNetPrefix")}, query.NewFilter(""), true},
|
||||
{[]query.Column{}, query.NewFilter("SrcAddr = 203.0.113.15"), true},
|
||||
{helpers.Mark(), []query.Column{}, query.NewFilter(""), false},
|
||||
{helpers.Mark(), []query.Column{query.NewColumn("SrcAS")}, query.NewFilter(""), false},
|
||||
{helpers.Mark(), []query.Column{query.NewColumn("ExporterAddress")}, query.NewFilter(""), false},
|
||||
{helpers.Mark(), []query.Column{query.NewColumn("SrcPort")}, query.NewFilter(""), true},
|
||||
{helpers.Mark(), []query.Column{query.NewColumn("SrcAddr")}, query.NewFilter(""), true},
|
||||
{helpers.Mark(), []query.Column{query.NewColumn("DstPort")}, query.NewFilter(""), true},
|
||||
{helpers.Mark(), []query.Column{query.NewColumn("DstAddr")}, query.NewFilter(""), true},
|
||||
{helpers.Mark(), []query.Column{query.NewColumn("SrcAS"), query.NewColumn("DstAddr")}, query.NewFilter(""), true},
|
||||
{helpers.Mark(), []query.Column{query.NewColumn("DstAddr"), query.NewColumn("SrcAS")}, query.NewFilter(""), true},
|
||||
{helpers.Mark(), []query.Column{query.NewColumn("DstNetPrefix")}, query.NewFilter(""), true},
|
||||
{helpers.Mark(), []query.Column{}, query.NewFilter("SrcAddr = 203.0.113.15"), true},
|
||||
}
|
||||
sch := schema.NewMock(t)
|
||||
for idx, tc := range cases {
|
||||
if err := query.Columns(tc.Columns).Validate(sch); err != nil {
|
||||
t.Fatalf("Validate() error:\n%+v", err)
|
||||
t.Fatalf("%sValidate() error:\n%+v", tc.Pos, err)
|
||||
}
|
||||
if err := tc.Filter.Validate(sch); err != nil {
|
||||
t.Fatalf("Validate() error:\n%+v", err)
|
||||
t.Fatalf("%sValidate() error:\n%+v", tc.Pos, err)
|
||||
}
|
||||
got := requireMainTable(sch, tc.Columns, tc.Filter)
|
||||
if got != tc.Expected {
|
||||
t.Errorf("requireMainTable(%d) == %v but expected %v", idx, got, tc.Expected)
|
||||
t.Errorf("%srequireMainTable(%d) == %v but expected %v", tc.Pos, idx, got, tc.Expected)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user