def __init__(self, hostname=None, logger=None): self.__hostname = hostname if hostname is not None else "http://127.0.0.0:5000" self.__log = setup_console_logger(logger, "CallConnectHandler") self.__jh = JsonHandler(hostname=self.__hostname, logger=self.__log) self.__hh = HttpHandler(hostname=self.__hostname, logger=self.__log) self.__log.debug("CallConnect handler initialized for: %s" % self.__hostname)
class FlaskrilioHandler: """A simple wrapper for the local Flaskrilio service""" def __init__(self, hostname=None, logger=None): self.__hostname = hostname if hostname is not None else "http://127.0.0.0:5000" self.__log = setup_console_logger(logger, "FlaskrilioHandler") self.__jh = JsonHandler(hostname=self.__hostname, logger=self.__log) self.__hh = HttpHandler(hostname=self.__hostname, logger=self.__log) self.__log.debug("Flaskrilio handler initialized for: %s" % self.__hostname) def get_home(self): return self.__jh.get(endpoint="/") def get_twiml(self, ctx): self.__log.debug("Getting TwilML for an endpoint: %s" % ctx) return self.__hh.get(endpoint=ctx) def get_calls(self): calls = self.__jh.get(endpoint="/calls") self.__log.debug("Got calls: %s" % calls) if calls is None: return [] else: return calls
def setUp(self): self.test_data_dict = { "len": 12, "input": "AAAABBBBCCCC", "more_data": ["a", "bb"] } self.test_data_raw = '{\n "len": 12,\n "input": "AAAABBBBCCCC",\n "more_data": [\n "a",\n "bb"\n ]\n}' self.handler = JsonHandler(data_dict=self.test_data_dict, data_raw=self.test_data_raw) mutators = BadMutator() self.handler.mutators = mutators
class CallConnectHandler: """A simple wrapper for Call Connect endpoints""" def __init__(self, hostname=None, logger=None): self.__hostname = hostname if hostname is not None else "http://127.0.0.0:5000" self.__log = setup_console_logger(logger, "CallConnectHandler") self.__jh = JsonHandler(hostname=self.__hostname, logger=self.__log) self.__hh = HttpHandler(hostname=self.__hostname, logger=self.__log) self.__log.debug("CallConnect handler initialized for: %s" % self.__hostname) def get_new_caller_id(self): caller_id = self.__jh.post(endpoint="/api/id", data="{}").json()['id'] self.__log.debug("Received new Caller ID: %s" % caller_id) return caller_id def get_redirect_to(self, caller_id, number): payload = { "id": caller_id, "redirectTo": number } # use json.dumps to convert payload tupple into a string redir = self.__jh.post(endpoint="/api/callers", data=json.dumps(payload)) self.__log.debug("POST %s/api/callers payload: %s" % (self.__hostname, payload)) self.__log.debug("Received new redirect_to: %s" % redir.json()) return redir def delete_caller_id(self, callerId): self.__log.debug("Deleting callerId: %s" % callerId) return self.__hh.delete(endpoint="/api/callers/%s" % callerId) def get_callers_details(self, callerId): self.__log.debug("Getting details for callerId: %s" % callerId) return self.__jh.get(endpoint="/api/callers/%s" % callerId) def get_number_pool(self): pool = self.__jh.get(endpoint="/api/pool") self.__log.debug("Got Number pool: %s" % pool.json()) return pool
def init_json_handler(self) -> None: """ Initialize handler for JSON files """ with open(self.input_path, "r") as json_file: data = json.load(json_file) # Seeks to the start json_file.seek(0) raw_data = json_file.read() # Remove last blank line if exists raw_data = raw_data.rstrip() self.handlers.append(JsonHandler(data, raw_data))
class CallConnectHandler: """A simple wrapper for Call Connect endpoints""" def __init__(self, hostname=None, logger=None): self.__hostname = hostname if hostname is not None else "http://127.0.0.0:5000" self.__log = setup_console_logger(logger, "CallConnectHandler") self.__jh = JsonHandler(hostname=self.__hostname, logger=self.__log) self.__hh = HttpHandler(hostname=self.__hostname, logger=self.__log) self.__log.debug("CallConnect handler initialized for: %s" % self.__hostname) def get_new_caller_id(self): caller_id = self.__jh.post(endpoint="/api/id", data="{}").json()['id'] self.__log.debug("Received new Caller ID: %s" % caller_id) return caller_id def get_redirect_to(self, caller_id, number): payload = {"id": caller_id, "redirectTo": number} # use json.dumps to convert payload tupple into a string redir = self.__jh.post(endpoint="/api/callers", data=json.dumps(payload)) self.__log.debug("POST %s/api/callers payload: %s" % (self.__hostname, payload)) self.__log.debug("Received new redirect_to: %s" % redir.json()) return redir def delete_caller_id(self, callerId): self.__log.debug("Deleting callerId: %s" % callerId) return self.__hh.delete(endpoint="/api/callers/%s" % callerId) def get_callers_details(self, callerId): self.__log.debug("Getting details for callerId: %s" % callerId) return self.__jh.get(endpoint="/api/callers/%s" % callerId) def get_number_pool(self): pool = self.__jh.get(endpoint="/api/pool") self.__log.debug("Got Number pool: %s" % pool.json()) return pool
class JsonHandlerTests(unittest.TestCase): """ Test JsonHandler methods """ def setUp(self): self.test_data_dict = { "len": 12, "input": "AAAABBBBCCCC", "more_data": ["a", "bb"] } self.test_data_raw = '{\n "len": 12,\n "input": "AAAABBBBCCCC",\n "more_data": [\n "a",\n "bb"\n ]\n}' self.handler = JsonHandler(data_dict=self.test_data_dict, data_raw=self.test_data_raw) mutators = BadMutator() self.handler.mutators = mutators def test_mutate_elem(self): """ Tests that a primitive is correctly mutated """ self.assertEqual(list(self.handler.mutate_elem("1")), ["A"])
def __init__(self, hostname=None, logger=None): self.__hostname = hostname if hostname is not None else "http://127.0.0.0:5000" self.__log = setup_console_logger(logger, "FlaskrilioHandler") self.__jh = JsonHandler(hostname=self.__hostname, logger=self.__log) self.__hh = HttpHandler(hostname=self.__hostname, logger=self.__log) self.__log.debug("Flaskrilio handler initialized for: %s" % self.__hostname)