From 72ecf8fb02d1e4533547022bb22bac2178b4ad99 Mon Sep 17 00:00:00 2001 From: Andrey Ivanov Date: Thu, 24 Sep 2020 17:58:39 +0300 Subject: [PATCH] HW12 completed --- .../internal/server/http/middleware.go | 9 --- .../internal/server/http/server.go | 2 +- .../internal/storage/memory/memorystorage.go | 4 +- .../storage/memory/memorystorage_test.go | 56 +++++++++++++++++++ 4 files changed, 59 insertions(+), 12 deletions(-) delete mode 100644 hw12_13_14_15_calendar/internal/server/http/middleware.go create mode 100644 hw12_13_14_15_calendar/internal/storage/memory/memorystorage_test.go diff --git a/hw12_13_14_15_calendar/internal/server/http/middleware.go b/hw12_13_14_15_calendar/internal/server/http/middleware.go deleted file mode 100644 index 5b5cec1..0000000 --- a/hw12_13_14_15_calendar/internal/server/http/middleware.go +++ /dev/null @@ -1,9 +0,0 @@ -package http - -/* -func loggingMiddleware(next http.Handler) http.Handler { - return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - - }) -} -*/ diff --git a/hw12_13_14_15_calendar/internal/server/http/server.go b/hw12_13_14_15_calendar/internal/server/http/server.go index 8c25f46..0043c8f 100644 --- a/hw12_13_14_15_calendar/internal/server/http/server.go +++ b/hw12_13_14_15_calendar/internal/server/http/server.go @@ -32,6 +32,6 @@ func (s *Server) Stop() error { if err := s.server.Close(); err != nil { return err } - s.app.Logger.Infof("Server starting") + s.app.Logger.Infof("Server stoped") return nil } diff --git a/hw12_13_14_15_calendar/internal/storage/memory/memorystorage.go b/hw12_13_14_15_calendar/internal/storage/memory/memorystorage.go index 07280b8..ffd31dd 100644 --- a/hw12_13_14_15_calendar/internal/storage/memory/memorystorage.go +++ b/hw12_13_14_15_calendar/internal/storage/memory/memorystorage.go @@ -13,7 +13,7 @@ type Storage struct { } func New() *Storage { - return &Storage{} + return &Storage{Events: make(map[int64]event.Event)} } func (s *Storage) Create(event event.Event) (int64, error) { @@ -46,5 +46,5 @@ func (s *Storage) GetByID(id int64) (event.Event, bool) { if s.Events[id].Title == "" { return event.Event{}, false } - return s.Events[id], false + return s.Events[id], true } diff --git a/hw12_13_14_15_calendar/internal/storage/memory/memorystorage_test.go b/hw12_13_14_15_calendar/internal/storage/memory/memorystorage_test.go new file mode 100644 index 0000000..8a7a2de --- /dev/null +++ b/hw12_13_14_15_calendar/internal/storage/memory/memorystorage_test.go @@ -0,0 +1,56 @@ +package memorystorage + +import ( + "github.com/stretchr/testify/require" + "github.com/tiburon-777/HW_OTUS/hw12_13_14_15_calendar/internal/storage/event" + "testing" +) + +func TestMemoryStorage(t *testing.T) { + s := New() + + t.Run("Empty storage", func(t *testing.T) { + require.Equal(t,0, len(s.Events)) + }) + + id,err:=s.Create(event.Event{ Title:"event1",Date:"11.11.1111" }) + + t.Run("Create events", func(t *testing.T) { + require.NoError(t,err) + require.Equal(t,1, len(s.Events)) + require.Equal(t,event.Event{ Title:"event1",Date:"11.11.1111" }, s.Events[id]) + }) + + t.Run("Update event", func(t *testing.T) { + err:=s.Update(id,event.Event{ Title:"event1_modifyed",Date:"22.11.22222" }) + require.NoError(t,err) + require.Equal(t,1, len(s.Events)) + require.Equal(t,event.Event{ Title:"event1_modifyed",Date:"22.11.22222" }, s.Events[id]) + }) + + t.Run("List event", func(t *testing.T) { + res,err:=s.List() + require.NoError(t,err) + require.Equal(t,1, len(res)) + require.Equal(t,event.Event{ Title:"event1_modifyed",Date:"22.11.22222" }, res[id]) + }) + + t.Run("Get event by ID", func(t *testing.T) { + res,ok := s.GetByID(id) + require.Equal(t,ok,true) + require.Equal(t,event.Event{ Title:"event1_modifyed",Date:"22.11.22222" }, res) + }) + + t.Run("Get event by fake ID", func(t *testing.T) { + res,ok := s.GetByID(53663) + require.Equal(t,ok,false) + require.Equal(t,event.Event{}, res) + }) + + t.Run("Delete event", func(t *testing.T) { + err := s.Delete(id) + require.NoError(t,err) + require.Equal(t,0, len(s.Events)) + }) + +} \ No newline at end of file