예제 #1
0
    def test_cpickle_simple(self):
        form_params = FormParameters()
        form_params.add_field_by_attrs({'name': 'username', 'type': 'text'})
        form_params.add_field_by_attrs({'name': 'pwd', 'type': 'password'})

        form = Form(form_params)

        pickled_form = cPickle.loads(cPickle.dumps(form))

        self.assertEqual(pickled_form.items(), form.items())
예제 #2
0
파일: test_form.py 프로젝트: z0r1nga/w3af
    def test_cpickle_simple(self):
        form_params = FormParameters()
        form_params.add_input([("name", "username"), ("type", "text")])
        form_params.add_input([("name", "pwd"), ("type", "password")])

        form = Form(form_params)

        pickled_form = cPickle.loads(cPickle.dumps(form))

        self.assertEqual(pickled_form.items(), form.items())
예제 #3
0
    def test_cpickle_simple(self):
        form_params = FormParameters()
        form_params.add_field_by_attrs({'name': 'username', 'type': 'text'})
        form_params.add_field_by_attrs({'name': 'pwd', 'type': 'password'})

        form = Form(form_params)

        pickled_form = cPickle.loads(cPickle.dumps(form))

        self.assertEqual(pickled_form.items(), form.items())
예제 #4
0
    def test_form_copy(self):
        form_params = FormParameters()
        form_params.add_field_by_attrs({'name': 'username', 'type': 'text'})
        form_params.add_field_by_attrs({'name': 'pwd', 'type': 'password'})

        form = Form(form_params)
        form.set_token(('username', 0))

        form_copy = copy.deepcopy(form)

        self.assertEqual(form.get_token(), form_copy.get_token())
        self.assertIsNot(None, form_copy.get_token())
예제 #5
0
    def test_form_copy(self):
        form_params = FormParameters()
        form_params.add_field_by_attrs({'name': 'username', 'type': 'text'})
        form_params.add_field_by_attrs({'name': 'pwd', 'type': 'password'})

        form = Form(form_params)
        form.set_token(('username', 0))

        form_copy = copy.deepcopy(form)

        self.assertEqual(form.get_token(), form_copy.get_token())
        self.assertIsNot(None, form_copy.get_token())
예제 #6
0
파일: test_form.py 프로젝트: z0r1nga/w3af
    def test_form_copy(self):
        form_params = FormParameters()
        form_params.add_input([("name", "username"), ("type", "text")])
        form_params.add_input([("name", "pwd"), ("type", "password")])

        form = Form(form_params)
        form.set_token(('username', 0))

        form_copy = copy.deepcopy(form)

        self.assertEqual(form.get_token(), form_copy.get_token())
        self.assertIsNot(None, form_copy.get_token())
예제 #7
0
    def test_mutant_iter_bound_tokens(self):
        form_params = FormParameters()
        form_params.add_field_by_attrs({'name': 'username',
                                        'value': '',
                                        'type': 'password'})
        form_params.add_field_by_attrs({'name': 'address', 'value': ''})

        form = Form(form_params)

        for form_copy, _ in form.iter_bound_tokens():
            self.assertIsInstance(form_copy, Form)
            self.assertEquals(form_copy.items(), form.items())
            self.assertEquals(form_copy.get_parameter_type('username'),
                              INPUT_TYPE_PASSWD)
예제 #8
0
    def test_mutant_smart_fill_simple(self):
        form_params = FormParameters()
        form_params.add_field_by_attrs({'name': 'username', 'value': ''})
        form_params.add_field_by_attrs({'name': 'address', 'value': ''})
        form_params['username'][0] = DataToken('username', '', ('username', 0))

        form = Form(form_params)

        form.smart_fill()

        self.assertEqual(form['username'], ['', ])
        self.assertEqual(form['address'], ['Bonsai Street 123', ])
        self.assertIsInstance(form['username'][0], DataToken)
        self.assertIs(form.get_form_params(), form_params)
예제 #9
0
파일: test_form.py 프로젝트: z0r1nga/w3af
    def test_mutant_iter_bound_tokens(self):
        form_params = FormParameters()
        form_params.add_input([("name", "username"),
                               ("value", ""),
                               ("type", "password")])
        form_params.add_input([("name", "address"), ("value", "")])

        form = Form(form_params)

        for form_copy, _ in form.iter_bound_tokens():
            self.assertIsInstance(form_copy, Form)
            self.assertEquals(form_copy.items(), form.items())
            self.assertEquals(form_copy.get_parameter_type('username'),
                              FormParameters.INPUT_TYPE_PASSWD)
예제 #10
0
    def test_mutant_smart_fill_simple(self):
        form_params = FormParameters()
        form_params.add_field_by_attrs({'name': 'username', 'value': ''})
        form_params.add_field_by_attrs({'name': 'address', 'value': ''})
        form_params['username'][0] = DataToken('username', '', ('username', 0))

        form = Form(form_params)

        form.smart_fill()

        self.assertEqual(form['username'], ['', ])
        self.assertEqual(form['address'], ['Bonsai Street 123', ])
        self.assertIsInstance(form['username'][0], DataToken)
        self.assertIs(form.get_form_params(), form_params)
예제 #11
0
    def test_mutant_iter_bound_tokens(self):
        form_params = FormParameters()
        form_params.add_field_by_attrs({'name': 'username',
                                        'value': '',
                                        'type': 'password'})
        form_params.add_field_by_attrs({'name': 'address', 'value': ''})

        form = Form(form_params)

        for form_copy, _ in form.iter_bound_tokens():
            self.assertIsInstance(form_copy, Form)
            self.assertEquals(form_copy.items(), form.items())
            self.assertEquals(form_copy.get_parameter_type('username'),
                              INPUT_TYPE_PASSWD)
예제 #12
0
파일: test_form.py 프로젝트: z0r1nga/w3af
    def test_mutant_smart_fill_simple(self):
        form_params = FormParameters()
        form_params.add_input([("name", "username"), ("value", "")])
        form_params.add_input([("name", "address"), ("value", "")])
        form_params['username'][0] = DataToken('username', '', ('username', 0))

        form = Form(form_params)

        form.smart_fill()

        self.assertEqual(form['username'], ['', ])
        self.assertEqual(form['address'], ['Bonsai Street 123', ])
        self.assertIsInstance(form['username'][0], DataToken)
        self.assertIs(form.get_form_params(), form_params)
예제 #13
0
    def test_keep_sync(self):
        form_params = FormParameters()
        form_params.add_field_by_attrs({'name': 'username', 'type': 'text'})
        form_params.add_field_by_attrs({'name': 'pwd', 'type': 'password'})

        form = Form(form_params)

        self.assertNotIn('address', form_params)
        self.assertNotIn('address', form)

        # Add to the form_params
        form_params['address'] = ['']
        self.assertIn('address', form_params)
        self.assertIn('address', form)

        # Add to the Form object
        form['company'] = ['']
        self.assertIn('company', form_params)
        self.assertIn('company', form)

        # Del from the Form object
        del form['address']
        self.assertNotIn('address', form)
        self.assertNotIn('address', form_params)

        # Del from the FormParams object
        del form_params['company']
        self.assertNotIn('company', form)
        self.assertNotIn('company', form_params)
예제 #14
0
파일: test_form.py 프로젝트: z0r1nga/w3af
    def test_keep_sync(self):
        form_params = FormParameters()
        form_params.add_input([("name", "username"), ("type", "text")])
        form_params.add_input([("name", "pwd"), ("type", "password")])

        form = Form(form_params)

        self.assertNotIn('address', form_params)
        self.assertNotIn('address', form)

        # Add to the form_params
        form_params['address'] = ['']
        self.assertIn('address', form_params)
        self.assertIn('address', form)

        # Add to the Form object
        form['company'] = ['']
        self.assertIn('company', form_params)
        self.assertIn('company', form)

        # Del from the Form object
        del form['address']
        self.assertNotIn('address', form)
        self.assertNotIn('address', form_params)

        # Del from the FormParams object
        del form_params['company']
        self.assertNotIn('company', form)
        self.assertNotIn('company', form_params)
예제 #15
0
    def test_mutant_smart_fill_with_file(self):
        form_params = FormParameters()
        form_params.add_field_by_attrs({'name': 'username', 'value': ''})
        form_params.add_field_by_attrs({'name': 'address', 'value': ''})
        form_params.add_field_by_attrs({'name': 'file', 'type': 'file'})

        form = Form(form_params)
        form['username'][0] = DataToken('username', '', ('username', 0))
        form.smart_fill()

        self.assertEqual(form['username'], ['', ])
        self.assertEqual(form['address'], ['Bonsai Street 123', ])
        self.assertIsInstance(form['username'][0], DataToken)

        str_file = form['file'][0]
        self.assertEqual(str_file.name[-4:], '.gif')
        self.assertIn('GIF', str_file)

        self.assertIs(form.get_form_params(), form_params)
예제 #16
0
    def test_mutant_smart_fill_with_file(self):
        form_params = FormParameters()
        form_params.add_field_by_attrs({'name': 'username', 'value': ''})
        form_params.add_field_by_attrs({'name': 'address', 'value': ''})
        form_params.add_field_by_attrs({'name': 'file', 'type': 'file'})

        form = Form(form_params)
        form['username'][0] = DataToken('username', '', ('username', 0))
        form.smart_fill()

        self.assertEqual(form['username'], ['', ])
        self.assertEqual(form['address'], ['Bonsai Street 123', ])
        self.assertIsInstance(form['username'][0], DataToken)

        str_file = form['file'][0]
        self.assertEqual(str_file.name[-4:], '.gif')
        self.assertIn('GIF', str_file)

        self.assertIs(form.get_form_params(), form_params)
예제 #17
0
파일: test_form.py 프로젝트: z0r1nga/w3af
    def test_mutant_smart_fill_with_file(self):
        form_params = FormParameters()
        form_params.add_input([("name", "username"), ("value", "")])
        form_params.add_input([("name", "address"), ("value", "")])
        form_params.add_file_input([("name", "file"), ("type", "file")])

        form = Form(form_params)
        form['username'][0] = DataToken('username', '', ('username', 0))
        form.smart_fill()

        self.assertEqual(form['username'], ['', ])
        self.assertEqual(form['address'], ['Bonsai Street 123', ])
        self.assertIsInstance(form['username'][0], DataToken)

        str_file = form['file'][0]
        self.assertEqual(str_file.name[-4:], '.gif')
        self.assertIn('GIF', str_file)

        self.assertIs(form.get_form_params(), form_params)
예제 #18
0
 def test_basic(self):
     form_params = FormParameters()
     form = Form(form_params)
     self.assertIs(form.get_form_params(), form_params)
예제 #19
0
    def test_require_implementation(self):
        form = Form()

        self.assertRaises(NotImplementedError, form.__str__)
        self.assertRaises(NotImplementedError, form.get_type)
예제 #20
0
    def test_login_form_utils(self):
        form_params = FormParameters()
        form_params.add_field_by_attrs({'name': 'username', 'type': 'text'})
        form_params.add_field_by_attrs({'name': 'pwd', 'type': 'password'})

        form = Form(form_params)

        self.assertTrue(form.is_login_form())
        self.assertFalse(form.is_registration_form())
        self.assertFalse(form.is_password_change_form())
        self.assertEqual(form.get_parameter_type_count(), (1, 1, 0))

        user_token, pass_token = form.get_login_tokens()
        self.assertEqual(user_token.get_name(), 'username')
        self.assertEqual(pass_token.get_name(), 'pwd')
        self.assertEqual(user_token.get_value(), '')
        self.assertEqual(pass_token.get_value(), '')

        form.set_login_username('andres')
        self.assertEqual(form['username'][0], 'andres')
        self.assertEqual(form['pwd'][0], '')

        form.set_login_username('pablo')
        form.set_login_password('long-complex')
        self.assertEqual(form['username'][0], 'pablo')
        self.assertEqual(form['pwd'][0], 'long-complex')

        self.assertIs(form.get_form_params(), form_params)
예제 #21
0
    def test_login_form_utils(self):
        form_params = FormParameters()
        form_params.add_field_by_attrs({'name': 'username', 'type': 'text'})
        form_params.add_field_by_attrs({'name': 'pwd', 'type': 'password'})

        form = Form(form_params)

        self.assertTrue(form.is_login_form())
        self.assertFalse(form.is_registration_form())
        self.assertFalse(form.is_password_change_form())
        self.assertEqual(form.get_parameter_type_count(), (1, 1, 0))

        user_token, pass_token = form.get_login_tokens()
        self.assertEqual(user_token.get_name(), 'username')
        self.assertEqual(pass_token.get_name(), 'pwd')
        self.assertEqual(user_token.get_value(), '')
        self.assertEqual(pass_token.get_value(), '')

        form.set_login_username('andres')
        self.assertEqual(form['username'][0], 'andres')
        self.assertEqual(form['pwd'][0], '')

        form.set_login_username('pablo')
        form.set_login_password('long-complex')
        self.assertEqual(form['username'][0], 'pablo')
        self.assertEqual(form['pwd'][0], 'long-complex')

        self.assertIs(form.get_form_params(), form_params)
예제 #22
0
파일: test_form.py 프로젝트: z0r1nga/w3af
    def test_login_form_utils(self):
        form_params = FormParameters()
        form_params.add_input([("name", "username"), ("type", "text")])
        form_params.add_input([("name", "pwd"), ("type", "password")])

        form = Form(form_params)

        self.assertTrue(form.is_login_form())
        self.assertFalse(form.is_registration_form())
        self.assertFalse(form.is_password_change_form())
        self.assertEqual(form.get_parameter_type_count(), (1, 1, 0))

        user_token, pass_token = form.get_login_tokens()
        self.assertEqual(user_token.get_name(), 'username')
        self.assertEqual(pass_token.get_name(), 'pwd')
        self.assertEqual(user_token.get_value(), '')
        self.assertEqual(pass_token.get_value(), '')

        form.set_login_username('andres')
        self.assertEqual(form['username'][0], 'andres')
        self.assertEqual(form['pwd'][0], '')

        form.set_login_username('pablo')
        form.set_login_password('long-complex')
        self.assertEqual(form['username'][0], 'pablo')
        self.assertEqual(form['pwd'][0], 'long-complex')

        self.assertIs(form.get_form_params(), form_params)
예제 #23
0
파일: test_form.py 프로젝트: Daisymei/w3af
 def test_basic(self):
     form_params = FormParameters()
     form = Form(form_params)
     self.assertIs(form.get_form_params(), form_params)