integrations

package
v1.999.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 31, 2020 License: MIT Imports: 17 Imported by: 0

README

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" -p 3306:3306 --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=localhost: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" -p 5432:5432 --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=localhost:5432 TEST_PGSQL_DBNAME=test TEST_PGSQL_USERNAME=postgres TEST_PGSQL_PASSWORD=postgres make test-pgsql

Run mssql integrations 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, PGSQL):

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewTestLogger added in v1.8.0

func NewTestLogger() log.LoggerProvider

NewTestLogger creates a TestLogger as a log.LoggerProvider

func PrintCurrentTest added in v1.8.0

func PrintCurrentTest(t testing.TB, skip ...int) func()

PrintCurrentTest prints the current test to os.Stdout

func Printf added in v1.8.0

func Printf(format string, args ...interface{})

Printf takes a format and args and prints the string to os.Stdout

Types

type HTMLDoc

type HTMLDoc struct {
	// contains filtered or unexported fields
}

HTMLDoc struct

func NewHTMLParser

func NewHTMLParser(t testing.TB, body *bytes.Buffer) *HTMLDoc

NewHTMLParser parse html file

func (*HTMLDoc) AssertElement added in v1.3.0

func (doc *HTMLDoc) AssertElement(t testing.TB, selector string, checkExists bool)

AssertElement check if element by selector exists or does not exist depending on checkExists

func (*HTMLDoc) GetCSRF

func (doc *HTMLDoc) GetCSRF() string

GetCSRF for get CSRC token value from input

func (*HTMLDoc) GetInputValueByID

func (doc *HTMLDoc) GetInputValueByID(id string) string

GetInputValueByID for get input value by id

func (*HTMLDoc) GetInputValueByName

func (doc *HTMLDoc) GetInputValueByName(name string) string

GetInputValueByName for get input value by name

type TestLogger added in v1.8.0

type TestLogger struct {
	log.WriterLogger
}

TestLogger is a logger which will write to the testing log

func (*TestLogger) Flush added in v1.8.0

func (log *TestLogger) Flush()

Flush when log should be flushed

func (*TestLogger) GetName added in v1.8.0

func (log *TestLogger) GetName() string

GetName returns the default name for this implementation

func (*TestLogger) Init added in v1.8.0

func (log *TestLogger) Init(config string) error

Init inits connection writer with json config. json config only need key "level".

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL