Silencing python testing, optional verbose output
This commit is contained in:
parent
c03be8c5d9
commit
e498f0ed63
1 changed files with 34 additions and 33 deletions
67
testing.py
67
testing.py
|
@ -2,6 +2,11 @@ import requests
|
|||
import string
|
||||
import random
|
||||
|
||||
debug_output = False
|
||||
|
||||
def dprint(*args, **kwargs):
|
||||
if debug_output:
|
||||
print(*args, **kwargs)
|
||||
|
||||
def randomString(len=10):
|
||||
"""Generate a random string of fixed length"""
|
||||
|
@ -31,7 +36,7 @@ getUserProjectsPath = base_url + "/api/getUserProjects"
|
|||
|
||||
def test_get_user_projects():
|
||||
|
||||
print("Testing get user projects")
|
||||
dprint("Testing get user projects")
|
||||
loginResponse = login("user2", "123")
|
||||
# Check if the user is added to the project
|
||||
response = requests.get(
|
||||
|
@ -39,29 +44,29 @@ def test_get_user_projects():
|
|||
json={"username": "user2"},
|
||||
headers={"Authorization": "Bearer " + loginResponse.json()["token"]},
|
||||
)
|
||||
print(response.text)
|
||||
print(response.json())
|
||||
dprint(response.text)
|
||||
dprint(response.json())
|
||||
assert response.status_code == 200, "Get user projects failed"
|
||||
print("got user projects successfully")
|
||||
dprint("got user projects successfully")
|
||||
|
||||
|
||||
# Posts the username and password to the register endpoint
|
||||
def register(username: string, password: string):
|
||||
print("Registering with username: ", username, " and password: ", password)
|
||||
dprint("Registering with username: ", username, " and password: ", password)
|
||||
response = requests.post(
|
||||
registerPath, json={"username": username, "password": password}
|
||||
)
|
||||
print(response.text)
|
||||
dprint(response.text)
|
||||
return response
|
||||
|
||||
|
||||
# Posts the username and password to the login endpoint
|
||||
def login(username: string, password: string):
|
||||
print("Logging in with username: ", username, " and password: ", password)
|
||||
dprint("Logging in with username: ", username, " and password: ", password)
|
||||
response = requests.post(
|
||||
loginPath, json={"username": username, "password": password}
|
||||
)
|
||||
print(response.text)
|
||||
dprint(response.text)
|
||||
return response
|
||||
|
||||
|
||||
|
@ -69,7 +74,7 @@ def login(username: string, password: string):
|
|||
def test_login():
|
||||
response = login(username, "always_same")
|
||||
assert response.status_code == 200, "Login failed"
|
||||
print("Login successful")
|
||||
dprint("Login successful")
|
||||
return response.json()["token"]
|
||||
|
||||
|
||||
|
@ -77,8 +82,7 @@ def test_login():
|
|||
def test_create_user():
|
||||
response = register(username, "always_same")
|
||||
assert response.status_code == 200, "Registration failed"
|
||||
print("Registration successful")
|
||||
|
||||
dprint("Registration successful")
|
||||
|
||||
# Test function to add a project
|
||||
def test_add_project():
|
||||
|
@ -89,10 +93,9 @@ def test_add_project():
|
|||
json={"name": projectName, "description": "This is a project"},
|
||||
headers={"Authorization": "Bearer " + token},
|
||||
)
|
||||
print(response.text)
|
||||
dprint(response.text)
|
||||
assert response.status_code == 200, "Add project failed"
|
||||
print("Add project successful")
|
||||
|
||||
dprint("Add project successful")
|
||||
|
||||
# Test function to submit a report
|
||||
def test_submit_report():
|
||||
|
@ -111,10 +114,9 @@ def test_submit_report():
|
|||
},
|
||||
headers={"Authorization": "Bearer " + token},
|
||||
)
|
||||
print(response.text)
|
||||
dprint(response.text)
|
||||
assert response.status_code == 200, "Submit report failed"
|
||||
print("Submit report successful")
|
||||
|
||||
dprint("Submit report successful")
|
||||
|
||||
# Test function to get a weekly report
|
||||
def test_get_weekly_report():
|
||||
|
@ -124,7 +126,7 @@ def test_get_weekly_report():
|
|||
headers={"Authorization": "Bearer " + token},
|
||||
params={"username": username, "projectName": projectName, "week": 1},
|
||||
)
|
||||
print(response.text)
|
||||
dprint(response.text)
|
||||
assert response.status_code == 200, "Get weekly report failed"
|
||||
|
||||
|
||||
|
@ -135,7 +137,7 @@ def test_get_project():
|
|||
getProjectPath + "/1", # Assumes that the project with id 1 exists
|
||||
headers={"Authorization": "Bearer " + token},
|
||||
)
|
||||
print(response.text)
|
||||
dprint(response.text)
|
||||
assert response.status_code == 200, "Get project failed"
|
||||
|
||||
|
||||
|
@ -144,13 +146,13 @@ def test_add_user_to_project():
|
|||
# Log in as a site admin
|
||||
admin_username = randomString()
|
||||
admin_password = "admin_password"
|
||||
print(
|
||||
dprint(
|
||||
"Registering with username: ", admin_username, " and password: ", admin_password
|
||||
)
|
||||
response = requests.post(
|
||||
registerPath, json={"username": admin_username, "password": admin_password}
|
||||
)
|
||||
print(response.text)
|
||||
dprint(response.text)
|
||||
|
||||
admin_token = login(admin_username, admin_password).json()["token"]
|
||||
response = requests.post(
|
||||
|
@ -158,9 +160,9 @@ def test_add_user_to_project():
|
|||
json={"username": admin_username},
|
||||
headers={"Authorization": "Bearer " + admin_token},
|
||||
)
|
||||
print(response.text)
|
||||
dprint(response.text)
|
||||
assert response.status_code == 200, "Promote to site admin failed"
|
||||
print("Admin promoted to site admin successfully")
|
||||
dprint("Admin promoted to site admin successfully")
|
||||
|
||||
# Create a new user to add to the project
|
||||
new_user = randomString()
|
||||
|
@ -173,10 +175,9 @@ def test_add_user_to_project():
|
|||
headers={"Authorization": "Bearer " + admin_token},
|
||||
)
|
||||
|
||||
print(response.text)
|
||||
dprint(response.text)
|
||||
assert response.status_code == 200, "Add user to project failed"
|
||||
print("Add user to project successful")
|
||||
|
||||
dprint("Add user to project successful")
|
||||
|
||||
# Test function to sign a report
|
||||
def test_sign_report():
|
||||
|
@ -187,13 +188,13 @@ def test_sign_report():
|
|||
# Register an admin
|
||||
admin_username = randomString()
|
||||
admin_password = "admin_password2"
|
||||
print(
|
||||
dprint(
|
||||
"Registering with username: ", admin_username, " and password: ", admin_password
|
||||
)
|
||||
response = requests.post(
|
||||
registerPath, json={"username": admin_username, "password": admin_password}
|
||||
)
|
||||
print(response.text)
|
||||
dprint(response.text)
|
||||
|
||||
# Log in as the admin
|
||||
admin_token = login(admin_username, admin_password).json()["token"]
|
||||
|
@ -213,7 +214,7 @@ def test_sign_report():
|
|||
headers={"Authorization": "Bearer " + admin_token},
|
||||
)
|
||||
assert response.status_code == 200, "Add project manager to project failed"
|
||||
print("Project manager added to project successfully")
|
||||
dprint("Project manager added to project successfully")
|
||||
|
||||
# Log in as the project manager
|
||||
project_manager_token = login(project_manager, "project_manager_password").json()[
|
||||
|
@ -237,7 +238,7 @@ def test_sign_report():
|
|||
headers={"Authorization": "Bearer " + token},
|
||||
)
|
||||
assert response.status_code == 200, "Submit report failed"
|
||||
print("Submit report successful")
|
||||
dprint("Submit report successful")
|
||||
|
||||
# Retrieve the report ID
|
||||
response = requests.get(
|
||||
|
@ -245,7 +246,7 @@ def test_sign_report():
|
|||
headers={"Authorization": "Bearer " + token},
|
||||
params={"username": username, "projectName": projectName, "week": 1},
|
||||
)
|
||||
print(response.text)
|
||||
dprint(response.text)
|
||||
report_id = response.json()["reportId"]
|
||||
|
||||
# Sign the report as the project manager
|
||||
|
@ -255,7 +256,7 @@ def test_sign_report():
|
|||
headers={"Authorization": "Bearer " + project_manager_token},
|
||||
)
|
||||
assert response.status_code == 200, "Sign report failed"
|
||||
print("Sign report successful")
|
||||
dprint("Sign report successful")
|
||||
|
||||
# Retrieve the report ID again for confirmation
|
||||
response = requests.get(
|
||||
|
@ -263,7 +264,7 @@ def test_sign_report():
|
|||
headers={"Authorization": "Bearer " + token},
|
||||
params={"username": username, "projectName": projectName, "week": 1},
|
||||
)
|
||||
print(response.text)
|
||||
dprint(response.text)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
Loading…
Add table
Reference in a new issue