(t *testing.T)
| 149 | } |
| 150 | |
| 151 | func 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) |
nothing calls this directly
no test coverage detected