diff --git a/tests/firegexapi.py b/tests/firegexapi.py index 3b1f20c..6719748 100644 --- a/tests/firegexapi.py +++ b/tests/firegexapi.py @@ -16,6 +16,9 @@ class BearerSession(): def setToken(self,token): self.headers = {"Authorization": f"Bearer {token}"} + + def unsetToken(self): + self.headers = {} class FiregexAPI: def __init__(self,address): @@ -31,8 +34,16 @@ class FiregexAPI: return False def logout(self): - req = self.s.get(f"{self.address}api/logout") - return req.json()["status"] == "ok" + self.s.unsetToken() + return True + + def change_password(self,password,expire): + req = self.s.post(f"{self.address}api/change-password", json={"password":password, "expire":expire}) + try: + self.s.setToken(req.json()["access_token"]) + return True + except Exception: + return False def create_service(self,service_name,service_port): req = self.s.post(f"{self.address}api/services/add" , json={"name":service_name,"port":service_port}) diff --git a/tests/test.py b/tests/test.py index 7e6acf7..182cd84 100755 --- a/tests/test.py +++ b/tests/test.py @@ -40,6 +40,14 @@ service_created = False if (firegex.login(args.password)): puts(f"Sucessfully logged in ✔", color=colors.green) else: puts(f"Test Failed: Unknown response or wrong passowrd ✗", color=colors.red); exit(1) +#Change password +new_password = secrets.token_hex(10) +if (firegex.change_password(new_password,True)): puts(f"Sucessfully changed password to {new_password} ✔", color=colors.green) +else: puts(f"Test Failed: Coundl't change the password ✗", color=colors.red); exit(1) +#Changed it back +if (firegex.change_password(args.password,True)): puts(f"Sucessfully restored the password ✔", color=colors.green) +else: puts(f"Test Failed: Coundl't change the password ✗", color=colors.red); exit(1) + #Create new Service if (firegex.create_service(args.service_name,args.service_port)): @@ -203,4 +211,4 @@ if sendCheckData(secrets.token_bytes(200) + secret + secrets.token_bytes(200)): else: puts(f"Test Failed: The request was blocked when it shouldn't have", color=colors.red) -exit_test() \ No newline at end of file +exit_test()