| 343 | } |
| 344 | |
| 345 | func Test_mapper_MapRulesSpecialCharNamespace(t *testing.T) { |
| 346 | l := log.NewLogfmtLogger(os.Stdout) |
| 347 | l = level.NewFilter(l, level.AllowInfo()) |
| 348 | setupRuleSets() |
| 349 | m := &mapper{ |
| 350 | Path: "/rules", |
| 351 | FS: afero.NewMemMapFs(), |
| 352 | logger: l, |
| 353 | } |
| 354 | |
| 355 | t.Run("create special characters rulegroup", func(t *testing.T) { |
| 356 | updated, files, err := m.MapRules(testUser, specialCharactersRuleSet) |
| 357 | require.NoError(t, err) |
| 358 | require.True(t, updated) |
| 359 | require.Len(t, files, 1) |
| 360 | require.Equal(t, specialCharFilePath, files[0]) |
| 361 | |
| 362 | exists, err := afero.Exists(m.FS, specialCharFilePath) |
| 363 | require.NoError(t, err) |
| 364 | require.True(t, exists) |
| 365 | }) |
| 366 | |
| 367 | t.Run("delete special characters rulegroup", func(t *testing.T) { |
| 368 | updated, files, err := m.MapRules(testUser, map[string][]rulefmt.RuleGroup{}) |
| 369 | require.NoError(t, err) |
| 370 | require.True(t, updated) |
| 371 | require.Len(t, files, 0) |
| 372 | |
| 373 | exists, err := afero.Exists(m.FS, specialCharFilePath) |
| 374 | require.NoError(t, err) |
| 375 | require.False(t, exists) |
| 376 | }) |
| 377 | } |
| 378 | |
| 379 | func TestYamlFormatting(t *testing.T) { |
| 380 | l := log.NewLogfmtLogger(os.Stdout) |