var ( handler preferences.GetPreferencesHandler writer *httptest.ResponseRecorder request *http.Request preferencesFinder *mocks.PreferencesFinder errorWriter *mocks.ErrorWriter builder services.PreferencesBuilder context stack.Context database *mocks.Database TRUE = true FALSE = false ) BeforeEach(func() { errorWriter = mocks.NewErrorWriter() writer = httptest.NewRecorder() body, err := json.Marshal(map[string]string{ "I think this request is empty": "maybe", }) if err != nil { panic(err) } tokenHeader := map[string]interface{}{ "alg": "FAST", } tokenClaims := map[string]interface{}{ "user_id": "correct-user", "exp": int64(3404281214),
) var _ = Describe("Routes", func() { var muxer web.Muxer BeforeEach(func() { muxer = web.NewMuxer() notifications.Routes{ RequestCounter: middleware.RequestCounter{}, RequestLogging: middleware.RequestLogging{}, DatabaseAllocator: middleware.DatabaseAllocator{}, NotificationsWriteAuthenticator: middleware.Authenticator{Scopes: []string{"notifications.write"}}, NotificationsManageAuthenticator: middleware.Authenticator{Scopes: []string{"notifications.manage"}}, Registrar: mocks.NewRegistrar(), ErrorWriter: mocks.NewErrorWriter(), NotificationsFinder: mocks.NewNotificationsFinder(), NotificationsUpdater: &mocks.NotificationUpdater{}, }.Register(muxer) }) Describe("/notifications", func() { It("routes PUT /notifications", func() { request, err := http.NewRequest("PUT", "/notifications", nil) Expect(err).NotTo(HaveOccurred()) s := muxer.Match(request).(stack.Stack) Expect(s.Handler).To(BeAssignableToTypeOf(notifications.PutHandler{})) ExpectToContainMiddlewareStack(s.Middleware, middleware.RequestLogging{}, middleware.RequestCounter{}, middleware.Authenticator{}, middleware.DatabaseAllocator{}) authenticator := s.Middleware[2].(middleware.Authenticator)