Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
TEST_MONGODB_ADMIN_USERNAME=admin
TEST_MONGODB_ADMIN_PASSWORD=admin123456
TEST_MONGODB_USERNAME=test
TEST_MONGODB_PASSWORD=123456
TEST_MONGODB_RS=rs
TEST_MONGODB_CONFIGSVR_RS=csReplSet
TEST_MONGODB_PRIMARY_PORT=17001
TEST_MONGODB_SECONDARY1_PORT=17002
TEST_MONGODB_SECONDARY2_PORT=17003
TEST_MONGODB_CONFIGSVR1_PORT=17004
TEST_MONGODB_MONGOS_PORT=17005
GOCACHE=off
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
.env
test-out
mongodb-backup-admin
mongodb-backup-agent
Expand Down
59 changes: 21 additions & 38 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,7 @@ $(GOPATH)/bin/dep:
vendor: $(GOPATH)/bin/dep Gopkg.lock Gopkg.toml
$(GOPATH)/bin/dep ensure

test-race: vendor
ifeq ($(GO_TEST_CODECOV), true)
GOCACHE=$(GOCACHE) go test -v -race -coverprofile=$(GO_TEST_COVER_PROFILE) -covermode=atomic $(GO_TEST_EXTRA) $(GO_TEST_PATH)
else
GOCACHE=$(GOCACHE) go test -v -race -covermode=atomic $(GO_TEST_EXTRA) $(GO_TEST_PATH)
endif

test: vendor
define TEST_ENV
AWS_ACCESS_KEY_ID=$(AWS_ACCESS_KEY_ID) \
AWS_SECRET_ACCESS_KEY=$(AWS_SECRET_ACCESS_KEY) \
TEST_MONGODB_ADMIN_USERNAME=$(TEST_MONGODB_ADMIN_USERNAME) \
Expand All @@ -51,47 +44,37 @@ test: vendor
TEST_MONGODB_SECONDARY2_PORT=$(TEST_MONGODB_SECONDARY2_PORT) \
TEST_MONGODB_CONFIGSVR1_PORT=$(TEST_MONGODB_CONFIGSVR1_PORT) \
TEST_MONGODB_MONGOS_PORT=$(TEST_MONGODB_MONGOS_PORT) \
GOCACHE=$(GOCACHE) \
GOCACHE=off
endef

.env:
@echo -e $(TEST_ENV) | tr ' ' '\n' >.env

test-race: .env vendor
ifeq ($(GO_TEST_CODECOV), true)
$(shell cat .env) \
go test -v -race -coverprofile=$(GO_TEST_COVER_PROFILE) -covermode=atomic $(GO_TEST_EXTRA) $(GO_TEST_PATH)
else
$(shell cat .env) \
go test -v -race -covermode=atomic $(GO_TEST_EXTRA) $(GO_TEST_PATH)
endif

test: .env vendor
$(shell cat .env) \
go test -v -covermode=atomic $(GO_TEST_EXTRA) $(GO_TEST_PATH)

test-cluster:
TEST_PSMDB_VERSION=$(TEST_PSMDB_VERSION) \
TEST_MONGODB_ADMIN_USERNAME=$(TEST_MONGODB_ADMIN_USERNAME) \
TEST_MONGODB_ADMIN_PASSWORD=$(TEST_MONGODB_ADMIN_PASSWORD) \
TEST_MONGODB_USERNAME=$(TEST_MONGODB_USERNAME) \
TEST_MONGODB_PASSWORD=$(TEST_MONGODB_PASSWORD) \
TEST_MONGODB_RS=$(TEST_MONGODB_RS) \
TEST_MONGODB_CONFIGSVR_RS=$(TEST_MONGODB_CONFIGSVR_RS) \
TEST_MONGODB_PRIMARY_PORT=$(TEST_MONGODB_PRIMARY_PORT) \
TEST_MONGODB_SECONDARY1_PORT=$(TEST_MONGODB_SECONDARY1_PORT) \
TEST_MONGODB_SECONDARY2_PORT=$(TEST_MONGODB_SECONDARY2_PORT) \
TEST_MONGODB_CONFIGSVR1_PORT=$(TEST_MONGODB_CONFIGSVR1_PORT) \
TEST_MONGODB_MONGOS_PORT=$(TEST_MONGODB_MONGOS_PORT) \
test-cluster: .env
docker-compose up \
--detach \
--force-recreate \
--renew-anon-volumes \
init
scripts/init-cluster-wait.sh

test-cluster-clean:
test-cluster-clean: .env
docker-compose down -v

test-full: test-cluster-clean test-cluster
AWS_ACCESS_KEY_ID=$(AWS_ACCESS_KEY_ID) \
AWS_SECRET_ACCESS_KEY=$(AWS_SECRET_ACCESS_KEY) \
GOLANG_DOCKERHUB_TAG=$(GOLANG_DOCKERHUB_TAG) \
TEST_MONGODB_ADMIN_USERNAME=$(TEST_MONGODB_ADMIN_USERNAME) \
TEST_MONGODB_ADMIN_PASSWORD=$(TEST_MONGODB_ADMIN_PASSWORD) \
TEST_MONGODB_USERNAME=$(TEST_MONGODB_USERNAME) \
TEST_MONGODB_PASSWORD=$(TEST_MONGODB_PASSWORD) \
TEST_MONGODB_RS=$(TEST_MONGODB_RS) \
TEST_MONGODB_CONFIGSVR_RS=$(TEST_MONGODB_CONFIGSVR_RS) \
TEST_MONGODB_PRIMARY_PORT=$(TEST_MONGODB_PRIMARY_PORT) \
TEST_MONGODB_SECONDARY1_PORT=$(TEST_MONGODB_SECONDARY1_PORT) \
TEST_MONGODB_SECONDARY2_PORT=$(TEST_MONGODB_SECONDARY2_PORT) \
TEST_MONGODB_CONFIGSVR1_PORT=$(TEST_MONGODB_CONFIGSVR1_PORT) \
TEST_MONGODB_MONGOS_PORT=$(TEST_MONGODB_MONGOS_PORT) \
test-full: .env test-cluster-clean test-cluster
docker-compose up \
--build \
--no-deps \
Expand Down
28 changes: 4 additions & 24 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,18 +57,8 @@ services:
- ./scripts/mongod.key:/mongod.key:ro
- ./scripts/ssl/rootCA.crt:/rootCA.crt:ro
- ./scripts/ssl/client.pem:/client.pem:ro
environment:
- TEST_MONGODB_ADMIN_USERNAME=${TEST_MONGODB_ADMIN_USERNAME:-admin}
- TEST_MONGODB_ADMIN_PASSWORD=${TEST_MONGODB_ADMIN_PASSWORD:-admin123456}
- TEST_MONGODB_USERNAME=${TEST_MONGODB_USERNAME:-test}
- TEST_MONGODB_PASSWORD=${TEST_MONGODB_PASSWORD:-123456}
- TEST_MONGODB_RS=${TEST_MONGODB_RS:-rs}
- TEST_MONGODB_PRIMARY_PORT=${TEST_MONGODB_PRIMARY_PORT:-17001}
- TEST_MONGODB_SECONDARY1_PORT=${TEST_MONGODB_SECONDARY1_PORT:-17002}
- TEST_MONGODB_SECONDARY2_PORT=${TEST_MONGODB_SECONDARY2_PORT:-17003}
- TEST_MONGODB_CONFIGSVR_RS=${TEST_MONGODB_CONFIGSVR_RS:-csReplSet}
- TEST_MONGODB_CONFIGSVR1_PORT=${TEST_MONGODB_CONFIGSVR1_PORT:-17004}
- TEST_MONGODB_MONGOS_PORT=${TEST_MONGODB_MONGOS_PORT:-17005}
env_file:
- .env
depends_on:
- configsvr
- mongos
Expand All @@ -82,18 +72,8 @@ services:
args:
- GOLANG_DOCKERHUB_TAG=${GOLANG_DOCKERHUB_TAG:-1.10-stretch}
network_mode: host
environment:
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-""}
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-""}
- TEST_MONGODB_USERNAME=${TEST_MONGODB_USERNAME:-test}
- TEST_MONGODB_PASSWORD=${TEST_MONGODB_PASSWORD:-123456}
- TEST_MONGODB_RS=${TEST_MONGODB_RS:-rs}
- TEST_MONGODB_PRIMARY_PORT=${TEST_MONGODB_PRIMARY_PORT:-17001}
- TEST_MONGODB_SECONDARY1_PORT=${TEST_MONGODB_SECONDARY1_PORT:-17002}
- TEST_MONGODB_SECONDARY2_PORT=${TEST_MONGODB_SECONDARY2_PORT:-17003}
- TEST_MONGODB_CONFIGSVR_RS=${TEST_MONGODB_CONFIGSVR_RS:-csReplSet}
- TEST_MONGODB_CONFIGSVR1_PORT=${TEST_MONGODB_CONFIGSVR1_PORT:-17004}
- TEST_MONGODB_MONGOS_PORT=${TEST_MONGODB_MONGOS_PORT:-17005}
env_file:
- .env
volumes:
- ./test-out:/tmp/out
- ./scripts/ssl/rootCA.crt:/rootCA.crt:ro
Expand Down