#!/usr/bin/python import sys import unittest import module_test_runner import getopt import getpass # Modules whose tests we will run. import atom_tests.service_test import gdata_tests.service_test import gdata_tests.apps.service_test import gdata_tests.base.service_test import gdata_tests.books.service_test import gdata_tests.calendar.service_test import gdata_tests.docs.service_test import gdata_tests.health.service_test import gdata_tests.spreadsheet.service_test import gdata_tests.spreadsheet.text_db_test import gdata_tests.photos.service_test import gdata_tests.contacts.service_test import gdata_tests.blogger.service_test import gdata_tests.youtube.service_test import gdata_tests.health.service_test import gdata_tests.contacts.profiles.service_test def RunAllTests(username, password, spreadsheet_key, worksheet_key, apps_username, apps_password, apps_domain): test_runner = module_test_runner.ModuleTestRunner() test_runner.modules = [atom_tests.service_test, gdata_tests.service_test, gdata_tests.apps.service_test, gdata_tests.base.service_test, gdata_tests.books.service_test, gdata_tests.calendar.service_test, gdata_tests.docs.service_test, gdata_tests.health.service_test, gdata_tests.spreadsheet.service_test, gdata_tests.spreadsheet.text_db_test, gdata_tests.contacts.service_test, gdata_tests.youtube.service_test, gdata_tests.photos.service_test, gdata_tests.contacts.profiles.service_test,] test_runner.settings = {'username':username, 'password':password, 'test_image_location':'testimage.jpg', 'ss_key':spreadsheet_key, 'ws_key':worksheet_key, 'apps_username':apps_username, 'apps_password':apps_password, 'apps_domain':apps_domain} test_runner.RunAllTests() def GetValuesForTestSettingsAndRunAllTests(): username = '' password = '' spreadsheet_key = '' worksheet_key = '' apps_domain = '' apps_username = '' apps_password = '' print ('NOTE: Please run these tests only with a test account. ' 'The tests may delete or update your data.') try: opts, args = getopt.getopt(sys.argv[1:], '', ['username=', 'password=', 'ss_key=', 'ws_key=', 'apps_username=', 'apps_password=', 'apps_domain=']) for o, a in opts: if o == '--username': username = a elif o == '--password': password = a elif o == '--ss_key': spreadsheet_key = a elif o == '--ws_key': worksheet_key = a elif o == '--apps_username': apps_username = a elif o == '--apps_password': apps_password = a elif o == '--apps_domain': apps_domain = a except getopt.GetoptError: pass if username == '' and password == '': print ('Missing --user and --pw command line arguments, ' 'prompting for credentials.') if username == '': username = raw_input('Please enter your username: ') if password == '': password = getpass.getpass() if spreadsheet_key == '': spreadsheet_key = raw_input( 'Please enter the key for the test spreadsheet: ') if worksheet_key == '': worksheet_key = raw_input( 'Please enter the id for the worksheet to be edited: ') if apps_username == '': apps_username = raw_input('Please enter your Google Apps admin username: ') if apps_password == '': apps_password = getpass.getpass() if apps_domain == '': apps_domain = raw_input('Please enter your Google Apps domain: ') RunAllTests(username, password, spreadsheet_key, worksheet_key, apps_username, apps_password, apps_domain) if __name__ == '__main__': GetValuesForTestSettingsAndRunAllTests()