示例#1
0
def test_create():
    # Create new user
    username = "******"
    url = full_url("user")
    resp = requests.post(url, data={"username": username, "password": "******"})
    data = resp.json()
    assert data["username"] == username
    assert resp.status_code == 201
    assert data["id"] != None

    uid = data["id"]

    sessid, sess = login(username, "pass")
    url = full_url(f"customer/{uid}")
    headers = {"session-id": sessid}
    req = {
        "name": "Test Engineer",
        "gender": "Non-binary",
        "tel": "911",
        "address": "Mars",
    }
    resp = requests.post(url, data=req, headers=headers)

    data = resp.json()

    print(data)

    assert resp.status_code == 201
    assert data["id"] == uid
    assert data["name"] == req["name"]
    assert data["gender"] == req["gender"]
    assert data["tel"] == req["tel"]
    assert data["address"] == req["address"]
    assert data["level"] == 0
示例#2
0
def test_default_users():
    url = full_url("user")
    resp = requests.get(url).json()
    usernames = [u["username"] for u in resp]
    assert "admin" in usernames
    assert "customer" in usernames
    assert "employee" in usernames
示例#3
0
def test_admin_logout():
    url = full_url("login")
    headers = {"username": "******", "password": "******"}
    resp = requests.post(url, headers=headers)  # Login
    assert resp.status_code == 200
    assert "id" in resp.json().keys()

    headers = {"session-id": resp.json()["id"]}
    resp = requests.delete(url, headers=headers)  # Logout
    assert resp.status_code == 204

    resp = requests.get(url, headers=headers)  # Test logged in
    assert resp.status_code == 401
    assert "error" in resp.json().keys()
示例#4
0
def test_admin_login():
    url = full_url("login")
    headers = {"username": "******", "password": "******"}
    resp = requests.post(url, headers=headers)

    assert resp.status_code == 200
    assert "id" in resp.json().keys()

    headers = {"session-id": resp.json()["id"]}
    resp = requests.get(url, headers=headers)
    assert resp.status_code == 200

    user = resp.json()["user"]

    assert user["username"] == "admin"
    assert user["role"] == "admin"
示例#5
0
def test_create_user():
    url = full_url("user")
    resp = requests.post(
        url,
        data={
            "username": "******",
            "password": "******"
        },
    )
    data = resp.json()
    assert data["username"] == "a"
    assert resp.status_code == 201
    assert data["id"] != None

    url = f"{url}/{data['id']}"
    resp = requests.get(url)
    data = resp.json()
    assert resp.status_code == 200
    assert data["username"] == "a"
示例#6
0
def login(username: str, password: str) -> (str, dict):
    headers = {"username": username, "password": password}
    sess = requests.post(full_url("login"), headers=headers)
    sess = sess.json()
    return sess["id"], sess
示例#7
0
def test_not_logged_in():
    url = full_url("login")
    resp = requests.get(url)

    assert resp.status_code == 401
    assert "error" in resp.json().keys()