browsertrix/backend/test/test_login.py
Ilya Kreymer 82ffc0dfbc
Local Deployment Work: Support running locally + test cluster on CI (#396)
* k8s local deployment work:
- make it easier to deploy w/o ingress by setting 'local_service_port' (suggested port 30870)
- if using local minio, ensure file endpoints set to /data/ and /data/ proxies correctly to local bucket
- if not using minio, ensure file endpoints point to correct access / endpoint url.
- setup should work with docker desktop, minikube, microk8s and k3s!
- nginx chart: bump nginx memory limit to 20Mi
- nginx image: 00-default-override-resolver-config -> 00-browsertrix-nginx-init for clarity
- nginx image: use default nginx.conf, pin to nginx 1.23.2
- mongo: readd readiness probe, bump connect wait timeout (needed for ci)
- config: set superadmin username to 'admin'
- config schema: set 'name' as required 
- add sample chart values overrides:
- chart values: local-config.yaml for running locally with 'local_service_port'
- chart values: add microk8s-hosted.yaml for configuring a hosted microk8s setup
- chart values: add microk8s-ci.yaml for ci tests
- ci: remove docker swarm tests
- ci: add microk8s integration tests: launching cluster, logging in, running a crawl of example.com, downloading/checking WACZ
- bump to 1.1.0-beta.2
2022-12-02 19:58:34 -08:00

32 lines
826 B
Python

import requests
api_prefix = "http://127.0.0.1:30870/api"
def test_login_invalid():
username = "admin@example.com"
password = "invalid"
r = requests.post(
f"{api_prefix}/auth/jwt/login",
data={"username": username, "password": password, "grant_type": "password"},
)
data = r.json()
assert r.status_code == 400
assert data["detail"] == "LOGIN_BAD_CREDENTIALS"
def test_login():
username = "admin@example.com"
password = "PASSW0RD!"
r = requests.post(
f"{api_prefix}/auth/jwt/login",
data={"username": username, "password": password, "grant_type": "password"},
)
data = r.json()
assert r.status_code == 200, data["detail"]
assert data["token_type"] == "bearer"
assert data["access_token"]
access_token = data["access_token"]