class TestForms(unittest.TestCase): @mock_forms def setUp(self): self.browser = RoboBrowser() self.browser.open('http://robobrowser.com/get/') @mock_forms def test_get_forms(self): forms = self.browser.get_forms() assert_equal(len(forms), 2) @mock_forms def test_get_form_by_id(self): form = self.browser.get_form('bass') assert_equal(form.parsed.get('id'), 'bass') @mock_forms def test_submit_form(self): form = self.browser.get_form() self.browser.submit_form(form) assert_equal( self.browser.url, 'http://robobrowser.com/post/?deacon=john' )
class TestFormsInputNoName(unittest.TestCase): @mock_forms def setUp(self): self.browser = RoboBrowser() self.browser.open('http://robobrowser.com/noname/') @mock_forms def test_get_forms(self): forms = self.browser.get_forms() assert_equal(len(forms), 1)
class TestForms(unittest.TestCase): def setUp(self): self.browser = RoboBrowser() @mock_forms def test_get_forms(self): self.browser.open('http://robobrowser.com/get_form/') forms = self.browser.get_forms() assert_equal(len(forms), 2) @mock_forms def test_get_form_by_id(self): self.browser.open('http://robobrowser.com/get_form/') form = self.browser.get_form('bass') assert_equal(form.parsed.get('id'), 'bass') @mock_forms def test_submit_form_get(self): self.browser.open('http://robobrowser.com/get_form/') form = self.browser.get_form() self.browser.submit_form(form) assert_equal( self.browser.url, 'http://robobrowser.com/get_form/?deacon=john' ) assert_true(self.browser.state.response.request.body is None) @mock_forms def test_submit_form_multi_submit(self): self.browser.open('http://robobrowser.com/multi_submit_form/') form = self.browser.get_form() submit = form.submit_fields['submit2'] self.browser.submit_form(form, submit=submit) assert_equal( self.browser.url, 'http://robobrowser.com/multi_submit_form/' '?deacon=john&submit2=value2' ) @mock_forms def test_submit_form_post(self): self.browser.open('http://robobrowser.com/post_form/') form = self.browser.get_form() self.browser.submit_form(form) assert_equal( self.browser.url, 'http://robobrowser.com/submit/' ) assert_equal( self.browser.state.response.request.body, 'deacon=john' )