예제 #1
0
    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)
예제 #2
0
    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()
예제 #3
0
    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'])
예제 #4
0
    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)
예제 #5
0
    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)
예제 #6
0
    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'])
예제 #7
0
#!/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'
예제 #8
0
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