def testApiListOK(self): """ Test tests correct api sourceList call """ # init S = siuxlib.SiUXclient(auth=self.auth) # source.list() retList = S.sourceList() #pprint.pprint( retList ) self.checkBasicStructure(retList) if retList['statusCode'] == 'OK': for line in retList['data']: sourceId = line['sourceId'] self.assertTrue(isinstance(sourceId, int)) sourceInfo = S.sourceInfo(sourceId) self.checkSourceInfo(line)
def testApiNonExistMethod(self): """ Test tests incorrect api method call raises Attribute error """ # init - with no auth S = siuxlib.SiUXclient(auth="") with self.assertRaises(AttributeError): retList = S.nonExistMethod() # init - with auth S = siuxlib.SiUXclient(auth=self.auth) with self.assertRaises(AttributeError): retList = S.nonExistMethod()
def testSourceInfo(self): """ Test tests correct api sourceList call """ # init S = siuxlib.SiUXclient(auth=self.auth) # source.list() retList = S.sourceList() #pprint.pprint( retList ) if retList['statusCode'] == 'OK': if sys.version_info[0] == 2 and sys.version_info[1] >= 7: self.assertGreater(retList['data'].__len__(), 0) for line in retList['data']: sourceId = line['sourceId'] self.assertTrue(isinstance(sourceId, int)) sourceInfo = S.sourceInfo(sourceId) self.checkSourceInfo(sourceInfo['data'])
def testApiNonExistParameter(self): """ Test tests incorrect api method call raises type error - non existent parameter """ # init - with no auth S = siuxlib.SiUXclient(auth=self.auth) with self.assertRaises(TypeError): retList = S.sourceList(nonExistentParameter=2)
def testApiNotOK(self): """ Test tests correct api unauthorized sourceList call """ # init S = siuxlib.SiUXclient(auth="") # source.list() retList = S.sourceList() #pprint.pprint( retList ) self.assertTrue('status' in retList) self.assertEqual(401, retList['status']) self.assertTrue('statusCode' in retList) self.assertEqual('UNAUTHORIZED', retList['statusCode']) self.assertTrue('statusMessage' in retList) self.assertEqual('Unauthorized', retList['statusMessage']) self.assertTrue('time' in retList) self.assertTrue('time' in retList) S = siuxlib.SiUXclient(auth="not existent auth string") self.assertTrue('status' in retList) self.assertEqual(401, retList['status']) self.assertTrue('statusCode' in retList) self.assertEqual('UNAUTHORIZED', retList['statusCode']) self.assertTrue('statusMessage' in retList) self.assertEqual('Unauthorized', retList['statusMessage']) self.assertTrue('time' in retList) self.assertTrue('time' in retList)
def testApiListFailGroupString(self): """ Test tests error message when groupId is not number """ # init S = siuxlib.SiUXclient(auth=self.auth) # source.list() retList = S.sourceList(sourceGroupId="testing string") #pprint.pprint( retList ) self.assertEqual(409, retList['status']) self.assertEqual('WRONG_ARG', retList['statusCode']) self.assertEqual( 'Wrong input argument(s) : SourceGroupId "testing string" must be integer', retList['statusMessage'])
#!/usr/bin/python import pprint, sys sys.path.append('../siux') import siuxlib # config auth = '<YOUR_API_KEY>' # init S = siuxlib.SiUXclient(auth=auth) # source.list() print "--- source.list() ---- " retList = S.sourceList() pprint.pprint(retList) print # source.info() if retList['statusCode'] == 'OK': sourceId = retList['data'][0]['sourceId'] print "--- source.info( %s ) ---- " % (sourceId, ) pprint.pprint(S.sourceInfo(sourceId)) print print print '.done'
class TestSummary(unittest.TestCase): # config auth = '<YOUR_API_KEY>' __siux = siuxlib.SiUXclient(auth=auth) def testMethod(self): retMethod = self.__siux.methodList() return retMethod def testList(self): # method list retMethod = self.__siux.methodList() # todo: bugfix blacklist = ( 'sourceDropoutList', 'sourceStatDailyList', 'sourceStatMonthlyList', 'dropoutList',\ 'sourceStatList' , 'availabilityList', 'seleniumAdvancedList', 'seleniumList', 'sourceStatWeeklyList') for line in retMethod['data']: # only list methods methodName = line['methodName'] if not methodName.endswith('List'): continue if methodName in blacklist: continue # run list method print line retList = self.runList(line['methodName']) # method not implemented if retList['status'] == 501: continue # test parameters self.assertTrue('status' in retList) self.assertTrue('statusCode' in retList) self.assertTrue('statusMessage' in retList) self.assertEqual(200, retList['status']) self.assertEqual('OK', retList['statusCode']) def runList(self, method=''): try: methodTest = getattr(self.__siux, method) ret = methodTest() except Exception, emsg: msg501 = "SiUXclient instance has no attribute '%s'" % (method) if str(emsg) == msg501: return { 'status': 501, 'statusMessage': 'Not Implemented', 'errorMessage': str(emsg), 'statusCode': 'NOT_IMPLEMENTED', 'found': 0 } return { 'status': 500, 'statusMessage': 'Server Error', 'errorMessage': str(emsg), 'statusCode': 'SERVER_ERR', 'found': 0 } return ret