156 lines
6.1 KiB
Python
156 lines
6.1 KiB
Python
|
|
import logging
|
|
def test_users_list(test_client,login_user):
|
|
|
|
response = test_client.get("/api/v1/users", headers={"Authorization": "Bearer " + login_user})
|
|
assert response.status_code == 200
|
|
data = response.json()
|
|
assert len(data["data"]) == 2
|
|
|
|
def test_users_list_for_admin(test_client,login_admin):
|
|
|
|
response = test_client.get("/api/v1/users", headers={"Authorization": "Bearer " + login_admin})
|
|
assert response.status_code == 200
|
|
data = response.json()
|
|
assert "data" in data
|
|
assert len(data["data"]) == 3
|
|
|
|
def test_user_create(test_client,login_user):
|
|
user_data = {
|
|
"email": "newuser1@example.com",
|
|
"password": "password123",
|
|
"first_name": "New",
|
|
"last_name": "User",
|
|
"is_active": True,
|
|
"is_superuser": False
|
|
}
|
|
response = test_client.post("/api/v1/users", json=user_data, headers={"Authorization": "Bearer " + login_user})
|
|
data = response.json()
|
|
logging.error(data)
|
|
assert response.status_code == 200
|
|
assert "data" in data
|
|
assert data["data"] is not None
|
|
assert data["data"]["id"] > 0
|
|
assert data["data"]["email"] == user_data["email"]
|
|
assert data["data"]["first_name"] == user_data["first_name"]
|
|
assert data["data"]["last_name"] == user_data["last_name"]
|
|
assert data["data"]["is_active"] == user_data["is_active"]
|
|
assert data["data"]["is_superuser"] == user_data["is_superuser"]
|
|
|
|
def test_admin_create(test_client,login_user):
|
|
user_data = {
|
|
"email": "newuser2@example.com",
|
|
"password": "password123",
|
|
"first_name": "New",
|
|
"last_name": "User",
|
|
"is_active": True,
|
|
"is_superuser": True
|
|
}
|
|
response = test_client.post("/api/v1/users", json=user_data, headers={"Authorization": "Bearer " + login_user})
|
|
assert response.status_code == 200
|
|
data = response.json()
|
|
assert "data" not in data
|
|
|
|
def test_admin_create_for_admin(test_client,login_admin):
|
|
user_data = {
|
|
"email": "admin@example.com",
|
|
"password": "password123",
|
|
"first_name": "New",
|
|
"last_name": "User",
|
|
"is_active": True,
|
|
"is_superuser": True
|
|
}
|
|
response = test_client.post("/api/v1/users", json=user_data, headers={"Authorization": "Bearer " + login_admin})
|
|
data = response.json()
|
|
logging.error(data)
|
|
assert response.status_code == 200
|
|
assert "data" in data
|
|
assert data["data"] is not None
|
|
assert data["data"]["id"] > 0
|
|
assert data["data"]["email"] == user_data["email"]
|
|
assert data["data"]["first_name"] == user_data["first_name"]
|
|
assert data["data"]["last_name"] == user_data["last_name"]
|
|
assert data["data"]["is_active"] == user_data["is_active"]
|
|
assert data["data"]["is_superuser"] == user_data["is_superuser"]
|
|
|
|
def test_user_details(test_client,login_user_id, login_user,user):
|
|
id = login_user_id
|
|
response = test_client.get("/api/v1/users/"+ str(id), headers={"Authorization": "Bearer " + login_user})
|
|
data = response.json()
|
|
logging.error(data)
|
|
assert response.status_code == 200
|
|
assert data["data"]["email"] == user["email"]
|
|
assert data["data"]["first_name"] == user["first_name"]
|
|
assert data["data"]["last_name"] == user["last_name"]
|
|
assert data["data"]["is_active"] == user["is_active"]
|
|
assert data["data"]["is_superuser"] == user["is_superuser"]
|
|
assert data["data"]["id"] == id
|
|
|
|
def test_user_edit(test_client, login_user_id,login_user,user):
|
|
id = login_user_id
|
|
user_data = {
|
|
"email": user["email"],
|
|
"first_name": "Updated",
|
|
"last_name": "test",
|
|
"is_active": True,
|
|
"is_superuser": False
|
|
}
|
|
response = test_client.put("/api/v1/users/" + str(id), json=user_data, headers={"Authorization": "Bearer " + login_user})
|
|
|
|
assert response.status_code == 200
|
|
data = response.json()
|
|
assert data["data"]["email"] == user["email"]
|
|
assert data["data"]["first_name"] == user_data["first_name"]
|
|
assert data["data"]["last_name"] == user_data["last_name"]
|
|
assert data["data"]["is_active"] == user["is_active"]
|
|
assert data["data"]["id"] == id
|
|
|
|
def test_user_delete(test_client, login_user):
|
|
user_data = {
|
|
"email": "delete@example.com",
|
|
"password": "password123",
|
|
"first_name": "delete",
|
|
"last_name": "User",
|
|
"is_active": True,
|
|
"is_superuser": False
|
|
}
|
|
response = test_client.post("/api/v1/users", json=user_data, headers={"Authorization": "Bearer " + login_user})
|
|
assert response.status_code == 200
|
|
data = response.json()
|
|
id = data["data"]["id"]
|
|
response = test_client.delete("/api/v1/users/"+ str(id),headers={"Authorization": "Bearer " + login_user})
|
|
assert response.status_code == 200
|
|
assert response.json()["data"]["email"] == "delete@example.com"
|
|
response = test_client.get("/api/v1/users/"+ str(id), headers={"Authorization": "Bearer " + login_user})
|
|
assert response.status_code == 200
|
|
assert "data" not in response.json()
|
|
|
|
def test_role_assign(test_client, login_user_id,login_user,test_role):
|
|
userroles ={
|
|
"userid":login_user_id,
|
|
"roleids":[test_role["id"]]
|
|
}
|
|
response = test_client.post("/api/v1/userrole", json=userroles, headers={"Authorization": "Bearer " + login_user})
|
|
data = response.json()
|
|
logging.error(data)
|
|
assert response.status_code == 200
|
|
response = test_client.get("/api/v1/users/"+ str(login_user_id), headers={"Authorization": "Bearer " + login_user})
|
|
data = response.json()
|
|
logging.error(data)
|
|
assert response.status_code == 200
|
|
assert "data" in data
|
|
assert len(data["data"]["roles"]) == 1
|
|
|
|
def test_roles_get(test_client,login_user):
|
|
response = test_client.get("/api/v1/roles", headers={"Authorization": "Bearer " + login_user})
|
|
data = response.json()
|
|
logging.error(data)
|
|
assert response.status_code == 200
|
|
assert len(data["data"]) == 0
|
|
|
|
def test_roles_admin_get(test_client,login_admin):
|
|
response = test_client.get("/api/v1/roles", headers={"Authorization": "Bearer " + login_admin})
|
|
data = response.json()
|
|
logging.error(data)
|
|
assert response.status_code == 200
|
|
assert len(data["data"]) == 1 |