diff --git a/README.md b/README.md index 40e538f..c50ab76 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ docker-compose pull ### Install python dependencies docker-compose run --rm --no-deps web pip install --upgrade pip -docker-compose run --rm --no-deps web pip3 install --no-cache-dir -r requirements.txt +docker-compose run --rm --no-deps web pip3 install --no-cache-dir -r requirements_dev.txt ### Install nodejs dependencies docker-compose run --rm --no-deps api npm install --prefer-online diff --git a/app/tests/locust.py b/app/tests/locust.py new file mode 100755 index 0000000..11f02ab --- /dev/null +++ b/app/tests/locust.py @@ -0,0 +1,17 @@ +from locust import HttpUser, task, between + + +class WebsiteUser(HttpUser): + # wait_time can be overridden for individual TaskSets + wait_time = between(10, 300) + + # Host for locust interface: https://metrics-dev.rciam.grnet.gr + @task + def metrics_egi_devel_tenenv(self): + headers = { + 'accept': 'application/json', + 'x-tenant': 'egi', + 'x-environment': 'devel' + } + + self.client.get("/api/v1/tenenv/egi/devel", headers=headers) diff --git a/docker-compose.yml b/docker-compose.yml index a67e721..fdd546c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -50,6 +50,17 @@ services: # - ./javascript/node_modules tty: true + locust: + image: metricsrciam:latest + container_name: metrics.rciam.locust + command: locust -f app/tests/locust.py + ports: + - "8089:8089" + - "3100:3100" + volumes: + - .:/app + tty: true + volumes: pgdata: diff --git a/requirements_dev.txt b/requirements_dev.txt new file mode 100644 index 0000000..c0e6c03 --- /dev/null +++ b/requirements_dev.txt @@ -0,0 +1,28 @@ +alembic==1.10.2 +asgiref==3.5.2 +asyncpg==0.28.0 +click==8.1.3 +fastapi==0.100.0 +geoip2 +h11==0.13.0 +importlib-resources==5.7.1 +Mako==1.2.0 +MarkupSafe==2.1.1 +psycopg2-binary==2.9.7 +pydantic==1.10.7 +PyGreSQL==5.2.5 +SQLAlchemy==1.4.41 +sqlalchemy2-stubs==0.0.2a32 +sqlmodel==0.0.8 +typer==0.4.1 +typing_extensions==4.5.0 +uvicorn==0.21.1 +zipp==3.8.0 +cachetools==5.3.0 +Authlib==1.2.0 +itsdangerous==2.1.2 +httpx==0.23.3 +pyjwt==2.7.0 +geoip2==4.7.0 +gunicorn==21.2.0 +locust==2.17.0 \ No newline at end of file