diff --git a/api/handler/book/book.go b/api/handler/book.go similarity index 97% rename from api/handler/book/book.go rename to api/handler/book.go index 27577fe..65be03d 100644 --- a/api/handler/book/book.go +++ b/api/handler/book.go @@ -1,4 +1,4 @@ -package book +package handler import ( "encoding/json" @@ -152,8 +152,8 @@ func deleteBook(service book.UseCase) http.Handler { }) } -//MakeHandlers make url handlers -func MakeHandlers(r *mux.Router, n negroni.Negroni, service book.UseCase) { +//MakeBookHandlers make url handlers +func MakeBookHandlers(r *mux.Router, n negroni.Negroni, service book.UseCase) { r.Handle("/v1/book", n.With( negroni.Wrap(listBooks(service)), )).Methods("GET", "OPTIONS").Name("listBooks") diff --git a/api/handler/book/book_test.go b/api/handler/book_test.go similarity index 81% rename from api/handler/book/book_test.go rename to api/handler/book_test.go index 67cd612..c6103db 100644 --- a/api/handler/book/book_test.go +++ b/api/handler/book_test.go @@ -1,4 +1,4 @@ -package book +package handler import ( "encoding/json" @@ -21,20 +21,20 @@ import ( func Test_listBooks(t *testing.T) { controller := gomock.NewController(t) defer controller.Finish() - manager := mock.NewMockUseCase(controller) + service := mock.NewMockUseCase(controller) r := mux.NewRouter() n := negroni.New() - MakeHandlers(r, *n, manager) + MakeBookHandlers(r, *n, service) path, err := r.GetRoute("listBooks").GetPathTemplate() assert.Nil(t, err) assert.Equal(t, "/v1/book", path) b := &entity.Book{ ID: entity.NewID(), } - manager.EXPECT(). + service.EXPECT(). ListBooks(). Return([]*entity.Book{b}, nil) - ts := httptest.NewServer(listBooks(manager)) + ts := httptest.NewServer(listBooks(service)) defer ts.Close() res, err := http.Get(ts.URL) assert.Nil(t, err) @@ -44,10 +44,10 @@ func Test_listBooks(t *testing.T) { func Test_listBooks_NotFound(t *testing.T) { controller := gomock.NewController(t) defer controller.Finish() - manager := mock.NewMockUseCase(controller) - ts := httptest.NewServer(listBooks(manager)) + service := mock.NewMockUseCase(controller) + ts := httptest.NewServer(listBooks(service)) defer ts.Close() - manager.EXPECT(). + service.EXPECT(). SearchBooks("book of books"). Return(nil, domain.ErrNotFound) res, err := http.Get(ts.URL + "?title=book+of+books") @@ -58,14 +58,14 @@ func Test_listBooks_NotFound(t *testing.T) { func Test_listBooks_Search(t *testing.T) { controller := gomock.NewController(t) defer controller.Finish() - manager := mock.NewMockUseCase(controller) + service := mock.NewMockUseCase(controller) b := &entity.Book{ ID: entity.NewID(), } - manager.EXPECT(). + service.EXPECT(). SearchBooks("ozzy"). Return([]*entity.Book{b}, nil) - ts := httptest.NewServer(listBooks(manager)) + ts := httptest.NewServer(listBooks(service)) defer ts.Close() res, err := http.Get(ts.URL + "?title=ozzy") assert.Nil(t, err) @@ -75,18 +75,18 @@ func Test_listBooks_Search(t *testing.T) { func Test_createBook(t *testing.T) { controller := gomock.NewController(t) defer controller.Finish() - manager := mock.NewMockUseCase(controller) + service := mock.NewMockUseCase(controller) r := mux.NewRouter() n := negroni.New() - MakeHandlers(r, *n, manager) + MakeBookHandlers(r, *n, service) path, err := r.GetRoute("createBook").GetPathTemplate() assert.Nil(t, err) assert.Equal(t, "/v1/book", path) - manager.EXPECT(). + service.EXPECT(). CreateBook(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()). Return(entity.NewID(), nil) - h := createBook(manager) + h := createBook(service) ts := httptest.NewServer(h) defer ts.Close() @@ -107,20 +107,20 @@ func Test_createBook(t *testing.T) { func Test_getBook(t *testing.T) { controller := gomock.NewController(t) defer controller.Finish() - manager := mock.NewMockUseCase(controller) + service := mock.NewMockUseCase(controller) r := mux.NewRouter() n := negroni.New() - MakeHandlers(r, *n, manager) + MakeBookHandlers(r, *n, service) path, err := r.GetRoute("getBook").GetPathTemplate() assert.Nil(t, err) assert.Equal(t, "/v1/book/{id}", path) b := &entity.Book{ ID: entity.NewID(), } - manager.EXPECT(). + service.EXPECT(). GetBook(b.ID). Return(b, nil) - handler := getBook(manager) + handler := getBook(service) r.Handle("/v1/book/{id}", handler) ts := httptest.NewServer(r) defer ts.Close() @@ -136,18 +136,18 @@ func Test_getBook(t *testing.T) { func Test_deleteBook(t *testing.T) { controller := gomock.NewController(t) defer controller.Finish() - manager := mock.NewMockUseCase(controller) + service := mock.NewMockUseCase(controller) r := mux.NewRouter() n := negroni.New() - MakeHandlers(r, *n, manager) + MakeBookHandlers(r, *n, service) path, err := r.GetRoute("deleteBook").GetPathTemplate() assert.Nil(t, err) assert.Equal(t, "/v1/book/{id}", path) b := &entity.Book{ ID: entity.NewID(), } - manager.EXPECT().DeleteBook(b.ID).Return(nil) - handler := deleteBook(manager) + service.EXPECT().DeleteBook(b.ID).Return(nil) + handler := deleteBook(service) req, _ := http.NewRequest("DELETE", "/v1/bookmark/"+b.ID.String(), nil) r.Handle("/v1/bookmark/{id}", handler).Methods("DELETE", "OPTIONS") rr := httptest.NewRecorder() diff --git a/api/handler/loan/loan.go b/api/handler/loan.go similarity index 94% rename from api/handler/loan/loan.go rename to api/handler/loan.go index a621b9c..8e655a3 100644 --- a/api/handler/loan/loan.go +++ b/api/handler/loan.go @@ -1,4 +1,4 @@ -package loan +package handler import ( "fmt" @@ -96,8 +96,8 @@ func returnBook(bookService book.UseCase, loanService loan.UseCase) http.Handler }) } -//MakeHandlers make url handlers -func MakeHandlers(r *mux.Router, n negroni.Negroni, bookService book.UseCase, userService user.UseCase, loanService loan.UseCase) { +//MakeLoanHandlers make url handlers +func MakeLoanHandlers(r *mux.Router, n negroni.Negroni, bookService book.UseCase, userService user.UseCase, loanService loan.UseCase) { r.Handle("/v1/loan/borrow/{book_id}/{user_id}", n.With( negroni.Wrap(borrowBook(bookService, userService, loanService)), )).Methods("GET", "OPTIONS").Name("borrowBook") diff --git a/api/handler/loan/loan_test.go b/api/handler/loan_test.go similarity index 97% rename from api/handler/loan/loan_test.go rename to api/handler/loan_test.go index 881d2b9..a790ea0 100644 --- a/api/handler/loan/loan_test.go +++ b/api/handler/loan_test.go @@ -1,4 +1,4 @@ -package loan +package handler import ( "fmt" @@ -26,7 +26,7 @@ func Test_borrowBook(t *testing.T) { lMock := lmock.NewMockUseCase(controller) r := mux.NewRouter() n := negroni.New() - MakeHandlers(r, *n, bMock, uMock, lMock) + MakeLoanHandlers(r, *n, bMock, uMock, lMock) path, err := r.GetRoute("borrowBook").GetPathTemplate() assert.Nil(t, err) assert.Equal(t, "/v1/loan/borrow/{book_id}/{user_id}", path) @@ -81,7 +81,7 @@ func Test_returnBook(t *testing.T) { lMock := lmock.NewMockUseCase(controller) r := mux.NewRouter() n := negroni.New() - MakeHandlers(r, *n, bMock, uMock, lMock) + MakeLoanHandlers(r, *n, bMock, uMock, lMock) path, err := r.GetRoute("returnBook").GetPathTemplate() assert.Nil(t, err) assert.Equal(t, "/v1/loan/return/{book_id}", path) diff --git a/api/handler/user/user.go b/api/handler/user.go similarity index 97% rename from api/handler/user/user.go rename to api/handler/user.go index 1fb5d2c..2ecb917 100644 --- a/api/handler/user/user.go +++ b/api/handler/user.go @@ -1,4 +1,4 @@ -package user +package handler import ( "encoding/json" @@ -151,8 +151,8 @@ func deleteUser(service user.UseCase) http.Handler { }) } -//MakeHandlers make url handlers -func MakeHandlers(r *mux.Router, n negroni.Negroni, service user.UseCase) { +//MakeUserHandlers make url handlers +func MakeUserHandlers(r *mux.Router, n negroni.Negroni, service user.UseCase) { r.Handle("/v1/user", n.With( negroni.Wrap(listUsers(service)), )).Methods("GET", "OPTIONS").Name("listUsers") diff --git a/api/handler/user/user_test.go b/api/handler/user_test.go similarity index 97% rename from api/handler/user/user_test.go rename to api/handler/user_test.go index 0e39c4c..7bb6a61 100644 --- a/api/handler/user/user_test.go +++ b/api/handler/user_test.go @@ -1,4 +1,4 @@ -package user +package handler import ( "encoding/json" @@ -24,7 +24,7 @@ func Test_listUsers(t *testing.T) { m := mock.NewMockUseCase(controller) r := mux.NewRouter() n := negroni.New() - MakeHandlers(r, *n, m) + MakeUserHandlers(r, *n, m) path, err := r.GetRoute("listUsers").GetPathTemplate() assert.Nil(t, err) assert.Equal(t, "/v1/user", path) @@ -78,7 +78,7 @@ func Test_createUser(t *testing.T) { m := mock.NewMockUseCase(controller) r := mux.NewRouter() n := negroni.New() - MakeHandlers(r, *n, m) + MakeUserHandlers(r, *n, m) path, err := r.GetRoute("createUser").GetPathTemplate() assert.Nil(t, err) assert.Equal(t, "/v1/user", path) @@ -111,7 +111,7 @@ func Test_getUser(t *testing.T) { m := mock.NewMockUseCase(controller) r := mux.NewRouter() n := negroni.New() - MakeHandlers(r, *n, m) + MakeUserHandlers(r, *n, m) path, err := r.GetRoute("getUser").GetPathTemplate() assert.Nil(t, err) assert.Equal(t, "/v1/user/{id}", path) @@ -140,7 +140,7 @@ func Test_deleteUser(t *testing.T) { m := mock.NewMockUseCase(controller) r := mux.NewRouter() n := negroni.New() - MakeHandlers(r, *n, m) + MakeUserHandlers(r, *n, m) path, err := r.GetRoute("deleteUser").GetPathTemplate() assert.Nil(t, err) assert.Equal(t, "/v1/user/{id}", path) diff --git a/api/main.go b/api/main.go index d76195c..8793b73 100644 --- a/api/main.go +++ b/api/main.go @@ -19,9 +19,7 @@ import ( "github.com/prometheus/client_golang/prometheus/promhttp" "github.com/codegangsta/negroni" - bhandler "github.com/eminetto/clean-architecture-go-v2/api/handler/book" - lhandler "github.com/eminetto/clean-architecture-go-v2/api/handler/loan" - uhandler "github.com/eminetto/clean-architecture-go-v2/api/handler/user" + "github.com/eminetto/clean-architecture-go-v2/api/handler" "github.com/eminetto/clean-architecture-go-v2/api/middleware" "github.com/eminetto/clean-architecture-go-v2/config" "github.com/eminetto/clean-architecture-go-v2/pkg/metric" @@ -59,13 +57,13 @@ func main() { negroni.NewLogger(), ) //book - bhandler.MakeHandlers(r, *n, bookService) + handler.MakeBookHandlers(r, *n, bookService) //user - uhandler.MakeHandlers(r, *n, userService) + handler.MakeUserHandlers(r, *n, userService) //loan - lhandler.MakeHandlers(r, *n, bookService, userService, loanUseCase) + handler.MakeLoanHandlers(r, *n, bookService, userService, loanUseCase) http.Handle("/", r) http.Handle("/metrics", promhttp.Handler())