From 9b976330433d9d7efc03a03d590cb894b68e3939 Mon Sep 17 00:00:00 2001 From: registergoofy <70151212+registergoofy@users.noreply.github.com> Date: Thu, 1 Oct 2020 08:26:59 +0200 Subject: [PATCH] fix ban flush (#277) * fix ban flush by soft-deleting entries in database * fix unit tests accordingly --- pkg/database/delete.go | 9 +++++++++ pkg/database/delete_test.go | 8 ++++---- pkg/database/read_test.go | 2 +- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/pkg/database/delete.go b/pkg/database/delete.go index e95e7673e..711e9143f 100644 --- a/pkg/database/delete.go +++ b/pkg/database/delete.go @@ -25,6 +25,15 @@ func (c *Context) DeleteBan(target string) (int, error) { } func (c *Context) DeleteAll() error { + allBa := types.BanApplication{} + records := c.Db.Delete(&allBa) + if records.Error != nil { + return records.Error + } + return nil +} + +func (c *Context) HardDeleteAll() error { allBa := types.BanApplication{} records := c.Db.Unscoped().Delete(&allBa) if records.Error != nil { diff --git a/pkg/database/delete_test.go b/pkg/database/delete_test.go index 2baac2191..2c18a908c 100644 --- a/pkg/database/delete_test.go +++ b/pkg/database/delete_test.go @@ -20,7 +20,7 @@ func TestNoCleanUpParams(t *testing.T) { t.Fatalf("failed to create simple sqlite") } - if err := ctx.DeleteAll(); err != nil { + if err := ctx.HardDeleteAll(); err != nil { t.Fatalf("failed to flush existing bans") } @@ -78,7 +78,7 @@ func TestNoCleanUp(t *testing.T) { t.Fatalf("failed to create simple sqlite") } - if err := ctx.DeleteAll(); err != nil { + if err := ctx.HardDeleteAll(); err != nil { t.Fatalf("failed to flush existing bans") } @@ -143,7 +143,7 @@ func TestCleanUpByCount(t *testing.T) { t.Fatalf("failed to create simple sqlite") } - if err := ctx.DeleteAll(); err != nil { + if err := ctx.HardDeleteAll(); err != nil { t.Fatalf("failed to flush existing bans") } @@ -255,7 +255,7 @@ func TestCleanUpByAge(t *testing.T) { t.Fatalf("failed to create simple sqlite") } - if err := ctx.DeleteAll(); err != nil { + if err := ctx.HardDeleteAll(); err != nil { t.Fatalf("failed to flush existing bans") } diff --git a/pkg/database/read_test.go b/pkg/database/read_test.go index 8f076e01a..e9ccdce55 100644 --- a/pkg/database/read_test.go +++ b/pkg/database/read_test.go @@ -27,7 +27,7 @@ func TestFetchBans(t *testing.T) { t.Fatalf("failed to create simple sqlite") } - if err := ctx.DeleteAll(); err != nil { + if err := ctx.HardDeleteAll(); err != nil { t.Fatalf("failed to flush existing bans") }