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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# Copyright (C) 2016 Canonical Ltd.
ENV = $(CURDIR)/env
PIP = pip3
PYTHON = 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):
pyvenv --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)
vm-setup: ols-vms.conf dependencies.txt
if [ `ols-vms status ${VM}` = 'RUNNING' ] ; then ols-vms stop ${VM} ; fi
ols-vms setup ${VM}
touch vm-setup
vm-built: vm-setup
if [ `ols-vms status ${VM}` = 'UNKNOWN' ] ; then $(MAKE) vm-setup ; fi
vm-started: vm-built
if [ `ols-vms status ${VM}` = 'STOPPED' ] ; then ols-vms start ${VM} ; fi
vm-up-to-date: vm-started
${VSSH} 'sudo apt-get update && sudo apt-get upgrade -y'
branch-up-to-date:
${VSSH} 'cd work && bzr pull --overwrite'
store-versions: vm-started
${VSSH} 'cd work && ./get_store_versions.py'
test: vm-up-to-date branch-up-to-date store-versions
@${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: bootstrap
$(PYTHON) -u -m unittest $(TEST_TARGET)
|