MCPcopy
hub / github.com/bettercap/bettercap / TestViewSelectorFor

Function TestViewSelectorFor

modules/utils/view_selector_test.go:37–85  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

35}
36
37func TestViewSelectorFor(t *testing.T) {
38 s := createMockSession(t)
39 m := newMockModule(s)
40
41 sortFields := []string{"name", "mac", "seen"}
42 defExpression := "seen desc"
43 prefix := "test"
44
45 vs := ViewSelectorFor(&m.SessionModule, prefix, sortFields, defExpression)
46
47 if vs == nil {
48 t.Fatal("ViewSelectorFor returned nil")
49 }
50
51 if vs.owner != &m.SessionModule {
52 t.Error("ViewSelector owner not set correctly")
53 }
54
55 if vs.filterName != "test.filter" {
56 t.Errorf("filterName = %s, want test.filter", vs.filterName)
57 }
58
59 if vs.sortName != "test.sort" {
60 t.Errorf("sortName = %s, want test.sort", vs.sortName)
61 }
62
63 if vs.limitName != "test.limit" {
64 t.Errorf("limitName = %s, want test.limit", vs.limitName)
65 }
66
67 // Check that parameters were added by trying to retrieve them
68 if err, _ := m.SessionModule.StringParam("test.filter"); err != nil {
69 t.Error("filter parameter not accessible")
70 }
71 if err, _ := m.SessionModule.StringParam("test.sort"); err != nil {
72 t.Error("sort parameter not accessible")
73 }
74 if err, _ := m.SessionModule.IntParam("test.limit"); err != nil {
75 t.Error("limit parameter not accessible")
76 }
77
78 // Check default sorting
79 if vs.SortField != "seen" {
80 t.Errorf("Default SortField = %s, want seen", vs.SortField)
81 }
82 if vs.Sort != "desc" {
83 t.Errorf("Default Sort = %s, want desc", vs.Sort)
84 }
85}
86
87func TestParseFilter(t *testing.T) {
88 s := createMockSession(t)

Callers

nothing calls this directly

Calls 7

newMockModuleFunction · 0.85
ViewSelectorForFunction · 0.85
StringParamMethod · 0.80
IntParamMethod · 0.80
createMockSessionFunction · 0.70
FatalMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected