forgejo/tests/integration
Gusted b770282d45
fix: extend forgejo_auth_token table
- Add a `purpose` column, this allows the `forgejo_auth_token` table to
be used by other parts of Forgejo, while still enjoying the
no-compromise architecture.
- Remove the 'roll your own crypto' time limited code functions and
migrate them to the `forgejo_auth_token` table. This migration ensures
generated codes can only be used for their purpose and ensure they are
invalidated after their usage by deleting it from the database, this
also should help making auditing of the security code easier, as we're
no longer trying to stuff a lot of data into a HMAC construction.
-Helper functions are rewritten to ensure a safe-by-design approach to
these tokens.
- Add the `forgejo_auth_token` to dbconsistency doctor and add it to the
`deleteUser` function.
- TODO: Add cron job to delete expired authorization tokens.
- Unit and integration tests added.

(cherry picked from commit 1ce33aa38d)

v7: Removed migration - XORM can handle this case automatically without migration.

assert.Equal(t, `doesnotexist@example.com`, msgs[0].To) in tests
because v7 does not include the user name to the recipient.
2024-11-15 12:02:14 +01:00
..
fixtures fix: require code permissions for branch feed 2024-11-15 11:59:08 +01:00
migration-test enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
schemas verify nodeinfo response by schema (#22137) 2022-12-17 01:22:34 -05:00
actions_commit_status_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
actions_route_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
actions_trigger_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
admin_config_test.go Fix admin config page error, use tests to cover the admin config and 500 error page (#24965) 2023-05-29 15:00:21 +00:00
admin_user_test.go [MODERATION] User blocking 2024-02-05 15:56:45 +01:00
api_actions_artifact_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_actions_artifact_v4_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_activitypub_person_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_admin_org_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_admin_test.go Add a warning for disallowed email domains (#29658) 2024-03-20 08:46:28 +01:00
api_block_test.go [MODERATION] User blocking (squash) do not use token= query param 2024-02-05 15:56:58 +01:00
api_branch_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_comment_attachment_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_comment_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_feed_plain_text_titles_test.go [GITEA] convert feed items' titles to plain text 2024-02-05 16:09:40 +01:00
api_feed_user_test.go fix: require code permissions for branch feed 2024-11-15 11:59:08 +01:00
api_forgejo_root_test.go [API] Forgejo API /api/forgejo/v1 2024-02-05 14:44:32 +01:00
api_forgejo_version_test.go Fix #2512 /api/forgejo/v1/version auth check (#2582) 2024-03-19 07:16:19 +00:00
api_fork_test.go fix: don't show private forks in forks list 2024-11-15 11:58:58 +01:00
api_gitignore_templates_test.go Add API for gitignore templates (#22783) 2023-04-27 11:51:20 +08:00
api_gpg_keys_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_health_test.go Remove useless t.run 2024-04-06 08:44:23 +00:00
api_helper_for_declarative_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_httpsig_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_issue_attachment_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_issue_config_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_issue_label_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_issue_milestone_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_issue_pin_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_issue_reaction_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_issue_stopwatch_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_issue_subscription_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_issue_templates_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_issue_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_issue_tracked_time_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_keys_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_label_templates_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_license_templates_test.go Add API for License templates (#23009) 2023-04-26 02:08:28 -04:00
api_nodeinfo_test.go Allow non-admin users to delete review requests (#29057) 2024-02-26 22:30:27 +01:00
api_notification_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_oauth2_apps_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_org_avatar_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_org_test.go Allow non-admin users to delete review requests (#29057) 2024-02-26 22:30:27 +01:00
api_packages_alpine_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_packages_cargo_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_packages_chef_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_packages_composer_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_packages_conan_test.go [SEC] Ensure propagation of API scopes for Conan and Container authentication 2024-08-28 08:44:58 +00:00
api_packages_conda_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_packages_container_test.go [SEC] Ensure propagation of API scopes for Conan and Container authentication 2024-08-28 08:44:58 +00:00
api_packages_cran_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_packages_debian_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_packages_generic_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_packages_goproxy_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_packages_helm_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_packages_maven_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_packages_npm_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_packages_nuget_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_packages_pub_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_packages_pypi_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_packages_rpm_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_packages_rubygems_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_packages_swift_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_packages_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_packages_vagrant_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_private_serv_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_pull_commits_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_pull_review_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_pull_test.go security: add permission check to 'delete branch after merge' 2024-10-28 06:32:10 +01:00
api_push_mirror_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_releases_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_repo_activities_test.go Teach activities.GetFeeds() how to avoid returning duplicates 2024-05-09 18:37:30 +00:00
api_repo_archive_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_repo_avatar_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_repo_branch_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_repo_collaborator_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_repo_edit_test.go Add merge style fast-forward-only (#28954) 2024-02-14 17:19:19 +01:00
api_repo_file_create_test.go test-sha256: APICreateFile 2024-05-16 13:07:14 +00:00
api_repo_file_delete_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_repo_file_get_test.go test-sha256: PushDeployKeyOnEmptyRepo 2024-05-16 13:07:14 +00:00
api_repo_file_helpers.go Fix Bug in Issue Config when only contact links are set (#26521) 2023-09-28 20:16:40 +08:00
api_repo_file_update_test.go Move context from modules to services (#29440) 2024-03-06 12:10:43 +08:00
api_repo_files_change_test.go Move context from modules to services (#29440) 2024-03-06 12:10:43 +08:00
api_repo_get_contents_list_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_repo_get_contents_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_repo_git_blobs_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_repo_git_commits_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_repo_git_hook_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_repo_git_notes_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_repo_git_ref_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_repo_git_tags_test.go Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
api_repo_git_trees_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_repo_hook_test.go [REFACTOR] webhook.Handler interface 2024-03-24 10:35:06 +01:00
api_repo_languages_test.go [GITEA] Allow user to select email for file operations in Web UI 2024-02-05 16:09:41 +01:00
api_repo_lfs_locks_test.go Fix #31185 try fix lfs download from bitbucket failed (#31201) 2024-08-18 07:01:03 +02:00
api_repo_lfs_migrate_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_repo_lfs_test.go Fix #31185 try fix lfs download from bitbucket failed (#31201) 2024-08-18 07:01:03 +02:00
api_repo_raw_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_repo_secrets_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_repo_tags_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_repo_teams_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_repo_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_repo_topic_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_settings_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
api_team_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_team_user_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_token_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_twofa_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_user_avatar_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_user_email_test.go Unify user update methods (#28733) 2024-02-04 13:29:09 +00:00
api_user_follow_test.go [MODERATION] User blocking 2024-02-05 15:56:45 +01:00
api_user_heatmap_test.go Refactor timeutil package (#28623) 2023-12-28 10:09:57 +00:00
api_user_info_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_user_org_perm_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_user_orgs_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_user_search_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
api_user_secrets_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
api_user_star_test.go Disabling Stars should disable the routes too 2024-02-26 20:50:32 +01:00
api_user_watch_test.go Add tests for #28765 (#28773) 2024-01-12 17:15:42 +00:00
api_wiki_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
archived_labels_display_test.go Add integration test for (non-)archived label properties 2024-04-03 20:14:39 +00:00
attachment_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
auth_ldap_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
auth_token_test.go fix: extend forgejo_auth_token table 2024-11-15 12:02:14 +01:00
avatar.png Add API for changing Avatars (#25369) 2023-06-29 23:22:55 +00:00
benchmarks_test.go Refactor tests (#26464) 2023-08-12 16:30:16 +00:00
block_test.go [BUG] Return blocking errors as JSON errors 2024-08-10 05:53:00 +00:00
branches_test.go Move context from modules to services (#29440) 2024-03-06 12:10:43 +08:00
change_default_branch_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
cmd_admin_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
cmd_forgejo_actions_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
cmd_keys_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
codeowner_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
compare_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
cors_test.go Refactor CORS handler (#28587) 2023-12-25 20:13:18 +08:00
create_no_session_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
csrf_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
db_collation_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
delete_user_test.go [MODERATION] Purge issues on user deletion 2024-02-05 15:39:02 +01:00
doctor_packages_nuget_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
download_test.go Remove deprecated packages & staticcheck fixes (#22012) 2022-12-02 17:06:23 -05:00
dump_restore_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
easymde_test.go Add integration test for EasyMDE button 2024-04-19 13:49:21 +00:00
editor_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
empty_repo_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
eventsource_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
explore_code_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
explore_repos_test.go [BUG] Remember topic only in repo search 2024-03-06 13:22:39 +01:00
explore_user_test.go Remove unnecessary ".Link" usages (#29909) 2024-03-26 19:04:26 +01:00
forgejo_confirmation_repo_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
forgejo_git_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
git_clone_wiki_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
git_helper_for_declarative_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
git_push_test.go Fix push multiple branches error with tests (#31151) 2024-06-03 09:47:51 +02:00
git_smart_http_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
git_test.go fix(agit): run full pr checks on force-push 2024-08-13 18:26:33 +00:00
goget_test.go Support SSH for go get (#24664) 2023-05-12 09:44:37 +00:00
gpg_git_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
html_helper.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
incoming_email_test.go Improve usage of HMAC output for mailer tokens 2024-11-15 12:02:09 +01:00
integration_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
issue_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
lfs_getobject_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
lfs_local_endpoint_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
lfs_view_test.go Show lock owner instead of repo owner on LFS setting page (#31788) (#31817) 2024-08-18 07:01:03 +02:00
linguist_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
links_test.go [REFACTOR] webhook move edit endpoints 2024-03-27 22:26:55 +01:00
markup_external_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
markup_test.go Update the TestRenderAlertBlocks integration test 2024-03-23 15:38:43 +01:00
migrate_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
mirror_pull_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
mirror_push_test.go fix: add ID check for updating push mirror interval 2024-11-15 11:58:37 +01:00
nonascii_branches_test.go Remove deprecated packages & staticcheck fixes (#22012) 2022-12-02 17:06:23 -05:00
oauth_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
org_count_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
org_project_test.go Fix various problems around projects board view (#30696) 2024-05-14 15:51:15 +02:00
org_team_invite_test.go fix: extend forgejo_auth_token table 2024-11-15 12:02:14 +01:00
org_test.go add label filters in org/{org_name}/issues 2024-04-04 17:37:56 +00:00
private-testing.key Kd/ci playwright go test (#20123) 2022-09-02 15:18:23 -04:00
privateactivity_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
proctected_branch_test.go [FEAT] Configure if protected branch rule should apply to admins 2024-04-01 19:31:43 +00:00
project_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
pull_compare_test.go Rework header bar on issue, pull requests and milestone (#24420) 2023-04-29 23:33:25 -04:00
pull_create_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
pull_diff_test.go Add commits dropdown in PR files view and allow commit by commit review (#25528) 2023-07-28 21:18:12 +02:00
pull_merge_test.go security: add permission check to 'delete branch after merge' 2024-10-28 06:32:10 +01:00
pull_reopen_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
pull_request_task_test.go Do not update PRs based on events that happened before they existed 2024-04-12 10:41:19 +02:00
pull_review_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
pull_status_test.go Convert to url auth to header auth in tests (#28484) 2023-12-21 23:59:59 +00:00
pull_summary_test.go Add test for pull summary 2024-03-22 07:11:52 +01:00
pull_update_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
pull_wip_convert_test.go Add test for add/remove WIP link display 2024-03-21 19:33:02 +05:00
README.md Require MySQL 8.0, PostgreSQL 12, MSSQL 2012 (#27337) 2023-10-03 13:27:57 -04:00
README_ZH.md Require MySQL 8.0, PostgreSQL 12, MSSQL 2012 (#27337) 2023-10-03 13:27:57 -04:00
release_test.go Fix incorrect tailwind migration (#30007) 2024-03-26 19:04:27 +01:00
rename_branch_test.go [PORT] gitea#30430: Fix rename branch 500 when the target branch is deleted but exist in database 2024-04-15 15:52:24 +00:00
repo_activity_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
repo_archive_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
repo_archive_text_test.go Makefile: check git diff exit-code (#2651) 2024-03-14 10:38:58 +00:00
repo_badges_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
repo_branch_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
repo_collaborator_test.go ui: fix wrong string used in a search box (#4258) 2024-06-28 16:29:11 +00:00
repo_commits_search_test.go Integration Test for Commit Search containing Square Brackets (#28751) 2024-01-11 11:04:45 +08:00
repo_commits_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
repo_delete_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
repo_flags_test.go [FEAT] API support for repository flags 2024-02-05 16:09:42 +01:00
repo_fork_test.go fix: don't show private forks in forks list 2024-11-15 11:58:58 +01:00
repo_generate_test.go Substitute variables in path names of template repos too (#25294) 2023-06-20 21:14:47 +00:00
repo_mergecommit_revert_test.go Run go generate and go vet on all packages (#30529) 2024-04-21 18:09:48 +02:00
repo_migrate_test.go [GITEA] add GitHub repo migration test 2024-02-05 16:05:50 +01:00
repo_pagination_test.go Makefile: check git diff exit-code (#2651) 2024-03-14 10:38:58 +00:00
repo_search_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
repo_settings_hook_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
repo_settings_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
repo_signed_tag_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
repo_starwatch_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
repo_tag_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
repo_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
repo_topic_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
repo_watch_test.go Replace 'userxx' with 'orgxx' in all test files when the user type is org (#27052) 2023-09-14 02:59:53 +00:00
repo_webhook_test.go webhook: add admin-hooks tests 2024-04-09 21:57:34 +00:00
repo_wiki_test.go [GITEA] Allow changing the repo Wiki branch to main 2024-02-05 16:57:47 +01:00
repofiles_change_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
session_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
setting_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
signin_test.go Refactor locale&string&template related code (#29165) 2024-02-16 15:20:52 +01:00
signout_test.go Use JSON response for "user/logout" (#25522) 2023-06-26 21:36:10 +02:00
signup_test.go Refactor locale&string&template related code (#29165) 2024-02-16 15:20:52 +01:00
size_translations_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
ssh_key_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
timetracking_test.go Replace 'userxx' with 'orgxx' in all test files when the user type is org (#27052) 2023-09-14 02:59:53 +00:00
user_avatar_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
user_count_test.go Show repo count in blocked users tab (#3601) 2024-05-02 17:10:06 +00:00
user_profile_test.go [TESTS] Lift out CreateDeclarativeRepo() 2024-02-05 16:54:44 +01:00
user_test.go fix: extend forgejo_auth_token table 2024-11-15 12:02:14 +01:00
version_test.go Fix #2512 /api/forgejo/v1/version auth check (#2582) 2024-03-19 07:16:19 +00:00
view_test.go [BUG] Disable 'View at this point in history' for wikis 2024-04-03 17:10:28 +00:00
webfinger_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
webhook_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00
xss_test.go enable linter testifylint on v7 (#4572) 2024-07-30 19:42:06 +00:00

Integration tests

Integration tests can be run with make commands for the appropriate backends, namely:

make test-sqlite
make test-pgsql
make test-mysql
make test-mssql

Make sure to perform a clean build before running tests:

make clean build

Run tests via local act_runner

Run all jobs

act_runner exec -W ./.github/workflows/pull-db-tests.yml --event=pull_request --default-actions-url="https://github.com" -i catthehacker/ubuntu:runner-latest

Warning: This file defines many jobs, so it will be resource-intensive and therefor not recommended.

Run single job

act_runner exec -W ./.github/workflows/pull-db-tests.yml --event=pull_request --default-actions-url="https://github.com" -i catthehacker/ubuntu:runner-latest -j <job_name>

You can list all job names via:

act_runner exec -W ./.github/workflows/pull-db-tests.yml --event=pull_request --default-actions-url="https://github.com" -i catthehacker/ubuntu:runner-latest -l

Run sqlite integration tests

Start tests

make test-sqlite

Run MySQL integration tests

Setup a MySQL database inside docker

docker run -e "MYSQL_DATABASE=test" -e "MYSQL_ALLOW_EMPTY_PASSWORD=yes" -p 3306:3306 --rm --name mysql mysql:latest #(just ctrl-c to stop db and clean the container)
docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" --rm --name elasticsearch elasticsearch:7.6.0 #(in a second terminal, just ctrl-c to stop db and clean the container)

Start tests based on the database container

TEST_MYSQL_HOST=localhost:3306 TEST_MYSQL_DBNAME=test TEST_MYSQL_USERNAME=root TEST_MYSQL_PASSWORD='' make test-mysql

Run pgsql integration tests

Setup a pgsql database inside docker

docker run -e "POSTGRES_DB=test" -p 5432:5432 --rm --name pgsql postgres:latest #(just ctrl-c to stop db and clean the container)

Start tests based on the database container

TEST_PGSQL_HOST=localhost:5432 TEST_PGSQL_DBNAME=test TEST_PGSQL_USERNAME=postgres TEST_PGSQL_PASSWORD=postgres make test-pgsql

Run mssql integration tests

Setup a mssql database inside docker

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_PID=Standard" -e "SA_PASSWORD=MwantsaSecurePassword1" -p 1433:1433 --rm --name mssql microsoft/mssql-server-linux:latest #(just ctrl-c to stop db and clean the container)

Start tests based on the database container

TEST_MSSQL_HOST=localhost:1433 TEST_MSSQL_DBNAME=gitea_test TEST_MSSQL_USERNAME=sa TEST_MSSQL_PASSWORD=MwantsaSecurePassword1 make test-mssql

Running individual tests

Example command to run GPG test:

For SQLite:

make test-sqlite#GPG

For other databases(replace mssql to mysql, or pgsql):

TEST_MSSQL_HOST=localhost:1433 TEST_MSSQL_DBNAME=test TEST_MSSQL_USERNAME=sa TEST_MSSQL_PASSWORD=MwantsaSecurePassword1 make test-mssql#GPG

Setting timeouts for declaring long-tests and long-flushes

We appreciate that some testing machines may not be very powerful and the default timeouts for declaring a slow test or a slow clean-up flush may not be appropriate.

You can either:

  • Within the test ini file set the following section:
[integration-tests]
SLOW_TEST = 10s ; 10s is the default value
SLOW_FLUSH = 5S ; 5s is the default value
  • Set the following environment variables:
GITEA_SLOW_TEST_TIME="10s" GITEA_SLOW_FLUSH_TIME="5s" make test-sqlite