forgejo/tests/integration
Gergely Nagy cc80e66153
hooks: Harden when we accept push options that change repo settings
It is possible to change some repo settings (its visibility, and
template status) via `git push` options: `-o repo.private=true`, `-o
repo.template=true`.

Previously, there weren't sufficient permission checks on these, and
anyone who could `git push` to a repository - including via an AGit
workflow! - was able to change either of these settings. To guard
against this, the pre-receive hook will now check if either of these
options are present, and if so, will perform additional permission
checks to ensure that these can only be set by a repository owner or
an administrator. Additionally, changing these settings is disabled for
forks, even for the fork's owner.

There's still a case where the owner of a repository can change the
visibility of it, and it will not propagate to forks (it propagates to
forks when changing the visibility via the API), but that's an
inconsistency, not a security issue.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-04-18 11:53:30 +02:00
..
fixtures [SECURITY] Test XSS in dismissed review 2024-02-22 15:35:04 +01:00
migration-test Preserve BOM in web editor (#28935) (#28959) 2024-01-31 14:18:26 +01:00
schemas verify nodeinfo response by schema (#22137) 2022-12-17 01:22:34 -05:00
actions_commit_status_test.go fix(actions): call automerge service on successful commit state 2024-04-15 16:17:16 +02:00
actions_trigger_test.go Fix invalid link of the commit status when ref is tag (#29752) (#29908) (step 2) 2024-03-21 17:28:36 +01: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 2023-11-13 13:58:02 +01:00
api_actions_artifact_test.go Fix uploaded artifacts should be overwritten (#28726) backport v1.21 (#28832) 2024-01-31 14:18:25 +01:00
api_activitypub_person_test.go More refactoring of db.DefaultContext (#27083) 2023-09-15 06:13:19 +00:00
api_admin_org_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_admin_test.go show manual cron run's last time (#27544) (#27577) 2023-10-11 13:26:34 +02:00
api_block_test.go [MODERATION] User blocking 2023-11-13 13:58:02 +01:00
api_branch_test.go PATCH branch-protection updates check list even when checks are disabled (#26351) 2023-08-24 05:36:04 +00:00
api_comment_attachment_test.go Fix comment permissions (#28213) (#28216) 2023-11-26 13:56:50 +01:00
api_comment_test.go Fix comment permissions (#28213) (#28216) 2023-11-26 13:56:50 +01:00
api_feed_plain_text_titles_test.go [GITEA] convert feed items' titles to plain text 2023-11-13 14:06:31 +01:00
api_feed_user_test.go [GITEA] Add repo empty check for branch feed 2023-11-13 14:06:32 +01:00
api_forgejo_root_test.go [API] Forgejo API /api/forgejo/v1 2023-11-13 12:33:48 +01:00
api_forgejo_version_test.go [API] Forgejo API /api/forgejo/v1 2023-11-13 12:33:48 +01:00
api_fork_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00: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 Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_helper_for_declarative_test.go Support scoped access tokens (#20908) 2023-01-17 15:46:03 -06:00
api_httpsig_test.go Expanded minimum RSA Keylength to 3072 (#26604) 2023-08-28 00:53:16 +00:00
api_issue_attachment_test.go [FEAT] allow setting the update date on issues and comments 2023-11-13 12:33:49 +01:00
api_issue_config_test.go Fix Bug in Issue Config when only contact links are set (#26521) (#27334) 2023-09-28 20:55:45 +08:00
api_issue_label_test.go [FEAT] allow setting the update date on issues and comments 2023-11-13 12:33:49 +01:00
api_issue_milestone_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_issue_pin_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_issue_reaction_test.go Fix comment permissions (#28213) (#28216) 2023-11-26 13:56:50 +01:00
api_issue_stopwatch_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_issue_subscription_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_issue_templates_test.go Fix /api/v1/{owner}/{repo}/issue_templates 2024-03-07 21:50:27 +01:00
api_issue_test.go [MODERATION] User blocking 2023-11-13 13:58:02 +01:00
api_issue_tracked_time_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_keys_test.go Fix comment permissions (#28213) (#28216) 2023-11-26 13:56:50 +01:00
api_label_templates_test.go Add API for Label templates (#24602) 2023-05-23 18:10:23 +08:00
api_license_templates_test.go Add API for License templates (#23009) 2023-04-26 02:08:28 -04:00
api_nodeinfo_test.go Merge branch 'rebase-v1.21/forgejo-branding' into wip-v1.21-forgejo 2023-11-13 16:47:18 +01:00
api_notification_test.go Add missing reqToken() to notifications endpoints (#26914) 2023-09-05 14:43:34 +00:00
api_oauth2_apps_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_org_avatar_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
api_org_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
api_packages_alpine_test.go Add v3.18 to TestPackageAlpine (#24972) 2023-05-29 15:45:32 +00:00
api_packages_cargo_test.go Fix profile render when the README.md size is larger than 1024 bytes (#25131) 2023-06-13 09:02:25 +00:00
api_packages_chef_test.go [GITEA] Drop sha256-simd in favor of stdlib 2023-11-13 14:06:31 +01:00
api_packages_composer_test.go Remove all package data after tests (#22984) 2023-02-23 22:11:56 +08:00
api_packages_conan_test.go Replace interface{} with any (#25686) 2023-07-04 18:36:08 +00:00
api_packages_conda_test.go Add Conda package registry (#22262) 2023-02-01 12:30:39 -06:00
api_packages_container_test.go Prevent anonymous container access if RequireSignInView is enabled (#28877) (#28882) 2024-01-31 14:18:25 +01:00
api_packages_cran_test.go Add CRAN package registry (#22331) 2023-05-22 10:57:49 +08:00
api_packages_debian_test.go Fix handling of Debian files with trailing slash (#26087) 2023-07-24 16:19:44 +02:00
api_packages_generic_test.go Add direct serving of package content (#25543) 2023-07-03 15:33:28 +02:00
api_packages_goproxy_test.go Add Go package registry (#24687) 2023-05-14 23:38:40 +08:00
api_packages_helm_test.go Remove all package data after tests (#22984) 2023-02-23 22:11:56 +08:00
api_packages_maven_test.go Remove all package data after tests (#22984) 2023-02-23 22:11:56 +08:00
api_packages_npm_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_packages_nuget_test.go Fix NuGet search endpoints (#25613) 2023-08-14 02:50:55 +00:00
api_packages_pub_test.go Replace interface{} with any (#25686) 2023-07-04 18:36:08 +00:00
api_packages_pypi_test.go Remove all package data after tests (#22984) 2023-02-23 22:11:56 +08:00
api_packages_rpm_test.go Add HEAD support for rpm repo files (#28309) (#28360) 2023-12-08 13:41:16 +01:00
api_packages_rubygems_test.go Remove all package data after tests (#22984) 2023-02-23 22:11:56 +08:00
api_packages_swift_test.go Add Swift package registry (#22404) 2023-03-13 15:28:39 -05:00
api_packages_test.go [GITEA] Drop sha256-simd in favor of stdlib 2023-11-13 14:06:31 +01:00
api_packages_vagrant_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_private_serv_test.go Refactor internal API for git commands, use meaningful messages instead of "Internal Server Error" (#23687) 2023-03-29 14:32:26 +08:00
api_pull_commits_test.go api: GetPullRequestCommits: return file list (#27483) (#27539) 2023-10-09 14:21:35 +02:00
api_pull_review_test.go Workaround to clean up old reviews on creating a new one (#28554) (#29264) 2024-02-20 09:39:02 +01:00
api_pull_test.go Fix PR creation via api between branches of same repo with head field namespaced (#26986) (#29857) 2024-03-21 17:09:50 +01:00
api_releases_test.go add Upload URL to release API (#26663) 2023-08-24 10:36:10 +00:00
api_repo_archive_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_repo_avatar_test.go Add API for changing Avatars (#25369) 2023-06-29 23:22:55 +00:00
api_repo_branch_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
api_repo_collaborator_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_repo_edit_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
api_repo_file_create_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
api_repo_file_delete_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
api_repo_file_get_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_repo_file_helpers.go Fix Bug in Issue Config when only contact links are set (#26521) (#27334) 2023-09-28 20:55:45 +08:00
api_repo_file_update_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
api_repo_files_change_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
api_repo_get_contents_list_test.go Also sync DB branches on push if necessary (#28361) (#28403) 2023-12-12 15:21:33 +01:00
api_repo_get_contents_test.go Also sync DB branches on push if necessary (#28361) (#28403) 2023-12-12 15:21:33 +01:00
api_repo_git_blobs_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
api_repo_git_commits_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_repo_git_hook_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_repo_git_notes_test.go api: GetPullRequestCommits: return file list (#27483) (#27539) 2023-10-09 14:21:35 +02:00
api_repo_git_ref_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_repo_git_tags_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_repo_git_trees_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
api_repo_hook_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_repo_languages_test.go Remove session in api tests (#21984) 2022-12-01 22:39:42 -05:00
api_repo_lfs_locks_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
api_repo_lfs_migrate_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_repo_lfs_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_repo_raw_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_repo_secrets_test.go Refactor secrets modification logic (#26873) 2023-09-05 15:21:02 +00:00
api_repo_tags_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_repo_teams_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
api_repo_test.go [GITEA] Improve HTML title on repositories 2023-11-13 14:04:16 +01:00
api_repo_topic_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
api_settings_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
api_team_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_team_user_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_token_test.go Fix permissions for Token DELETE endpoint to match GET and POST (#27610) (#28099) 2023-11-22 17:12:11 +01:00
api_twofa_test.go [BRANDING] X-Forgejo-OTP can be used instead of X-Gitea-OTP 2023-11-13 14:01:40 +01:00
api_user_avatar_test.go Add API for changing Avatars (#25369) 2023-06-29 23:22:55 +00:00
api_user_email_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_user_follow_test.go [MODERATION] User blocking 2023-11-13 13:58:02 +01:00
api_user_heatmap_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_user_info_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
api_user_org_perm_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
api_user_orgs_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
api_user_search_test.go [GITEA] enable system users search via the API 2023-11-13 14:06:29 +01:00
api_user_secrets_test.go Add user secrets API integration tests (#27832) (#27852) 2023-10-31 04:14:04 +00:00
api_user_star_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
api_user_watch_test.go Require token for GET subscription endpoint (#28765) (#28778) 2024-01-16 14:39:40 +00:00
api_wiki_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
attachment_test.go Use fetch to send requests to create issues/comments (#25258) 2023-06-16 06:32:43 +00:00
auth_ldap_test.go Reduce usage of db.DefaultContext (#27073) 2023-09-14 17:09:32 +00:00
auth_token_test.go [GITEA] rework long-term authentication 2024-01-16 14:14:46 +00: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 [MODERATION] Refactor excluding watchers mechanism (squash) 2024-01-22 21:01:08 +01:00
branches_test.go [GITEA] Remove redundant syncBranchToDB 2023-12-21 11:07:41 +00:00
change_default_branch_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
cmd_forgejo_actions_test.go [CLI] implement forgejo-cli 2023-11-13 11:52:15 +01:00
cmd_forgejo_test.go [CLI] implement forgejo-cli 2023-11-13 11:52:15 +01:00
cmd_keys_test.go Refactor to use urfave/cli/v2 (#25959) 2023-07-21 17:28:19 +08:00
codeowner_test.go [BUG] Correct changed files for codeowners 2024-02-28 20:13:20 +01:00
compare_test.go Use beforeCommit instead of baseCommit (#22949) 2023-02-20 11:56:07 +08:00
cors_test.go Refactor CORS handler (#28587) (#28611) 2024-01-16 14:08:38 +00:00
create_no_session_test.go Refactor tests (#26464) 2023-08-12 16:30:16 +00:00
csrf_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
delete_user_test.go [MODERATION] Purge issues on user deletion 2023-11-13 13:58:01 +01:00
download_test.go Remove deprecated packages & staticcheck fixes (#22012) 2022-12-02 17:06:23 -05:00
dump_restore_test.go Replace interface{} with any (#25686) 2023-07-04 18:36:08 +00:00
editor_test.go Use double quotes consistently in en-US (#24141) 2023-04-17 18:04:26 -04:00
empty_repo_test.go Refactor "Content" for file uploading (#25851) 2023-07-18 18:14:47 +00:00
eventsource_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
explore_repos_test.go [BUG] Remember topic only in repo search 2024-02-27 23:37:26 +01:00
explore_user_test.go Only use supported sort order for "explore/users" page (#29430) (#29443) 2024-03-10 18:45:59 +07:00
forgejo_git_test.go [GITEA] GetScheduledMergeByPullID may involve a system user 2023-12-11 18:43:03 +01:00
git_clone_wiki_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
git_helper_for_declarative_test.go Refactor tests (#26464) 2023-08-12 16:30:16 +00:00
git_push_test.go hooks: Harden when we accept push options that change repo settings 2024-04-18 11:53:30 +02:00
git_smart_http_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
git_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
goget_test.go Support SSH for go get (#24664) 2023-05-12 09:44:37 +00:00
gpg_git_test.go Refactor tests (#26464) 2023-08-12 16:30:16 +00:00
html_helper.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
incoming_email_test.go Next round of db.DefaultContext refactor (#27089) 2023-09-16 14:39:12 +00:00
integration_test.go [GITEA] add test showing bug on resolving invalidated review comment 2024-02-04 12:44:13 +01:00
issue_test.go Fix incorrect URL for "Reference in New Issue" (#28716) (#28723) 2024-01-16 14:37:07 +00:00
lfs_getobject_test.go [GITEA] Use maintained gziphandler 2024-01-16 14:09:55 +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 Test views of LFS files (#22196) 2022-12-23 07:41:56 +08:00
links_test.go [BRANDING] add the forgejo webhook type & update webhook docs URLs 2023-11-13 13:58:18 +01:00
markup_external_test.go Drop "unrolled/render" package (#23965) 2023-04-08 14:21:50 +08:00
migrate_test.go Upgrade xorm to new version which supported update join for all supported databases (#28590) (#28668) 2024-01-16 14:16:55 +00:00
mirror_pull_test.go Fix comment permissions (#28213) (#28216) 2023-11-26 13:56:50 +01:00
mirror_push_test.go [GITEA] new doctor check: fix-push-mirrors-without-git-remote (#1853) 2023-12-01 13:56:03 +00:00
nonascii_branches_test.go Remove deprecated packages & staticcheck fixes (#22012) 2022-12-02 17:06:23 -05:00
oauth_test.go [BUG] prevent removing session cookie when redirect_uri query contains :// 2024-03-07 22:41:47 +01:00
org_count_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02:00
org_project_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
org_team_invite_test.go Update team invitation email link (#26550) 2023-08-31 16:26:13 +00:00
org_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
private-testing.key Kd/ci playwright go test (#20123) 2022-09-02 15:18:23 -04:00
privateactivity_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
project_test.go Do some missing checks (#28423) (#28432) 2023-12-12 15:21:33 +01: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 [GITEA] Make confirmation clearer for dangerous actions 2023-11-13 12:33:49 +01: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 Modernize merge button (#28140) (#28786) 2024-01-16 14:40:18 +00:00
pull_review_test.go [BUG] split code conversations in diff tab (#2306) 2024-02-16 14:06:43 +01:00
pull_status_test.go Restore warning commit status (#27504) (#27529) 2023-10-09 11:56:02 +08:00
pull_update_test.go Move createrepository from module to service layer (#26927) 2023-09-06 12:08:51 +00:00
README.md replace drone exec to act_runner exec in test README.md (#24791) 2023-05-18 19:48:47 +00:00
README_ZH.md replace drone exec to act_runner exec in test README.md (#24791) 2023-05-18 19:48:47 +00:00
release_test.go test POST /{username}/{reponame}/{tags,release}/delete 2023-11-26 14:11:03 +01:00
rename_branch_test.go [BUG] Detect protected branch on branch rename 2024-03-26 21:09:53 +01:00
repo_activity_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_branch_test.go tests: More testing in TestDatabaseMissingABranch 2024-01-15 00:15:24 +01:00
repo_commits_search_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_commits_test.go Restore warning commit status (#27504) (#27529) 2023-10-09 11:56:02 +08:00
repo_fork_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_generate_test.go Substitute variables in path names of template repos too (#25294) 2023-06-20 21:14:47 +00:00
repo_migrate_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_search_test.go refactor some functions to support ctx as first parameter (#21878) 2022-12-03 10:48:26 +08:00
repo_tag_test.go Use context parameter in models/git (#22367) 2023-01-09 11:50:54 +08:00
repo_test.go [GITEA] Check for Commit in opengraph 2024-01-05 14:26:20 +01:00
repo_topic_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +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
repofiles_change_test.go Move web/api context related testing function into a separate package (#26859) 2023-09-01 11:26:07 +00:00
setting_test.go [BUG 1.21] prevent error 500 on /user/settings/security when SignedUser has a linked account from a deactivated authentication source (#2626) 2024-03-11 14:10:51 +00:00
signin_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
signout_test.go Use JSON response for "user/logout" (#25522) 2023-06-26 21:36:10 +02:00
signup_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
ssh_key_test.go Redesign Scoped Access Tokens (#24767) 2023-06-04 20:57:16 +02: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 Reserve ".png" suffix for user/org names (#23992) 2023-04-10 16:14:16 -04:00
user_test.go [GITEA] Fix NPE in UsernameSubRoute 2024-01-18 15:31:04 +01:00
version_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
view_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
webfinger_test.go Replace interface{} with any (#25686) 2023-07-04 18:36:08 +00:00
xss_test.go [SECURITY] Test XSS in dismissed review 2024-02-22 15:35:04 +01: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-mysql8
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, mysql8 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