(t *testing.T)
| 267 | } |
| 268 | |
| 269 | func TestRegexpCacheBehavior(t *testing.T) { |
| 270 | err := Init(nil) |
| 271 | require.NoError(t, err) |
| 272 | |
| 273 | filename := "test_data_re.txt" |
| 274 | err = FileInit("testdata", filename, "regex") |
| 275 | require.NoError(t, err) |
| 276 | |
| 277 | // cache with no TTL |
| 278 | err = RegexpCacheInit(filename, enrichment.DataProvider{Type: "regex", Size: new(1)}) |
| 279 | require.NoError(t, err) |
| 280 | |
| 281 | ret, _ := RegexpInFile("crowdsec", filename) |
| 282 | assert.False(t, ret.(bool)) |
| 283 | assert.Equal(t, 1, dataFileRegexCache[filename].Len(false)) |
| 284 | |
| 285 | ret, _ = RegexpInFile("Crowdsec", filename) |
| 286 | assert.True(t, ret.(bool)) |
| 287 | assert.Equal(t, 1, dataFileRegexCache[filename].Len(false)) |
| 288 | |
| 289 | // cache with TTL |
| 290 | ttl := 500 * time.Millisecond |
| 291 | err = RegexpCacheInit(filename, enrichment.DataProvider{Type: "regex", Size: new(2), TTL: &ttl}) |
| 292 | require.NoError(t, err) |
| 293 | |
| 294 | ret, _ = RegexpInFile("crowdsec", filename) |
| 295 | assert.False(t, ret.(bool)) |
| 296 | assert.Equal(t, 1, dataFileRegexCache[filename].Len(true)) |
| 297 | |
| 298 | time.Sleep(1 * time.Second) |
| 299 | assert.Equal(t, 0, dataFileRegexCache[filename].Len(true)) |
| 300 | } |
| 301 | |
| 302 | func TestRegexpInFile(t *testing.T) { |
| 303 | if err := Init(nil); err != nil { |
nothing calls this directly
no test coverage detected
searching dependent graphs…