blob: 50f2cc522dbca00bd6b193e274139cfd0480370d [file] [log] [blame]
MYIP:=$(shell hostname -i)
define TRUNCATE_FN
CREATE OR REPLACE FUNCTION truncate_tables(username IN VARCHAR) RETURNS void AS $$$$
DECLARE
statements CURSOR FOR
SELECT tablename FROM pg_tables
WHERE tableowner = username AND schemaname = 'public';
BEGIN
FOR stmt IN statements LOOP
EXECUTE 'TRUNCATE TABLE ' || quote_ident(stmt.tablename) || ' CASCADE;';
END LOOP;
END;
$$$$ LANGUAGE plpgsql;
endef
export TRUNCATE_FN
prepare: xos
# INSTALL DEPS
# RUN ONCE BEFORE RUNNING TESTS
sudo docker exec -i teststandalone_xos_1 bash -c "cd /opt/xos/tests/api; npm install --production"
sudo docker exec teststandalone_xos_1 pip install dredd_hooks
xos:
sudo make -f ../common/Makefile.prereqs
sudo docker-compose up -d
bash ../common/wait_for_xos.sh
# sudo docker-compose run xos python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/frontend/sample.yaml
# sudo docker-compose run xos python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/common/fixtures.yaml
restore-initial-db-status:
sudo docker exec teststandalone_xos_db_1 psql -U postgres -d xos -c "$$TRUNCATE_FN"
sudo docker exec teststandalone_xos_db_1 psql -U postgres -d xos -c "SELECT truncate_tables('postgres');"
sudo docker exec teststandalone_xos_db_1 psql -U postgres -d xos -c "SELECT setval('core_tenant_id_seq', 1)"
sudo docker-compose run xos python /opt/xos/manage.py --noobserver --nomodelpolicy loaddata /opt/xos/core/fixtures/core_initial_data.json
sudo docker-compose run xos python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/frontend/sample.yaml
sudo docker-compose run xos python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/common/fixtures.yaml
test: restore-initial-db-status
# RUN TESTS
sudo docker exec -i teststandalone_xos_1 bash -c "cd /opt/xos/tests/api; npm test"
test-tosca:
sudo docker-compose run xos bash -c "cd /opt/xos/tosca/tests; python ./alltests.py"
test-gui:
cd ../../../views/ngXosViews/ceilometerDashboard; npm install
cd ../../../views/ngXosViews/ceilometerDashboard; npm run test:ci
base-container:
cd ../../../containers/xos; make devel
containers: base-container
cd ../../../containers/xos; make test
stop:
sudo docker-compose stop
showlogs:
sudo docker-compose logs
rm: stop
sudo docker-compose rm -f
docker-clean:
sudo docker rm -f $(shell sudo docker ps -aq)
enter-xos:
sudo docker exec -ti teststandalone_xos_1 bash
enter-xos-db:
sudo docker exec -ti teststandalone_xos_db_1 bash