forgejo/tests/integration
Gusted 02db188a50 [SEC] Ensure propagation of API scopes for Conan and Container authentication
- The Conan and Container packages use a different type of
authentication. It first authenticates via the regular way (api tokens
or user:password, handled via `auth.Basic`) and then generates a JWT
token that is used by the package software (such as Docker) to do the
action they wanted to do. This JWT token didn't properly propagate the
API scopes that the token was generated for, and thus could lead to a
'scope escalation' within the Conan and Container packages, read
access to write access.
- Store the API scope in the JWT token, so it can be propagated on
subsequent calls that uses that JWT token.
- Integration test added.
- Resolves #5128

(cherry picked from commit 5a871f6095)
2024-08-28 08:45:05 +00:00
..
fixtures [SECURITY] Test XSS in dismissed review 2024-02-22 15:33:20 +01:00
migration-test enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
schemas
actions_commit_status_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
actions_route_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
actions_trigger_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
admin_config_test.go
admin_user_test.go [MODERATION] User blocking 2024-02-05 15:56:45 +01:00
api_actions_artifact_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_actions_artifact_v4_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_activitypub_person_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_activitypub_repository_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_admin_org_test.go
api_admin_test.go Add result check in TestAPIEditUser (#29674) 2024-05-09 19:26:21 +02: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 v8 (#4573) 2024-07-30 19:41:27 +00:00
api_comment_attachment_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_comment_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +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 enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00: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 Allow admins to fork repos even when creation limits are exhausted (#3277) 2024-04-17 05:52:02 +00:00
api_gitignore_templates_test.go
api_gpg_keys_test.go
api_health_test.go Remove useless t.run 2024-04-06 00:43:22 +02:00
api_helper_for_declarative_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_httpsig_test.go
api_issue_attachment_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_issue_config_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_issue_label_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_issue_milestone_test.go
api_issue_pin_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_issue_reaction_test.go
api_issue_stopwatch_test.go
api_issue_subscription_test.go
api_issue_templates_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_issue_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_issue_tracked_time_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_keys_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_label_templates_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_license_templates_test.go
api_nodeinfo_test.go [FEAT] Adds x-mode-only anchor styles to display images based if the theme is light or dark mode. (#3985) 2024-06-09 10:50:53 +00:00
api_notification_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_oauth2_apps_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_org_avatar_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +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 v8 (#4573) 2024-07-30 19:41:27 +00:00
api_packages_cargo_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_packages_chef_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_packages_composer_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_packages_conan_test.go [SEC] Ensure propagation of API scopes for Conan and Container authentication 2024-08-28 08:45:05 +00:00
api_packages_conda_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_packages_container_test.go [SEC] Ensure propagation of API scopes for Conan and Container authentication 2024-08-28 08:45:05 +00:00
api_packages_cran_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_packages_debian_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_packages_generic_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_packages_goproxy_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_packages_helm_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_packages_maven_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_packages_npm_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_packages_nuget_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_packages_pub_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_packages_pypi_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_packages_rpm_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_packages_rubygems_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_packages_swift_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_packages_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_packages_vagrant_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_private_serv_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_pull_commits_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_pull_review_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_pull_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_push_mirror_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_releases_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_repo_activities_test.go Teach activities.GetFeeds() how to avoid returning duplicates 2024-05-09 18:33:33 +02:00
api_repo_archive_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_repo_avatar_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_repo_branch_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_repo_collaborator_test.go
api_repo_compare_test.go feat(api): implement branch/commit comparison API (#30349) 2024-04-21 11:58:18 +02: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 11:01:47 +02:00
api_repo_file_delete_test.go
api_repo_file_get_test.go test-sha256: PushDeployKeyOnEmptyRepo 2024-05-16 10:54:40 +02:00
api_repo_file_helpers.go
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 v8 (#4573) 2024-07-30 19:41:27 +00:00
api_repo_get_contents_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_repo_git_blobs_test.go
api_repo_git_commits_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_repo_git_hook_test.go
api_repo_git_notes_test.go
api_repo_git_ref_test.go
api_repo_git_tags_test.go Resolve lint for unused parameter and unnecessary type arguments (#30750) 2024-05-05 08:38:16 +01:00
api_repo_git_trees_test.go
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 enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_repo_lfs_migrate_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_repo_lfs_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_repo_raw_test.go
api_repo_secrets_test.go feat(api): enhance Actions Secrets Management API for repository (#30656) 2024-04-28 15:39:01 +02:00
api_repo_tags_test.go Add lint-go-gopls (#30729) 2024-06-09 11:13:39 +02:00
api_repo_teams_test.go
api_repo_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_repo_topic_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_repo_variables_test.go Add API for Variables (#29520) 2024-04-07 10:57:53 +02:00
api_settings_test.go
api_team_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_team_user_test.go
api_token_test.go
api_twofa_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_user_avatar_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +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
api_user_info_test.go
api_user_org_perm_test.go
api_user_orgs_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_user_search_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
api_user_secrets_test.go
api_user_star_test.go Disabling Stars should disable the routes too 2024-02-26 20:50:32 +01:00
api_user_variables_test.go Add API for Variables (#29520) 2024-04-07 10:57:53 +02:00
api_user_watch_test.go
api_wiki_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
archived_labels_display_test.go Add integration test for (non-)archived label properties 2024-04-01 21:38:34 +05:00
attachment_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
auth_ldap_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
auth_token_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
avatar.png
benchmarks_test.go Replace deprecated math/rand functions (#30733) 2024-04-28 15:39:02 +02:00
block_test.go [BUG] Return blocking errors as JSON errors 2024-08-10 05:53:07 +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
cmd_admin_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
cmd_forgejo_actions_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
cmd_forgejo_f3_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
cmd_keys_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
codeowner_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
compare_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
cors_test.go
create_no_session_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
csrf_test.go
db_collation_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +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 v8 (#4573) 2024-07-30 19:41:27 +00:00
download_test.go
dump_restore_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
easymde_test.go Add integration test for EasyMDE button 2024-04-15 22:59:26 +05:00
editor_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
empty_repo_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
eventsource_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
explore_code_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +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 v8 (#4573) 2024-07-30 19:41:27 +00:00
forgejo_git_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
git_clone_wiki_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
git_helper_for_declarative_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
git_push_test.go fix(hook): ignore unknown push options instead of failing 2024-07-02 20:18:33 +00:00
git_smart_http_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
git_test.go fix(agit): run full pr checks on force-push 2024-08-13 18:26:41 +00:00
goget_test.go
gpg_git_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
html_helper.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
incoming_email_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
integration_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
issue_subscribe_test.go Disable issue subscribe button for guest users (#4095) 2024-06-11 05:54:35 +00:00
issue_test.go [CHORE] Fix linting issue in v8 2024-07-31 23:12:14 +02:00
issues_comment_labels_test.go fix(ui): fix conversation template 2024-07-25 20:46:52 +00:00
last_updated_time_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
lfs_getobject_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
lfs_local_endpoint_test.go
lfs_view_test.go Show lock owner instead of repo owner on LFS setting page (#31788) 2024-08-21 10:57:57 +00:00
linguist_test.go [UI] Do not include trailing EOL character when counting lines 2024-08-06 12:24:38 +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 v8 (#4573) 2024-07-30 19:41:27 +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 v8 (#4573) 2024-07-30 19:41:27 +00:00
milestone_test.go [v8.0/forgejo] fix(ui): use right placeholder string in milestones search (#4682) 2024-07-25 08:00:09 +00:00
mirror_pull_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
mirror_push_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
nonascii_branches_test.go
oauth_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
org_count_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
org_nav_test.go [UI] Allow org members to navigate between the org and the dashboard 2024-05-05 23:14:57 +05:00
org_project_test.go Fix data-race during testing (#30999) 2024-05-26 18:28:26 +02:00
org_team_invite_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
org_test.go add label filters in org/{org_name}/issues 2024-04-04 17:57:11 +05:30
private-testing.key
privateactivity_test.go
proctected_branch_test.go [FEAT] Configure if protected branch rule should apply to admins 2024-03-29 00:21:49 +01:00
project_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
pull_compare_test.go
pull_create_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
pull_diff_test.go
pull_merge_test.go [PORT] Fix agit automerge (gitea#31881) 2024-08-21 17:05:34 +02:00
pull_reopen_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
pull_request_task_test.go Do not update PRs based on events that happened before they existed 2024-04-11 11:16:23 +02:00
pull_review_test.go Revert "Prevent allow/reject reviews on merged/closed PRs" 2024-08-15 10:47:38 +01:00
pull_status_test.go Enable more revive linter rules (#30608) 2024-04-28 15:39:00 +02:00
pull_summary_test.go Add test for pull summary 2024-03-22 07:11:52 +01:00
pull_test.go [v8.0/forgejo] fix(ui): use right placeholder string in milestones search (#4682) 2024-07-25 08:00:09 +00:00
pull_update_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +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 Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
README_ZH.md [CHORE] Remove Microsoft SQL Server Support 2024-04-05 23:37:36 +02:00
release_test.go Fix localization of release/tag counters on releases page 2024-05-29 22:46:36 +05:00
remote_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
rename_branch_test.go Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
repo_activity_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
repo_archive_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +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 v8 (#4573) 2024-07-30 19:41:27 +00:00
repo_branch_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
repo_collaborator_test.go ui: fix wrong string used in a search box (#4258) 2024-06-28 16:28:03 +00:00
repo_commits_search_test.go
repo_commits_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
repo_delete_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
repo_flags_test.go [FEAT] API support for repository flags 2024-02-05 16:09:42 +01:00
repo_fork_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
repo_generate_test.go
repo_mergecommit_revert_test.go Run go generate and go vet on all packages (#30529) 2024-04-21 16:28:16 +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 v8 (#4573) 2024-07-30 19:41:27 +00:00
repo_settings_hook_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
repo_settings_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
repo_signed_tag_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
repo_starwatch_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
repo_tag_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
repo_test.go [BUG] Ensure all filters are persistent in issue filters 2024-08-07 05:51:15 +00:00
repo_topic_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
repo_view_test.go [UI] Adjust trailing EOL behavior for empty file 2024-08-20 13:42:33 +00:00
repo_watch_test.go
repo_webhook_test.go webhook: matrix access_token helper text 2024-04-16 08:59:56 +02:00
repo_wiki_test.go feat: wiki search using git-grep 2024-05-20 13:48:50 +00:00
repofiles_change_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
session_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
setting_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
signin_test.go Refactor locale&string&template related code (#29165) 2024-02-16 15:20:52 +01:00
signout_test.go
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 v8 (#4573) 2024-07-30 19:41:27 +00:00
ssh_key_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
timetracking_test.go
user_avatar_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
user_count_test.go Show repo count in blocked users tab (#3601) 2024-05-02 15:51:27 +00:00
user_profile_activity_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
user_profile_follows_test.go Add headers to follower lists 2024-06-19 11:53:59 +05:00
user_profile_test.go [TESTS] Lift out CreateDeclarativeRepo() 2024-02-05 16:54:44 +01:00
user_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
version_test.go Fix #2512 /api/forgejo/v1/version auth check (#2582) 2024-03-19 07:16:19 +00:00
view_test.go Update instance title in tests 2024-06-08 23:33:55 +05:00
webfinger_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
webhook_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
xss_test.go enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +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 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 therefore 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

Running individual tests

Example command to run GPG test:

For SQLite:

make test-sqlite#GPG

For other databases (replace mysql to pgsql):

TEST_MYSQL_HOST=localhost:1433 TEST_MYSQL_DBNAME=test TEST_MYSQL_USERNAME=sa TEST_MYSQL_PASSWORD=MwantsaSecurePassword1 make test-mysql#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