MCPcopy Create free account
hub / github.com/rabbitstack/fibratus / TestEventSourceEnableFlagsDynamically

Function TestEventSourceEnableFlagsDynamically

internal/etw/source_test.go:151–229  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

149}
150
151func TestEventSourceEnableFlagsDynamically(t *testing.T) {
152 psnap := new(ps.SnapshotterMock)
153 psnap.On("Write", mock.Anything).Return(nil)
154 psnap.On("AddThread", mock.Anything).Return(nil)
155 psnap.On("AddModule", mock.Anything).Return(nil)
156 psnap.On("AddMmap", mock.Anything).Return(nil)
157 psnap.On("RemoveMmap", mock.Anything, mock.Anything).Return(nil)
158 psnap.On("RemoveThread", mock.Anything, mock.Anything).Return(nil)
159 psnap.On("RemoveModule", mock.Anything, mock.Anything).Return(nil)
160 psnap.On("FindModule", mock.Anything).Return(false, nil)
161 psnap.On("FindAndPut", mock.Anything).Return(&pstypes.PS{})
162 psnap.On("Find", mock.Anything).Return(true, &pstypes.PS{})
163 psnap.On("Remove", mock.Anything).Return(nil)
164
165 hsnap := new(handle.SnapshotterMock)
166 hsnap.On("FindByObject", mock.Anything).Return(htypes.Handle{}, false)
167 hsnap.On("FindHandles", mock.Anything).Return([]htypes.Handle{}, nil)
168
169 r := &config.RulesCompileResult{
170 HasProcEvents: true,
171 HasModuleEvents: true,
172 HasRegistryEvents: true,
173 HasNetworkEvents: true,
174 HasFileEvents: true,
175 HasThreadEvents: false,
176 HasVAMapEvents: true,
177 HasAuditAPIEvents: true,
178 UsedEvents: []event.Type{
179 event.CreateProcess,
180 event.LoadModule,
181 event.RegCreateKey,
182 event.RegSetValue,
183 event.CreateFile,
184 event.RenameFile,
185 event.MapViewFile,
186 event.OpenProcess,
187 event.ConnectTCPv4,
188 },
189 }
190 cfg := &config.Config{
191 EventSource: config.EventSourceConfig{
192 EnableThreadEvents: true,
193 EnableRegistryEvents: true,
194 EnableModuleEvents: true,
195 EnableFileIOEvents: true,
196 EnableAuditAPIEvents: true,
197 },
198 Filters: &config.Filters{},
199 }
200
201 cfg.EventSource.Init()
202 evs := NewEventSource(psnap, hsnap, cfg, r)
203 require.NoError(t, evs.Open(cfg))
204 defer evs.Close()
205
206 require.Len(t, evs.(*EventSource).traces, 2)
207
208 flags := evs.(*EventSource).traces[1].enableFlagsDynamically(cfg.EventSource)

Callers

nothing calls this directly

Calls 7

OpenMethod · 0.95
CloseMethod · 0.95
NewEventSourceFunction · 0.85
TestDropMaskMethod · 0.80
InitMethod · 0.45
LenMethod · 0.45

Tested by

no test coverage detected