Starting on gv_backend tests
authorepage <eopage@byu.net>
Fri, 29 May 2009 02:59:19 +0000 (02:59 +0000)
committerepage <eopage@byu.net>
Fri, 29 May 2009 02:59:19 +0000 (02:59 +0000)
git-svn-id: file:///svnroot/gc-dialer/trunk@345 c39d3808-3fe2-4d86-a59f-b7f623ee9f21

src/gc_backend.py
src/gv_backend.py
tests/test_gv_backend.py [new file with mode: 0644]

index d5101f0..b4f5469 100644 (file)
@@ -70,7 +70,7 @@ class GCDialer(object):
                        self._browser.cookies.load()
 
                self._accessToken = None
-               self._accountNum = None
+               self._accountNum = ""
                self._lastAuthed = 0.0
                self._callbackNumbers = {}
 
index 533c824..e8a3749 100644 (file)
@@ -114,7 +114,7 @@ class GVDialer(object):
                        self._browser.cookies.load()
 
                self._token = ""
-               self._accountNum = None
+               self._accountNum = ""
                self._lastAuthed = 0.0
                self._callbackNumber = ""
                self._callbackNumbers = {}
diff --git a/tests/test_gv_backend.py b/tests/test_gv_backend.py
new file mode 100644 (file)
index 0000000..e43cb00
--- /dev/null
@@ -0,0 +1,55 @@
+from __future__ import with_statement
+
+import os
+import warnings
+import cookielib
+
+import test_utils
+
+import sys
+sys.path.append("../src")
+
+import gv_backend
+
+
+def generate_mock(cookiesSucceed, username, password):
+
+       class MockModule(object):
+
+               class MozillaEmulator(object):
+
+                       def __init__(self, trycount = 1):
+                               self.cookies = cookielib.LWPCookieJar()
+                               self.trycount = trycount
+
+                       def download(self, url,
+                                       postdata = None, extraheaders = None, forbid_redirect = False,
+                                       trycount = None, only_head = False,
+                               ):
+                               return ""
+
+       return MockModule
+
+
+def test_not_logged_in():
+       correctUsername, correctPassword = "", ""
+       MockBrowserModule = generate_mock(False, correctUsername, correctPassword)
+       gv_backend.browser_emu, RealBrowser = MockBrowserModule, gv_backend.browser_emu
+       try:
+               backend = gv_backend.GVDialer()
+               assert not backend.is_authed()
+               assert not backend.login("bad_name", "bad_password")
+               backend.logout()
+               with test_utils.expected(RuntimeError):
+                       backend.dial("5551234567")
+               with test_utils.expected(RuntimeError):
+                       backend.send_sms("5551234567", "Hello World")
+               assert backend.get_account_number() == "", "%s" % backend.get_account_number()
+               backend.set_sane_callback()
+               assert backend.get_callback_number() == ""
+               with test_utils.expected(Exception):
+                       recent = list(backend.get_recent())
+               with test_utils.expected(Exception):
+                       messages = list(backend.get_messages())
+       finally:
+               gv_backend.browser_emu = RealBrowser