示例#1
0
 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())
示例#2
0
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')
示例#3
0
 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)
示例#4
0
def fetch_all_lists(request: HttpRequest) -> JsonResponse:
    firewall = command_exec.IPFW()
    response = firewall.results()
    return JsonResponse(dict(firewall_lists=response))