forgejo/integrations
zeripath 8917d66571 Add migration test (#5773)
* Add migration test

This commit adds a simple migration test for v1.5.3, v1.6.4 and v1.7.0-rc3

Signed-off-by: Andrew Thornton <art27@cantab.net>

* Automigrate based on available dbs

* remove old ini file

* Standardise the dialect names
2019-01-28 11:18:52 -05:00
..
gitea-repositories-meta
migration-test Add migration test (#5773) 2019-01-28 11:18:52 -05:00
api_admin_test.go
api_branch_test.go
api_comment_test.go
api_fork_test.go
api_gpg_keys_test.go
api_issue_label_test.go
api_issue_test.go
api_keys_test.go
api_org_test.go
api_pull_test.go
api_releases_test.go
api_repo_git_ref_test.go Implement git refs API for listing references (branches, tags and other) (#5354) 2018-11-27 16:52:20 -05:00
api_repo_lfs_locks_test.go
api_repo_raw_test.go
api_repo_test.go Restrict permission check on repositories and fix some problems (#5314) 2018-11-28 19:26:14 +08:00
api_team_test.go
api_token_test.go
api_user_heatmap_test.go
api_user_orgs_test.go Ensure valid git author names passed in signatures (#5774) 2019-01-24 16:12:17 +02:00
auth_ldap_test.go
benchmarks_test.go Fix type mismatch of format string (#5574) 2018-12-21 11:13:31 -05:00
branches_test.go
change_default_branch_test.go
delete_user_test.go
download_test.go
editor_test.go
empty_repo_test.go Refactor repo.isBare to repo.isEmpty #5629 (#5714) 2019-01-17 19:01:04 -05:00
explore_repos_test.go
git_test.go
html_helper.go
integration_test.go fix lfs version check warning log when using ssh protocol (#5501) 2018-12-19 09:17:43 +08:00
internal_test.go
issue_test.go
lfs_getobject_test.go Pooled and buffered gzip implementation (#5722) 2019-01-23 10:56:51 +02:00
links_test.go
mssql.ini.tmpl Added test environment for mssql (#4282) 2018-12-12 09:01:41 +08:00
mysql.ini.tmpl
nonascii_branches_test.go
pgsql.ini.tmpl
pull_compare_test.go
pull_create_test.go
pull_merge_test.go Add rebase with merge commit merge style (#3844) (#4052) 2018-12-27 12:27:08 +02:00
README.md
README_ZH.md
release_test.go
repo_activity_test.go
repo_branch_test.go
repo_commits_test.go
repo_fork_test.go
repo_migrate_test.go
repo_search_test.go
repo_test.go Revert #3711 overwrite of only show "No Description" to repo admins #2167 (#5836) 2019-01-27 21:13:15 +00:00
setting_test.go
signin_test.go
signout_test.go
signup_test.go
sqlite.ini Pooled and buffered gzip implementation (#5722) 2019-01-23 10:56:51 +02:00
timetracking_test.go
user_test.go Ensure valid git author names passed in signatures (#5774) 2019-01-24 16:12:17 +02:00
version_test.go
xss_test.go

Integrations tests

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

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

Make sure to perform a clean build before running tests:

make clean build

Run all tests via local drone

drone exec --local --build-event "pull_request"

Run sqlite integrations tests

Start tests

make test-sqlite

Run mysql integrations tests

Setup a mysql database inside docker

docker run -e "MYSQL_DATABASE=test" -e "MYSQL_ALLOW_EMPTY_PASSWORD=yes" --rm --name mysql mysql:5.7 #(just ctrl-c to stop db and clean the container) 

Start tests based on the database container

TEST_MYSQL_HOST="$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql):3306" TEST_MYSQL_DBNAME=test TEST_MYSQL_USERNAME=root TEST_MYSQL_PASSWORD='' make test-mysql

Run pgsql integrations tests

Setup a pgsql database inside docker

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

Start tests based on the database container

TEST_PGSQL_HOST=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' pgsql) TEST_PGSQL_DBNAME=test TEST_PGSQL_USERNAME=postgres TEST_PGSQL_PASSWORD=postgres make test-pgsql

Running individual tests

Example command to run GPG test with sqlite backend:

go test -c code.gitea.io/gitea/integrations \
  -o integrations.sqlite.test -tags 'sqlite' &&
  GITEA_ROOT="$GOPATH/src/code.gitea.io/gitea" \
  GITEA_CONF=integrations/sqlite.ini ./integrations.sqlite.test \
  -test.v -test.run GPG