Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Make route middleware/handler mockable #25766

Merged
merged 4 commits into from
Jul 9, 2023

Conversation

wxiaoguang
Copy link
Contributor

@wxiaoguang wxiaoguang commented Jul 8, 2023

To mock a handler:

web.RouteMock(web.MockAfterMiddlewares, func(ctx *context.Context) {
	// ...
})
defer web.RouteMockReset()

It helps:

  • Test the middleware's behavior (assert the ctx.Data, etc)
  • Mock the middleware's behavior (prepare some context data for handler)
  • Mock the handler's response for some test cases, especially for some integration tests and e2e tests.

@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Jul 8, 2023
@pull-request-size pull-request-size bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Jul 8, 2023
@wxiaoguang wxiaoguang force-pushed the make-route-mockable branch from bfaf4d1 to 9f86b89 Compare July 8, 2023 08:16
@wxiaoguang wxiaoguang force-pushed the make-route-mockable branch 4 times, most recently from a52a923 to dabc87c Compare July 8, 2023 08:28
@wxiaoguang wxiaoguang force-pushed the make-route-mockable branch from dabc87c to 14f73cd Compare July 8, 2023 08:40
@GiteaBot GiteaBot added lgtm/need 1 This PR needs approval from one additional maintainer to be merged. and removed lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels Jul 9, 2023
@lunny lunny added the type/enhancement An improvement of existing functionality label Jul 9, 2023
@lunny lunny added this to the 1.21.0 milestone Jul 9, 2023
@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Jul 9, 2023
@silverwind silverwind added the reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. label Jul 9, 2023
@silverwind silverwind enabled auto-merge (squash) July 9, 2023 11:06
@silverwind silverwind merged commit 819aed3 into go-gitea:main Jul 9, 2023
@GiteaBot GiteaBot removed the reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. label Jul 9, 2023
@wxiaoguang wxiaoguang deleted the make-route-mockable branch July 9, 2023 12:54
zjjhot added a commit to zjjhot/gitea that referenced this pull request Jul 10, 2023
* giteaofficial/main: (31 commits)
  Fix WORK_DIR for docker (root) image (go-gitea#25738)
  Avoid amending the Rebase and Fast-forward merge if there is no message template (go-gitea#25779)
  Show edit title button on commits tab of PR, too (go-gitea#25791)
  Make "install page" respect environment config (go-gitea#25648)
  Enable H014 and H023 djlint rules (go-gitea#25786)
  Restructure issue list template, styles (go-gitea#25750)
  Fix notification list bugs (go-gitea#25781)
  Revert package access change from go-gitea#23879 (go-gitea#25707)
  Make route middleware/handler mockable (go-gitea#25766)
  Update tool dependencies, lock govulncheck and actionlint (go-gitea#25655)
  Test if container blob is accessible before mounting (go-gitea#22759)
  Always pass 6-digit hex color to monaco (go-gitea#25780)
  Fix the wrong default branch name displayed by checkout (go-gitea#25777)
  Tweak repo topics bar (go-gitea#25769)
  docs: rootless docker ssh's default port is 2222 (go-gitea#25771)
  Repository Archived text title center align (go-gitea#25767)
  Update JS dependencies, misc tweaks (go-gitea#25768)
  Clarify "text-align" CSS helpers, fix clone button padding (go-gitea#25763)
  Switch to `vite-string-plugin` (go-gitea#25762)
  Newly pushed branches hints on repository home page (go-gitea#25715)
  ...
@go-gitea go-gitea locked as resolved and limited conversation to collaborators Oct 7, 2023
# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. type/enhancement An improvement of existing functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants