Update docs and scripts

This commit is contained in:
Daniel Egger 2022-05-27 11:01:08 +02:00
parent 5081ddf107
commit a431f35743
8 changed files with 38 additions and 67 deletions

View File

@ -31,7 +31,13 @@ Especially set correct values for `POSTGRES_*` and `DATABASE_URL`
### Server part
The "prepare_server.sh" script will create the database according to `POSTGRE_*` environment variables.
Install python dependencies:
```bash
pip install -r server/requirements/requirements-dev.txt
```
The "prepare_server.sh" script will create the database according to `POSTGRES_*` environment variables.
It will also setup the tables for django and run the django development server.
```bash
@ -45,6 +51,8 @@ It will also setup the tables for django and run the django development server.
### Client part
```bash
cd client
npm install
# run dev server
@ -56,6 +64,7 @@ npm run dev
Cypress and TailwindCSS ist installed for client and server, so there is this package.json on the project root directory
```bash
# in project root directory
npm install
```
@ -82,8 +91,6 @@ npm install
#### Install the tailwind css Plugin from Jetbrains
## Wagtail API intro
get all pages:

View File

@ -2,7 +2,7 @@
if [ -z "$CI" ];
then
# kill all subprocess on exit
# kill all subprocess on exit so that Bitbucket Pipelines process will not hang
trap "exit" INT TERM ERR
trap "kill 0" EXIT
else echo "CI is set to $CI";
@ -35,13 +35,17 @@ done
echo "SKIP_SETUP = ${SKIP_SETUP}"
POSTGRES_DB=${POSTGRES_DB:-vbv_lernwelt}
POSTGRES_HOST=${POSTGRES_HOST:-localhost}
POSTGRES_PORT=${POSTGRES_PORT:-5432}
POSTGRES_USER=${POSTGRES_USER:-postgres}
DJANGO_PORT=${DJANGO_PORT:-8000}
mypsql() {
psql -h "${POSTGRES_HOST:-localhost}" -p "${POSTGRES_PORT:-5432}" -U "${POSTGRES_USER:-postgres}" "$@"
psql -h "${POSTGRES_HOST}" -p "${POSTGRES_PORT}" -U "${POSTGRES_USER}" "$@"
}
if [ "$SKIP_SETUP" = false ]; then
# TODO: in heroku we must do a `pg:resets` to reset the db
echo "Drop all connections to $POSTGRES_DB"
mypsql -c "SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = '$POSTGRES_DB' AND pid <> pg_backend_pid();" > /dev/null 2>&1
echo "Drop database: $POSTGRES_DB"
@ -58,8 +62,9 @@ if [ "$SKIP_SETUP" = false ]; then
# make django translations
(cd server && python3 manage.py compilemessages --settings="$DJANGO_SETTINGS_MODULE")
else
echo "else"
# python3 src/manage.py recreate_customer_data_for_integration_tests --settings="$DJANGO_SETTINGS_MODULE"
# TODO: can we reset important data without resetting the database?
echo "Skip database setup"
# python3 src/manage.py cypress_reset --settings="$DJANGO_SETTINGS_MODULE"
fi
if [ "$START_BACKGROUND" = true ]; then

View File

@ -1,6 +1,6 @@
export POSTGRES_DB=vbv_lernwelt_cypress
export DJANGO_PORT=8001
export DJANGO_SETTINGS_MODULE=config.settings.test_cypress
export IT_APP_ENVIRONMENT=development
export DJANGO_SETTINGS_MODULE=config.settings.test_cypress
export DJANGO_PORT=8001
export POSTGRES_DB=vbv_lernwelt_cypress
./prepare_server.sh "$@"

View File

@ -473,11 +473,14 @@ SPECTACULAR_SETTINGS = {
# Your stuff...
# ------------------------------------------------------------------------------
if DEBUG:
SECRET_KEY = env(
"IT_DJANGO_SECRET_KEY",
default="J9FiYN31FuY7lHrmx9Mpai3GGpTVCxakEclOfCLretDe7bTf2DtTsgazJ0aIMtbq",
)
else:
SECRET_KEY = env("IT_DJANGO_SECRET_KEY")
SECRET_KEY = env(
"IT_DJANGO_SECRET_KEY",
default="J9FiYN31FuY7lHrmx9Mpai3GGpTVCxakEclOfCLretDe7bTf2DtTsgazJ0aIMtbq",
)
# https://docs.djangoproject.com/en/dev/ref/settings/#allowed-hosts
ALLOWED_HOSTS = env.list(
"IT_DJANGO_ALLOWED_HOSTS", default=["localhost", "0.0.0.0", "127.0.0.1"]

View File

@ -1,27 +1,17 @@
# pylint: disable=unused-wildcard-import,wildcard-import,wrong-import-position
import getpass
import os
os.environ['IT_APP_ENVIRONMENT'] = 'development'
from .base import * # noqa
from .base import env
# GENERAL
# ------------------------------------------------------------------------------
# https://docs.djangoproject.com/en/dev/ref/settings/#secret-key
SECRET_KEY = env(
"IT_DJANGO_SECRET_KEY",
default="1NpUCSvAKLpDZL9e3tqDaUe8Kk2xAuF1tXosFjBanc4lFCgNcfBp02MD3UjB72ZS",
)
# https://docs.djangoproject.com/en/dev/ref/settings/#test-runner
TEST_RUNNER = "django.test.runner.DiscoverRunner"
# PASSWORDS
# ------------------------------------------------------------------------------
# https://docs.djangoproject.com/en/dev/ref/settings/#password-hashers
PASSWORD_HASHERS = ["django.contrib.auth.hashers.MD5PasswordHasher"]
# EMAIL
# ------------------------------------------------------------------------------
# https://docs.djangoproject.com/en/dev/ref/settings/#email-backend
EMAIL_BACKEND = "django.core.mail.backends.locmem.EmailBackend"
@ -35,18 +25,3 @@ class DisableMigrations(dict):
MIGRATION_MODULES = DisableMigrations()
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql_psycopg2",
"NAME": "vbv_lernwelt_test",
"USER": os.environ.get("PG_USER", getpass.getuser()),
"PASSWORD": os.environ.get("PG_PASSWORD"),
"HOST": "localhost",
"PORT": os.environ.get("PG_PORT", ""),
}
}
# Your stuff...
# ------------------------------------------------------------------------------

View File

@ -1,17 +1,11 @@
# pylint: disable=unused-wildcard-import,wildcard-import,wrong-import-position
import getpass
import os
from .base import * # noqa
from .base import env
# GENERAL
# ------------------------------------------------------------------------------
# https://docs.djangoproject.com/en/dev/ref/settings/#secret-key
SECRET_KEY = env(
"IT_DJANGO_SECRET_KEY",
default="1LhwZ0DvP4cGBgbBdCfaBQV7eiaOc4jWKdzO9WEXLFT7AaqBN6jqd0uyaZeAZ19K",
)
DATABASES['default']['NAME'] = 'vbv_lernwelt_cypress'
# EMAIL
# ------------------------------------------------------------------------------
@ -19,19 +13,6 @@ SECRET_KEY = env(
EMAIL_BACKEND = "django.core.mail.backends.locmem.EmailBackend"
CYPRESS_TEST = True
DEBUG = True
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql_psycopg2",
"NAME": "vbv_lernwelt_cypress",
"USER": os.environ.get("PG_USER", getpass.getuser()),
"PASSWORD": os.environ.get("PG_PASSWORD"),
"HOST": "localhost",
"PORT": os.environ.get("PG_PORT", ""),
}
}
# Your stuff...
# ------------------------------------------------------------------------------

View File

@ -1,7 +1,6 @@
# pylint: disable=import-outside-toplevel
import djclick as click
from django.contrib.auth import get_user_model
from vbv_lernwelt.learnpath.tests.create_default_learning_path import create_default_learning_path

View File

@ -2,9 +2,9 @@ import wagtail_factories
from wagtail.core.models import Site
from vbv_lernwelt.learnpath.models import LearningPath, Topic, Circle, LearningSequence, LearningUnit
from vbv_lernwelt.learnpath.tests.create_default_competences import create_default_competences
from vbv_lernwelt.learnpath.tests.learningpath_factories import LearningPathFactory, TopicFactory, CircleFactory, \
LearningSequenceFactory, LearningUnitFactory, VideoBlockFactory, WebBasedTrainingBlockFactory, LearningPackageFactory
LearningSequenceFactory, LearningUnitFactory, VideoBlockFactory, WebBasedTrainingBlockFactory, \
LearningPackageFactory
def create_default_learning_path():
@ -22,9 +22,10 @@ def create_default_learning_path():
tp = TopicFactory(title="Basis", is_visible=False, learning_path=lp)
circle_1 = CircleFactory(title="Basis", parent=lp, topic=tp, description="""In diesem Circle erklären wir dir, wie der Lehrgang
Versicherungsvermittler / in " aufgebaut ist. Zudem vermitteln wir dir die wichtigsten Grundlagen,
damit erfolgreich mit deinem Lernpfad starten kannst.""")
circle_1 = CircleFactory(title="Basis", parent=lp, topic=tp, description="""
In diesem Circle erklären wir dir, wie der Lehrgang
Versicherungsvermittler / in " aufgebaut ist. Zudem vermitteln wir dir die wichtigsten Grundlagen,
damit erfolgreich mit deinem Lernpfad starten kannst.""")
ls_1 = LearningSequenceFactory(title='Einleitung', circle=circle_1)