def test_valid_option_validation(self):
        user_args = {
            'target_port': 500,
            'target_ip': '192.168.0.1',
            'token_refresh_cmd': 'some command',
            'token_refresh_interval': 30,
            'client_certificate_path': '\\path\\to\\file.pem',
            'fuzzing_mode': 'random-walk',
            'ignore_decoding_failures': True
        }
        try:
            settings = RestlerSettings(user_args)
            settings.validate_options()
        except:
            assert False

        settings.TEST_DeleteInstance()

        user_args = {'target_port': 500, 'target_ip': '192.168.0.1'}

        try:
            settings = RestlerSettings(user_args)
            settings.validate_options()
        except:
            assert False
Example #2
0
    def test_valid_option_validation(self):
        user_args = {'target_port': 500,
                     'target_ip': '192.168.0.1',
                     'token_refresh_cmd': 'some command',
                     'token_refresh_interval': 30,
                     'fuzzing_mode': 'random-walk'}
        try:
            settings = RestlerSettings(user_args)
            settings.validate_options()
        except:
            assert False

        settings.TEST_DeleteInstance()

        user_args = {'target_port': 500,
                     'target_ip': '192.168.0.1'}

        try:
            settings = RestlerSettings(user_args)
            settings.validate_options()
        except:
            assert False
    def test_custom_non_bug_codes(self):
        user_args = {"custom_non_bug_codes": ["200", "4?4", "3*"]}
        try:
            settings = RestlerSettings(user_args)
            settings.validate_options()
        except:
            assert False

        response200 = HttpResponse('HTTP/1.1 200 response')
        response201 = HttpResponse('HTTP/1.1 201 response')
        response400 = HttpResponse('HTTP/1.1 400 response')
        response404 = HttpResponse('HTTP/1.1 404 response')
        response414 = HttpResponse('HTTP/1.1 414 response')
        response300 = HttpResponse('HTTP/1.1 300 response')
        response301 = HttpResponse('HTTP/1.1 301 response')
        response500 = HttpResponse('HTTP/1.1 500 response')

        self.assertFalse(response200.has_bug_code())
        self.assertTrue(response201.has_bug_code())
        self.assertTrue(response400.has_bug_code())
        self.assertFalse(response404.has_bug_code())
        self.assertFalse(response414.has_bug_code())
        self.assertFalse(response300.has_bug_code())
        self.assertFalse(response301.has_bug_code())
        self.assertTrue(response500.has_bug_code())

        settings.TEST_DeleteInstance()

        user_args["custom_non_bug_codes"].append("500")
        try:
            settings = RestlerSettings(user_args)
            settings.validate_options()
        except:
            assert False

        self.assertFalse(response500.has_bug_code())
 def tearDown(self):
     RestlerSettings.TEST_DeleteInstance()