Added change-password test

This commit is contained in:
Nicola Guerrera
2022-06-29 12:24:05 +02:00
parent 0320c9a0b8
commit 0e5f06ff7a
2 changed files with 22 additions and 3 deletions

View File

@@ -16,6 +16,9 @@ class BearerSession():
def setToken(self,token): def setToken(self,token):
self.headers = {"Authorization": f"Bearer {token}"} self.headers = {"Authorization": f"Bearer {token}"}
def unsetToken(self):
self.headers = {}
class FiregexAPI: class FiregexAPI:
def __init__(self,address): def __init__(self,address):
@@ -31,8 +34,16 @@ class FiregexAPI:
return False return False
def logout(self): def logout(self):
req = self.s.get(f"{self.address}api/logout") self.s.unsetToken()
return req.json()["status"] == "ok" 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): 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}) req = self.s.post(f"{self.address}api/services/add" , json={"name":service_name,"port":service_port})

View File

@@ -40,6 +40,14 @@ service_created = False
if (firegex.login(args.password)): puts(f"Sucessfully logged in ✔", color=colors.green) 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) 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 #Create new Service
if (firegex.create_service(args.service_name,args.service_port)): 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: else:
puts(f"Test Failed: The request was blocked when it shouldn't have", color=colors.red) puts(f"Test Failed: The request was blocked when it shouldn't have", color=colors.red)
exit_test() exit_test()