Няма описание

lib.py 3.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. import requests
  2. from pprint import pprint
  3. class Exfo:
  4. BASE_URL = "https://159.192.8.11/API/REST"
  5. BASE_IP = "https://159.192.8.11"
  6. def __init__(self, user, passwd):
  7. self.user = user
  8. self.passwd = passwd
  9. self.cookies = None
  10. self.session = requests.Session()
  11. def login(self):
  12. pprint("--- login ---")
  13. payload = f'uname={self.user}&pword={self.passwd}&format=json&encryptpword=0'
  14. headers = {
  15. 'Content-Type': 'application/x-www-form-urlencoded',
  16. 'Accept': 'application/x-www-form-urlencoded',
  17. }
  18. url = self.BASE_URL + "/Login"
  19. response = self.session.post(url, headers=headers, data=payload, verify=False)
  20. pprint(self.session.cookies.get_dict())
  21. pprint(response.text)
  22. pprint(response.cookies)
  23. #self.cookies = response.cookies
  24. def list_api(self):
  25. pprint("---- list_api ---")
  26. payload = {}
  27. headers = {
  28. 'Accept': 'application/json'
  29. }
  30. url = self.BASE_URL + "/"
  31. response = self.session.get(url, headers=headers, data=payload, verify=False)
  32. pprint(response.json())
  33. return response
  34. def call_api(self, service, payload={}):
  35. headers = {
  36. 'Accept': 'application/json'
  37. }
  38. if service == "sla":
  39. ep = "/SLAs/v1/SLA?size=100"
  40. url = self.BASE_URL + ep
  41. response = self.session.get(url, headers=headers, data=payload, verify=False)
  42. pprint(response.json())
  43. return response
  44. def call_remote_api(self, ep, payload={}):
  45. headers = {
  46. 'Accept': 'application/json'
  47. }
  48. url = self.BASE_IP + ep
  49. pprint(url)
  50. response = self.session.get(url, headers=headers, data=payload, verify=False)
  51. pprint(response)
  52. return response
  53. def logout(self):
  54. pprint("---- logout ---")
  55. pprint(self.session.cookies.get_dict())
  56. payload = {}
  57. headers = {
  58. 'Accept': 'application/json',
  59. }
  60. url = self.BASE_URL + "/Logoff?action=logoff"
  61. response = self.session.post(url, headers=headers, data=payload, verify=False)
  62. pprint(response)
  63. pprint(response.text)
  64. def video_tier(self):
  65. pprint("------ vdo tier -------")
  66. url = self.BASE_URL + "/Verifiers/v2/VideoTier"
  67. payload = {}
  68. headers = {
  69. 'Accept': 'application/json'
  70. }
  71. response = self.session.get(url, headers=headers, data=payload, verify=False)
  72. pprint(response.json())
  73. def test_implement(self):
  74. pprint('------- test_implement -----')
  75. url = self.BASE_URL + "/Test/v1"
  76. payload = {}
  77. headers = {
  78. 'Accept': 'application/json'
  79. }
  80. pprint(self.session.cookies.get_dict())
  81. response = self.session.get(url, headers=headers, data=payload, verify=False)
  82. pprint(response.json)
  83. def test_avl_test_types(self):
  84. pprint('------- test_avl_test_types -----')
  85. url = self.BASE_URL + "/Test/v1/TypeByName?list_all=true"
  86. payload = {}
  87. headers = {
  88. 'Accept': 'application/json'
  89. }
  90. response = self.session.get(url, headers=headers, data=payload, verify=False)
  91. print(response.json())
  92. if __name__ == '__main__':
  93. e = Exfo("administrator", "exf0w0rxC@t4dm!n")
  94. e.login()
  95. e.list_api()
  96. e.video_tier()
  97. e.test_implement()
  98. e.test_avl_test_types()
  99. e.logout()