def test_ipfw_list(self) -> None: CMD: str = "/sbin/ipfw list" p = subprocess.Popen(CMD, shell=True, stdout=subprocess.PIPE) output, error = p.communicate() lists = [line.decode("UTF-8") for line in output.splitlines()] test_results = command_exec.IPFW() self.assertEqual(lists, test_results.results())
def delete(request: HttpRequest) -> JsonResponse: try: command: str = "" response = json.loads(request.body) command = ' '.join([line for line in response.values()]) firewall = command_exec.IPFW() firewall.delete(command) except (command_exec.errors.AddExecError): return HttpResponse('API Error', status=500) return HttpResponse('OK')
def test_ipfw_add(self) -> None: ipfw = command_exec.IPFW() ipfw.add("60000 allow ip from any to any") CMD: str = "/sbin/ipfw list" p = subprocess.Popen(CMD, shell=True, stdout=subprocess.PIPE) output, error = p.communicate() allow_result = False for line in output.splitlines(): if line.decode("UTF-8") in "60000 allow ip from any to any": allow_result = True self.assertTrue(allow_result)
def fetch_all_lists(request: HttpRequest) -> JsonResponse: firewall = command_exec.IPFW() response = firewall.results() return JsonResponse(dict(firewall_lists=response))