47 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import requests
 | |
| import string
 | |
| import random
 | |
| 
 | |
| def randomString(len=10):
 | |
|     """Generate a random string of fixed length """
 | |
|     letters = string.ascii_lowercase
 | |
|     return ''.join(random.choice(letters) for i in range(len))
 | |
| 
 | |
| # Defined once per test run
 | |
| username = randomString()
 | |
| 
 | |
| # Define the base URL of the API
 | |
| base_url = "http://localhost:8080"
 | |
| 
 | |
| # Define the endpoint to test
 | |
| registerPath = base_url + "/api/register"
 | |
| loginPath = base_url + "/api/login"
 | |
| 
 | |
| # Define a function to prform POST request with data and return response
 | |
| def create_user(data):
 | |
|     response = requests.post(registerPath, json=data)
 | |
|     return response
 | |
| 
 | |
| def login(username, password):
 | |
|     response = requests.post(loginPath, json={"username": username, "password": password})
 | |
|     return response
 | |
| 
 | |
| def test_login():
 | |
|     response = login(username, "always_same")
 | |
|     assert response.status_code == 200, "Login failed"
 | |
|     print("Login successful")
 | |
|     print(response.json()["token"])
 | |
| 
 | |
| # Define a function to test the POST request
 | |
| def test_create_user():
 | |
|     data = {"username": username, "password": "always_same"}
 | |
|     response = create_user(data)
 | |
|     assert response.status_code == 200, "Registration failed"
 | |
|     print("Registration successful")
 | |
| 
 | |
| # Run the tests
 | |
| if __name__ == "__main__":
 | |
|     # test_get_users()
 | |
|     test_create_user()
 | |
|     test_login()
 | |
| 
 | 
