browser tests: Fixes
pyflakes/pep8, test name in setup.cfg, remove useless comments
This commit is contained in:
parent
8a6c657194
commit
0a3300c891
3 changed files with 14 additions and 27 deletions
|
|
@ -15,7 +15,7 @@ tests = weboob.tools.capabilities.bank.transactions,
|
||||||
weboob.browser.pages,
|
weboob.browser.pages,
|
||||||
weboob.browser.filters.standard,
|
weboob.browser.filters.standard,
|
||||||
weboob.browser.tests_class_URL,
|
weboob.browser.tests_class_URL,
|
||||||
weboob.browser_tests_class_Form
|
weboob.browser.tests_class_Form
|
||||||
|
|
||||||
[isort]
|
[isort]
|
||||||
known_first_party=weboob
|
known_first_party=weboob
|
||||||
|
|
|
||||||
|
|
@ -15,12 +15,14 @@
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Affero General Public License
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||||
from unittest import TestCase
|
|
||||||
from weboob.browser import URL
|
|
||||||
from weboob.browser.pages import Form, FormSubmitWarning, HTMLPage
|
|
||||||
import collections
|
import collections
|
||||||
import lxml.html
|
|
||||||
import warnings
|
import warnings
|
||||||
|
from unittest import TestCase
|
||||||
|
|
||||||
|
import lxml.html
|
||||||
|
|
||||||
|
from weboob.browser import URL
|
||||||
|
from weboob.browser.pages import Form, FormSubmitWarning
|
||||||
|
|
||||||
|
|
||||||
# Mock that allows to represent a Page
|
# Mock that allows to represent a Page
|
||||||
|
|
@ -48,7 +50,7 @@ class FormTest(TestCase):
|
||||||
</select>
|
</select>
|
||||||
<input type='submit' name='submitForm' />
|
<input type='submit' name='submitForm' />
|
||||||
</form>""")
|
</form>""")
|
||||||
self.elMoreSubmit = lxml.html.fromstring(
|
self.elMoreSubmit = lxml.html.fromstring(
|
||||||
"""<form method='GET'>
|
"""<form method='GET'>
|
||||||
<input type ='text' name='nom' value='Dupont'/>
|
<input type ='text' name='nom' value='Dupont'/>
|
||||||
<input type ='text' name='prenom' value=''/>
|
<input type ='text' name='prenom' value=''/>
|
||||||
|
|
@ -103,4 +105,3 @@ class FormTest(TestCase):
|
||||||
assert len(w) == 1
|
assert len(w) == 1
|
||||||
assert issubclass(w[-1].category, FormSubmitWarning)
|
assert issubclass(w[-1].category, FormSubmitWarning)
|
||||||
assert warningMsg in str(w[-1].message)
|
assert warningMsg in str(w[-1].message)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,8 @@
|
||||||
# You should have received a copy of the GNU Affero General Public License
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||||
from unittest import TestCase
|
from unittest import TestCase
|
||||||
from weboob.browser import URL, PagesBrowser
|
|
||||||
|
from weboob.browser import PagesBrowser, URL
|
||||||
from weboob.browser.pages import Page
|
from weboob.browser.pages import Page
|
||||||
from weboob.browser.url import UrlNotResolvable
|
from weboob.browser.url import UrlNotResolvable
|
||||||
|
|
||||||
|
|
@ -27,7 +28,7 @@ class MyMockBrowserWithoutBrowser():
|
||||||
|
|
||||||
|
|
||||||
# Mock that allows to represent a Page
|
# Mock that allows to represent a Page
|
||||||
class myMockPage(Page):
|
class MyMockPage(Page):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -46,8 +47,8 @@ class MyMockBrowser(PagesBrowser):
|
||||||
urlParams = URL("http://test.com\?id=(?P<id>\d+)&name=(?P<name>.+)")
|
urlParams = URL("http://test.com\?id=(?P<id>\d+)&name=(?P<name>.+)")
|
||||||
|
|
||||||
# URL used by method is_here
|
# URL used by method is_here
|
||||||
urlIsHere = URL('http://weboob.org/(?P<param>)', myMockPage)
|
urlIsHere = URL('http://weboob.org/(?P<param>)', MyMockPage)
|
||||||
urlIsHereDifKlass = URL('http://free.fr', myMockPage)
|
urlIsHereDifKlass = URL('http://free.fr', MyMockPage)
|
||||||
|
|
||||||
|
|
||||||
# Class that tests different methods from the class URL
|
# Class that tests different methods from the class URL
|
||||||
|
|
@ -58,8 +59,6 @@ class URLTest(TestCase):
|
||||||
self.myBrowser = MyMockBrowser()
|
self.myBrowser = MyMockBrowser()
|
||||||
self.myBrowserWithoutBrowser = MyMockBrowserWithoutBrowser()
|
self.myBrowserWithoutBrowser = MyMockBrowserWithoutBrowser()
|
||||||
|
|
||||||
# TESTS FOR MATCH METHOD
|
|
||||||
|
|
||||||
# Check that an assert is sent if both base and browser are none
|
# Check that an assert is sent if both base and browser are none
|
||||||
def test_match_base_none_browser_none(self):
|
def test_match_base_none_browser_none(self):
|
||||||
self.assertRaises(AssertionError,
|
self.assertRaises(AssertionError,
|
||||||
|
|
@ -79,41 +78,31 @@ class URLTest(TestCase):
|
||||||
# Check that none is returned when none of the defined urls is a regex for
|
# Check that none is returned when none of the defined urls is a regex for
|
||||||
# the given url
|
# the given url
|
||||||
def test_match_url_pasregex_baseurl(self):
|
def test_match_url_pasregex_baseurl(self):
|
||||||
# Test
|
|
||||||
res = self.myBrowser.urlNotRegex.match("http://weboob.org/news")
|
res = self.myBrowser.urlNotRegex.match("http://weboob.org/news")
|
||||||
# Assertions
|
|
||||||
self.assertIsNone(res)
|
self.assertIsNone(res)
|
||||||
|
|
||||||
# Check that true is returned when one of the defined urls is a regex
|
# Check that true is returned when one of the defined urls is a regex
|
||||||
# for the given url
|
# for the given url
|
||||||
def test_match_url_regex_baseurl(self):
|
def test_match_url_regex_baseurl(self):
|
||||||
# Test
|
|
||||||
res = self.myBrowser.urlRegex.match("http://weboob2.org/news")
|
res = self.myBrowser.urlRegex.match("http://weboob2.org/news")
|
||||||
# Assertions
|
|
||||||
self.assertTrue(res)
|
self.assertTrue(res)
|
||||||
|
|
||||||
# Successful test with relatives url
|
# Successful test with relatives url
|
||||||
def test_match_url_without_http(self):
|
def test_match_url_without_http(self):
|
||||||
# Test
|
|
||||||
res = self.myBrowser.urlRegWithoutHttp.match("http://weboob.org/news")
|
res = self.myBrowser.urlRegWithoutHttp.match("http://weboob.org/news")
|
||||||
# Assertions
|
|
||||||
self.assertTrue(res)
|
self.assertTrue(res)
|
||||||
|
|
||||||
# Unsuccessful test with relatives url
|
# Unsuccessful test with relatives url
|
||||||
def test_match_url_without_http_fail(self):
|
def test_match_url_without_http_fail(self):
|
||||||
# Test
|
|
||||||
browser = self.myBrowser
|
browser = self.myBrowser
|
||||||
res = browser.urlNotRegWithoutHttp.match("http://weboob.org/news")
|
res = browser.urlNotRegWithoutHttp.match("http://weboob.org/news")
|
||||||
# Assertions
|
|
||||||
self.assertIsNone(res)
|
self.assertIsNone(res)
|
||||||
|
|
||||||
# TESTS FOR BUILD METHOD
|
|
||||||
|
|
||||||
# Checks that build returns the right url when it needs to add
|
# Checks that build returns the right url when it needs to add
|
||||||
# the value of a parameter
|
# the value of a parameter
|
||||||
def test_build_nominal_case(self):
|
def test_build_nominal_case(self):
|
||||||
res = self.myBrowser.urlValue.build(id=2)
|
res = self.myBrowser.urlValue.build(id=2)
|
||||||
self.assertEquals(res, "http://test.com/2")
|
self.assertEquals(res, "http://test.com/2")
|
||||||
|
|
||||||
# Checks that build returns the right url when it needs to add
|
# Checks that build returns the right url when it needs to add
|
||||||
# identifiers and values of some parameters
|
# identifiers and values of some parameters
|
||||||
|
|
@ -133,11 +122,8 @@ class URLTest(TestCase):
|
||||||
self.assertRaises(UrlNotResolvable, self.myBrowser.urlParams.build,
|
self.assertRaises(UrlNotResolvable, self.myBrowser.urlParams.build,
|
||||||
id=2, name="weboob", title="test")
|
id=2, name="weboob", title="test")
|
||||||
|
|
||||||
# TESTS FOR IS_HERE METHOD
|
|
||||||
|
|
||||||
# Check that an assert is sent if both klass is none
|
# Check that an assert is sent if both klass is none
|
||||||
def test_ishere_klass_none(self):
|
def test_ishere_klass_none(self):
|
||||||
self.assertRaisesRegexp(AssertionError, "You can use this method" +
|
self.assertRaisesRegexp(AssertionError, "You can use this method" +
|
||||||
" only if there is a Page class handler.",
|
" only if there is a Page class handler.",
|
||||||
self.myBrowser.urlRegex.is_here, id=2)
|
self.myBrowser.urlRegex.is_here, id=2)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue