diff --git a/.drone.yml b/.drone.yml index 94f8567..6cb9997 100644 --- a/.drone.yml +++ b/.drone.yml @@ -21,6 +21,7 @@ steps: - echo "INTERNAL_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE1NTg4MzY4ODB9.LoKQyK5TN_0kMJFVHWUW0uDAyoGjDP6Mkup4ps2VJN4" >> /tmp/conf/app.ini - echo "INSTALL_LOCK = true" >> /tmp/conf/app.ini - echo "SECRET_KEY = 2crAW4UANgvLipDS6U5obRcFosjSJHQANll6MNfX7P0G3se3fKcCwwK3szPyGcbo" >> /tmp/conf/app.ini + - echo "PASSWORD_COMPLEXITY = off" >> /tmp/conf/app.ini - echo "[database]" >> /tmp/conf/app.ini - echo "DB_TYPE = sqlite3" >> /tmp/conf/app.ini - echo "[repository]" >> /tmp/conf/app.ini diff --git a/.gitignore b/.gitignore index 42ca3ea..81a2c4d 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,6 @@ coverage.out # JetBrains .idea + +#integrations +test diff --git a/Makefile b/Makefile index ccc89ac..51876aa 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,28 @@ +WORK_DIR := $(shell pwd) + +export GITEA_SDK_TEST_URL ?= http://localhost:3000 +export GITEA_SDK_TEST_USERNAME ?= test01 +export GITEA_SDK_TEST_PASSWORD ?= test01 + .PHONY: all all: clean test build +.PHONY: help +help: + @echo "Make Routines:" + @echo " - \"\" run \"make clean test build\"" + @echo " - build build sdk" + @echo " - clean clean" + @echo " - fmt format the code" + @echo " - lint run golint" + @echo " - vet examines Go source code and reports" + @echo " - test run unit tests (need a running gitea)" + @echo " - test-instance start a gitea instance for test" + + .PHONY: clean clean: + rm -r -f test go clean -i ./... .PHONY: fmt @@ -22,7 +42,28 @@ lint: .PHONY: test test: - cd gitea && go test -cover -coverprofile coverage.out + @if [ -z "$(shell curl --noproxy "*" "${GITEA_SDK_TEST_URL}/api/v1/version" 2> /dev/null)" ]; then \echo "No test-instance detected!"; exit 1; else \ + cd gitea && go test -cover -coverprofile coverage.out; \ + fi + +.PHONY: test-instance +test-instance: + rm -r ${WORK_DIR}/test 2> /dev/null; \ + mkdir -p ${WORK_DIR}/test/conf/ ${WORK_DIR}/test/data/ + wget "https://dl.gitea.io/gitea/master/gitea-master-linux-amd64" -O ${WORK_DIR}/test/gitea-master; \ + chmod +x ${WORK_DIR}/test/gitea-master; \ + echo "[security]" > ${WORK_DIR}/test/conf/app.ini; \ + echo "INTERNAL_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE1NTg4MzY4ODB9.LoKQyK5TN_0kMJFVHWUW0uDAyoGjDP6Mkup4ps2VJN4" >> ${WORK_DIR}/test/conf/app.ini; \ + echo "INSTALL_LOCK = true" >> ${WORK_DIR}/test/conf/app.ini; \ + echo "SECRET_KEY = 2crAW4UANgvLipDS6U5obRcFosjSJHQANll6MNfX7P0G3se3fKcCwwK3szPyGcbo" >> ${WORK_DIR}/test/conf/app.ini; \ + echo "PASSWORD_COMPLEXITY = off" >> ${WORK_DIR}/test/conf/app.ini; \ + echo "[database]" >> ${WORK_DIR}/test/conf/app.ini; \ + echo "DB_TYPE = sqlite3" >> ${WORK_DIR}/test/conf/app.ini; \ + echo "[repository]" >> ${WORK_DIR}/test/conf/app.ini; \ + echo "ROOT = ${WORK_DIR}/test/data/" >> ${WORK_DIR}/test/conf/app.ini; \ + ${WORK_DIR}/test/gitea-master migrate -c ${WORK_DIR}/test/conf/app.ini; \ + ${WORK_DIR}/test/gitea-master admin create-user --username=${GITEA_SDK_TEST_USERNAME} --password=${GITEA_SDK_TEST_PASSWORD} --email=test01@gitea.io --admin=true --must-change-password=false --access-token -c ${WORK_DIR}/test/conf/app.ini; \ + ${WORK_DIR}/test/gitea-master web -c ${WORK_DIR}/test/conf/app.ini .PHONY: bench bench: diff --git a/gitea/issue_test.go b/gitea/issue_test.go index 72607f7..13129ed 100644 --- a/gitea/issue_test.go +++ b/gitea/issue_test.go @@ -91,7 +91,7 @@ func listIssues(t *testing.T, c *Client) { issues, err = c.ListIssues(ListIssueOption{ Labels: []string{"Label2"}, KeyWord: "Done", - State: "", + State: "all", }) assert.NoError(t, err) assert.Len(t, issues, 1)