You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import string
  2. import random
  3. import os
  4. import pytest
  5. import requests
  6. HOST_ADDRESS = os.getenv('HOST_ADDRESS', 'http://127.0.0.1:9380')
  7. def generate_random_email():
  8. return 'user_' + ''.join(random.choices(string.ascii_lowercase + string.digits, k=8))+'@1.com'
  9. EMAIL = generate_random_email()
  10. # password is "123"
  11. PASSWORD='''ctAseGvejiaSWWZ88T/m4FQVOpQyUvP+x7sXtdv3feqZACiQleuewkUi35E16wSd5C5QcnkkcV9cYc8TKPTRZlxappDuirxghxoOvFcJxFU4ixLsD
  12. fN33jCHRoDUW81IH9zjij/vaw8IbVyb6vuwg6MX6inOEBRRzVbRYxXOu1wkWY6SsI8X70oF9aeLFp/PzQpjoe/YbSqpTq8qqrmHzn9vO+yvyYyvmDsphXe
  13. X8f7fp9c7vUsfOCkM+gHY3PadG+QHa7KI7mzTKgUTZImK6BZtfRBATDTthEUbbaTewY4H0MnWiCeeDhcbeQao6cFy1To8pE3RpmxnGnS8BsBn8w=='''
  14. def get_email():
  15. return EMAIL
  16. def register():
  17. url = HOST_ADDRESS + "/v1/user/register"
  18. name = "user"
  19. register_data = {"email":EMAIL,"nickname":name,"password":PASSWORD}
  20. res = requests.post(url=url,json=register_data)
  21. res = res.json()
  22. if res.get("code") != 0:
  23. raise Exception(res.get("message"))
  24. def login():
  25. url = HOST_ADDRESS + "/v1/user/login"
  26. login_data = {"email":EMAIL,"password":PASSWORD}
  27. response=requests.post(url=url,json=login_data)
  28. res = response.json()
  29. if res.get("code")!=0:
  30. raise Exception(res.get("message"))
  31. auth = response.headers["Authorization"]
  32. return auth
  33. @pytest.fixture(scope="session")
  34. def get_api_key_fixture():
  35. register()
  36. auth = login()
  37. url = HOST_ADDRESS + "/v1/system/new_token"
  38. auth = {"Authorization": auth}
  39. response = requests.post(url=url,headers=auth)
  40. res = response.json()
  41. if res.get("code") != 0:
  42. raise Exception(res.get("message"))
  43. return res["data"].get("token")