From: epage Date: Fri, 29 May 2009 02:34:15 +0000 (+0000) Subject: Prep work for a gv backend test X-Git-Url: http://git.maemo.org/git/?p=gc-dialer;a=commitdiff_plain;h=6cc1dd26a1b3e3c3e0c16f604d7e6bfdfaf0f92e Prep work for a gv backend test git-svn-id: file:///svnroot/gc-dialer/trunk@344 c39d3808-3fe2-4d86-a59f-b7f623ee9f21 --- diff --git a/tests/gv_samples/generate_gv_samples.py b/tests/gv_samples/generate_gv_samples.py new file mode 100755 index 0000000..6ba1c30 --- /dev/null +++ b/tests/gv_samples/generate_gv_samples.py @@ -0,0 +1,81 @@ +#!/usr/bin/env python + +import sys +import urllib +import urllib2 +import traceback +import warnings + +import sys +sys.path.append("../../src") + +import browser_emu +import gv_backend + +webpages = [ + ("login", gv_backend.GVDialer._loginURL), + ("clicktocall", gv_backend.GVDialer._clicktocallURL), + ("sendsms", gv_backend.GVDialer._sendSmsURL), + ("setforward", gv_backend.GVDialer._setforwardURL), + ("contacts", gv_backend.GVDialer._contactsURL), + ("contactdetails", gv_backend.GVDialer._contactDetailURL), + ("voicemail", gv_backend.GVDialer._voicemailURL), + ("sms", gv_backend.GVDialer._smsURL), + ("forward", gv_backend.GVDialer._forwardURL), + ("recent", gv_backend.GVDialer._recentCallsURL), + ("placed", gv_backend.GVDialer._placedCallsURL), + ("recieved", gv_backend.GVDialer._receivedCallsURL), + ("missed", gv_backend.GVDialer._missedCallsURL), +] + + +browser = browser_emu.MozillaEmulator(1) +for name, url in webpages: + try: + page = browser.download(url) + except StandardError, e: + print e.message + continue + with open("not_loggedin_%s.txt" % name, "w") as f: + f.write(page) + +username = sys.argv[1] +password = sys.argv[2] + +loginPostData = urllib.urlencode({ + 'Email' : username, + 'Passwd' : password, + 'service': "grandcentral", + "ltmpl": "mobile", + "btmpl": "mobile", + "PersistentCookie": "yes", +}) + +try: + loginSuccessOrFailurePage = browser.download(gv_backend.GVDialer._loginURL, loginPostData) +except urllib2.URLError, e: + warnings.warn(traceback.format_exc()) + raise RuntimeError("%s is not accesible" % gv_backend.GVDialer._loginURL) + +forwardPage = browser.download(gv_backend.GVDialer._forwardURL) + +tokenGroup = gv_backend.GVDialer._tokenRe.search(forwardPage) +if tokenGroup is None: + print forwardPage + raise RuntimeError("Could not extract authentication token from GoogleVoice") +token = tokenGroup.group(1) + +browser = browser_emu.MozillaEmulator(1) +for name, url in webpages: + try: + #data = urllib.urlencode({ + # "_rnr_se": token, + #}) + #page = browser.download(url, data) + page = browser.download(url) + except StandardError, e: + warnings.warn(traceback.format_exc()) + continue + print "Writing to file" + with open("loggedin_%s.txt" % name, "w") as f: + f.write(page)