~ubuntuone-pqm-team/ols-store-tests/store-acceptance-tests

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Copyright (C) 2016 Canonical Ltd.

ENV = $(CURDIR)/env
PIP = $(ENV)/bin/pip3
PYTHON = $(ENV)/bin/python3
VM = store-acceptance-tests
VSSH = ols-vms shell ${VM}
TEST_TARGET ?= discover tests/api
PROJECT_NAME = ols-store-tests
WHEELS_DIR = branches/wheels
WHEELS_BRANCH_URL ?= lp:~ubuntuone-pqm-team/$(PROJECT_NAME)/dependencies

bootstrap: $(ENV) wheels install-wheels

$(ENV):
	virtualenv -p python3 --clear --system-site-packages $(ENV)

wheels:
	[ -d $(WHEELS_DIR) ] && (cd $(WHEELS_DIR) && bzr pull) || (bzr branch $(WHEELS_BRANCH_URL) $(WHEELS_DIR))

install-wheels: ARGS=-r requirements.txt
install-wheels: $(ENV)
	$(PIP) install --find-links=$(WHEELS_DIR) --no-index $(ARGS)

test: bootstrap
	@${VSSH} 'cd work && \
		TEST_USER_EMAIL=$(TEST_USER_EMAIL) \
		TEST_USER_PASSWORD=$(TEST_USER_PASSWORD) \
		TEST_USER_NAMESPACE=$(TEST_USER_NAMESPACE) \
		STRIPE_PUBLISHABLE_KEY=$(STRIPE_PUBLISHABLE_KEY) \
		make api-tests'

api-tests:
	$(PYTHON) -u -m unittest $(TEST_TARGET)