Exemplo n.º 1
0
 def testPollTimeoutCode(self):
     mockRequestGet.count = -20
     client = AppurifyClient(api_key="test_key", api_secret="test_secret", test_type="ios_webrobot", 
         app_src=None, 
         test_src=None,
         url="www.yahoo.com",
         timeout_sec=0.2,
         poll_every=0.1)
     result_code = client.main()
     self.assertEqual(result_code, 3, "Main should execute and return error code")
Exemplo n.º 2
0
 def testDefaultPollTimeoutCode(self):
     old_env = os.environ.get('APPURIFY_API_TIMEOUT', None)
     try:
         os.environ['APPURIFY_API_TIMEOUT'] = '0.2'
         mockRequestGet.count = -20
         client = AppurifyClient(access_token="authenticated", poll_every=0.1)
         result_code = client.main()
         self.assertEqual(result_code, 1, "Main should execute and return error code with default timeout")
     finally:
         if old_env:
             os.environ['APPURIFY_API_TIMEOUT'] = str(old_env)
Exemplo n.º 3
0
 def testDefaultPollTimeout(self):
     old_env = os.environ.get('APPURIFY_API_TIMEOUT', None)
     try:
         os.environ['APPURIFY_API_TIMEOUT'] = '0.2'
         mockRequestGet.count = -20
         client = AppurifyClient(access_token="authenticated",  poll_every=0.1)
         with self.assertRaises(AppurifyClientError):
             client.pollTestResult("test_test_run_id", 0.2)
     finally:
         if old_env:
             os.environ['APPURIFY_API_TIMEOUT'] = str(old_env)
Exemplo n.º 4
0
 def testMainPass(self):
     mockRequestGet.count = 0
     mockRequestGet.passes = 2
     mockRequestGet.fails = 0
     mockRequestGet.pass_val = True
     client = AppurifyClient(api_key="test_key", api_secret="test_secret", test_type="uiautomation", 
                             app_src=__file__, app_src_type='raw', 
                             test_src=__file__, test_src_type='raw',
                             timeout_sec=2, poll_every=0.1)
     result_code = client.main()
     self.assertEqual(result_code, 0, "Main should execute and return pass code")
Exemplo n.º 5
0
def main():
    """ main program
    """
    for i in xrange(1,len(sys.argv)):
        print "File: %s"%sys.argv[i]

    params = {}
    if (len(sys.argv)>0):
        params =  parse_input(sys.argv[1])
    # print params
    client = AppurifyClient(**params)
    sys.exit(client.main())
Exemplo n.º 6
0
 def testMainPassUrl(self):
     mockRequestGet.count = 0
     mockRequestGet.passes = 2
     mockRequestGet.fails = 0
     mockRequestGet.pass_val = True
     client = AppurifyClient(api_key="test_key", api_secret="test_secret", test_type="ios_webrobot", 
                             app_src=None, 
                             test_src=None,
                             url="www.yahoo.com",
                             timeout_sec=2, poll_every=0.1)
     result_code = client.main()
     self.assertEqual(result_code, 0, "Main should execute and return pass code")
Exemplo n.º 7
0
 def testMainFail(self):
     mockRequestGet.count = 0
     mockRequestGet.passes = 1
     mockRequestGet.fails = 1
     mockRequestGet.exception = 0
     mockRequestGet.pass_val = False
     client = AppurifyClient(api_key="test_key", api_secret="test_secret", test_type="uiautomation", 
                             app_src=__file__, app_src_type='raw', 
                             test_src=__file__, test_src_type='raw',
                             timeout_sec=2, poll_every=0.1, device_type_id="137")
     result_code = client.main()
     self.assertEqual(result_code, 1, "Main should execute and return fail code")
Exemplo n.º 8
0
 def testDefaultPollTimeoutCode(self):
     old_env = os.environ.get('APPURIFY_API_TIMEOUT', None)
     try:
         os.environ['APPURIFY_API_TIMEOUT'] = '0.2'
         mockRequestGet.count = -20
         client = AppurifyClient(api_key="test_key", api_secret="test_secret", test_type="ios_webrobot", 
                         app_src=None, 
                         test_src=None,
                         url="www.yahoo.com",
                         poll_every=0.1)
         result_code = client.main()
         self.assertEqual(result_code, 3, "Main should execute and return error code with default timeout")
     finally:
         if old_env:
             os.environ['APPURIFY_API_TIMEOUT'] = str(old_env)
Exemplo n.º 9
0
 def testPrintConfig(self):
     client = AppurifyClient(access_token="authenticated", test_type="ios_webrobot")
     config = [{
                                     "id": 1963,
                                     "device": {
                                         "id": 123,
                                         "profiler": True,
                                         "videocapture": True,
                                     },
                                     "framework": "{\"uiautomation\": {\"template\": \"Memory_Profiling_Template\"}}",
                                     "test_timeout": 240,
                                     "debug": False,
                                     "keep_vm": False,
                                     "device_types": [],
                                     "vm_size": "small"
                 }]
     client.printConfigs(config)
Exemplo n.º 10
0
 def testUploadAppSource(self):
     client = AppurifyClient(access_token="authenticated", app_src=__file__, app_src_type='raw', test_type='calabash', name="test_name")
     app_id = client.uploadApp()
     self.assertEqual(app_id, "test_app_id", "Should properly fetch web robot for app id")
Exemplo n.º 11
0
 def testPollTestResult(self):
     mockRequestGet.count = 0
     client = AppurifyClient(access_token="authenticated", timeout_sec=2, poll_every=0.1)
     test_status_response = client.pollTestResult("test_test_run_id", 2)
     self.assertEqual(test_status_response['status'], "complete", "Should poll until complete")
Exemplo n.º 12
0
 def testRunTestMulti(self):
     client = AppurifyClient(access_token="authenticated")
     test_run_id, queue_timeout_limit, configs = client.runTest("app_id", "test_test_id")
     self.assertEqual(test_run_id, "test_test_run_id1,test_test_run_id2", "Should get test_run_ids when executing run")
     self.assertEqual(len(configs), 2, "Should get config back for test run")
     self.assertEqual(configs[0]['device']['id'], 123, "Sanity check parameters")
Exemplo n.º 13
0
 def testUploadConfig(self):
     client = AppurifyClient(access_token="authenticated", test_type="ios_webrobot")
     config_id = client.uploadConfig("test_id", config_src=__file__)
     self.assertEqual(config_id, 23456, "Should properly fetch uploaded config id")
Exemplo n.º 14
0
 def testUploadTestNoSourceError(self):
     client = AppurifyClient(access_token="authenticated", test_type='uiautomation')
     with self.assertRaises(AppurifyClientError):
         app_id = client.uploadTest('test_app_id')
Exemplo n.º 15
0
 def testPollTimeoutCode(self):
     mockRequestGet.count = -20
     client = AppurifyClient(access_token="authenticated", timeout_sec=0.2, poll_every=0.1)
     result_code = client.main()
     self.assertEqual(result_code, 1, "Main should execute and return error code")
Exemplo n.º 16
0
 def testNoAuth(self):
     client = AppurifyClient()
     with self.assertRaises(AppurifyClientError):
         """ Should error out on no auth data """
         client.refreshAccessToken()
Exemplo n.º 17
0
 def testGetAccessTokenPrePop(self):
     client = AppurifyClient(access_token="Already_Set")
     client.refreshAccessToken()
     access_token = client.access_token
     self.assertEqual(access_token, "Already_Set", "Should return access token when one is provided")
Exemplo n.º 18
0
 def testGetAccessToken(self):
     client = AppurifyClient(api_key="test_key", api_secret="test_secret")
     client.refreshAccessToken()
     access_token = client.access_token
     self.assertEqual(access_token, "test_access_token", "Should return proper access token on post")
Exemplo n.º 19
0
 def testGetExceptionExitCode(self):
     mockRequestGet.count = -20
     
     client = AppurifyClient(access_token="authenticated", timeout_sec=0.2, poll_every=0.1, device_type_id="137")
     self.assertEqual(client.getExceptionExitCode([{"exception": "4007: Error installing the app: file does not contain AndroidManifest.xml\n (1)"}]), EXIT_CODE_APP_INSTALL_FAILED, "Should return correct exit code for matching exception")
     self.assertEqual(client.getExceptionExitCode([{"exception": "-9999: no match anything"}]), EXIT_CODE_OTHER_EXCEPTION, "Should return correct exit code for no exception")
Exemplo n.º 20
0
 def testPollTimeout(self):
     mockRequestGet.count = -20
     client = AppurifyClient(access_token="authenticated", timeout_sec=0.2, poll_every=0.1)
     with self.assertRaises(AppurifyClientError):
         client.pollTestResult("test_test_run_id", 0.2)
Exemplo n.º 21
0
 def testUploadAppNoSourceError(self):
     client = AppurifyClient(access_token="authenticated", app_src_type='raw', test_type='calabash')
     with self.assertRaises(AppurifyClientError):
         client.uploadApp()
Exemplo n.º 22
0
 def testGetExceptionExitCode(self):
     mockRequestGet.count = -20
     client = AppurifyClient(access_token="authenticated", timeout_sec=0.2, poll_every=0.1)
     self.assertEqual(client.getExceptionExitCode([{"exception": "4007: Error installing the app: file does not contain AndroidManifest.xml\n (1)"}]), 5, "Should return correct exit code for matching exception")
     self.assertEqual(client.getExceptionExitCode([{"exception": "-9999: no match anything"}]), 7, "Should return correct exit code for no exception")
Exemplo n.º 23
0
 def testUploadTestNoSource(self):
     client = AppurifyClient(access_token="authenticated", test_type='ios_webrobot')
     app_id = client.uploadTest('test_app_id')
     self.assertEqual(app_id, "test_test_id", "Should properly fetch web robot for app id")
#!/usr/bin/env python

# Copyright 2013 Appurify, Inc
# All rights reserved
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.

from appurify.client import AppurifyClient

if __name__ == '__main__':
    AppurifyClient.cli()
Exemplo n.º 25
0
 def testUploadTest(self):
     client = AppurifyClient(access_token="authenticated", test_src=__file__, test_type="uiautomation", test_src_type='raw')
     test_id = client.uploadTest('test_app_id')
     self.assertEqual(test_id, "test_test_id", "Should properly fetch web robot for app id")