55 lines
2.3 KiB
Python
55 lines
2.3 KiB
Python
import requests
|
|
import json
|
|
from checklib import *
|
|
|
|
PORT = 5003
|
|
|
|
class CheckMachine:
|
|
@property
|
|
def url(self):
|
|
return f"http://{self.c.host}:{self.port}"
|
|
|
|
def __init__(self, checker: BaseChecker):
|
|
self.port = PORT
|
|
self.c = checker
|
|
|
|
def register(self, session: requests.Session, username: str, password: str):
|
|
data = {"username": username, "password": password}
|
|
headers = {"Content-Type": "application/json"}
|
|
return session.post(f"{self.url}/api/account/signup", data=json.dumps(data), headers=headers)
|
|
|
|
def login(self, session: requests.Session, username: str, password: str):
|
|
data = {"username": username, "password": password}
|
|
headers = {"Content-Type": "application/json"}
|
|
return session.post(f"{self.url}/api/account/login", data=json.dumps(data), headers=headers)
|
|
|
|
def me(self, session: requests.Session):
|
|
return session.get(f"{self.url}/api/account/me")
|
|
|
|
def logout(self, session: requests.Session):
|
|
headers = {"Content-Type": "application/json"}
|
|
return session.post(f"{self.url}/api/account/logout", data=json.dumps({}), headers=headers)
|
|
|
|
def create_form(self, session: requests.Session, schema: dict):
|
|
data = {"schema": schema}
|
|
headers = {"Content-Type": "application/json"}
|
|
return session.post(f"{self.url}/api/form/new", data=json.dumps(data), headers=headers)
|
|
|
|
def get_form(self, session: requests.Session, form_id: str):
|
|
return session.get(f"{self.url}/api/form/{form_id}")
|
|
|
|
def update_form(self, session: requests.Session, form_id: str, schema: dict):
|
|
data = {"schema": schema}
|
|
headers = {"Content-Type": "application/json"}
|
|
return session.put(f"{self.url}/api/form/{form_id}/update", data=json.dumps(data), headers=headers)
|
|
|
|
def submit_form_response(self, session: requests.Session, form_id: str, payload: dict):
|
|
headers = {"Content-Type": "application/json"}
|
|
return session.post(f"{self.url}/api/form/{form_id}/submit", data=json.dumps(payload), headers=headers)
|
|
|
|
def get_my_forms(self, session: requests.Session):
|
|
return session.get(f"{self.url}/api/form/my-forms")
|
|
|
|
def get_form_results(self, session: requests.Session, form_id: str):
|
|
return session.get(f"{self.url}/api/form/{form_id}/results")
|