Пример #1
0
    def __init__(self, id=None, name=None, parent=None, **kwargs):
        """
            Initiates a WebElement object
            (if no name is passed in it will default to id)
        """
        Connectable.__init__(self)

        self._tagName = self.__class__.tagName
        self._tagSelfCloses = self.tagSelfCloses
        self._prefix = None

        self.id = id
        self.name = name or id
        self.parent = parent
        self.key = None

        self._style = None
        self._classes = None
        self._attributes = None
        self._clientSide = None

        self._childElements = None
        self.addChildElementsTo = self

        self.__scriptTemp__ = None
        self.__scriptContainer__ = None
        self.__objectTemp__ = None
        self._editable = None
        self.validator = None

        if kwargs:
            self.setProperties(kwargs)
Пример #2
0
   def __init__(self, components, connections):
       '''__init__(connections, components) -> new composite connectable
 connections: a list of connections specified by strings
 components: a dictionary of {name:component} of components
     encapsulated in this composite
 '''
       Connectable.__init__(self)
       self._connections = connections
       self._components = components
       self._chains = self._establishConnections()
       return
Пример #3
0
   def __init__(self, components, connections):
       '''__init__(connections, components) -> new composite connectable
 connections: a list of connections specified by strings
 components: a dictionary of {name:component} of components
     encapsulated in this composite
 '''
       Connectable.__init__(self)
       self._connections = connections
       self._components = components
       self._chains = self._establishConnections()
       return
Пример #4
0
    def __init__(self, id=None, name=None, parent=None):
        """
            Initiates a WebElement object
            (if no name is passed in it will default to id)
        """
        Connectable.__init__(self)

        self.id = id
        self.name = name or id
        self.parent = parent

        self.style = {}
        self.classes = set()
        self.attributes = {}

        self.childElements = []
        self.addChildElementsTo = self
Пример #5
0
    def __init__(self, id=None, name=None, parent=None):
        """
            Initiates a WebElement object
            (if no name is passed in it will default to id)
        """
        Connectable.__init__(self)

        self.id = id
        self.name = name or id
        self.parent = parent

        self.style = {}
        self.classes = set()
        self.attributes = {}

        self.childElements = []
        self.addChildElementsTo = self
Пример #6
0
 def __init__(self):
     Connectable.__init__(self)
     return
Пример #7
0
 def setUp(self):
     self.connectableObj = Connectable(None)
     self.assertNotEqual(self.connectableObj, None)
Пример #8
0
class ConnectableTests(BaseTestCase):
    def setUp(self):
        self.connectableObj = Connectable(None)
        self.assertNotEqual(self.connectableObj, None)

    def testAddress(self):
        self.assertEqual(self.connectableObj.setAddress(None), None)
        self.assertEqual(self.connectableObj.getAddress(), None)

        self.assertEqual(self.connectableObj.setAddress('http://127.0.0.1'), None)
        self.assertEqual(self.connectableObj.getAddress(), 'http://127.0.0.1')

    def testAttrManifestSetting(self):
        self.assertEqual(self.connectableObj.setAttrManifestDict({}), True)
        self.assertEqual(self.connectableObj.setAttrManifestDict(None), False)
        __manifestRules = dict(put=['x', 'y', 'z', 'phi', 'psi'])
        self.assertEqual(self.connectableObj.setAttrManifestDict(__manifestRules), True)
        self.assertEqual(self.connectableObj.getAttrManifestDict(), __manifestRules)

    def testGetAttrSetting(self):
        __getAttrs = ['x', 'y', 'select', 'associatedImage_id', 'id']
        self.assertEqual(self.connectableObj.setAttrManifestDict(dict(get=__getAttrs)), True)

        __screenedVars =self.connectableObj.filterForRestGet(dict(x=10, y=24.0, associatedImage_id=24, id=235, associatedRange_id=25))
        self.assertNotEqual(None, __screenedVars)
        self.assertEqual(hasattr(__screenedVars, 'keys'), True)
        self.assertNotEqual(list(__screenedVars.keys()), __getAttrs)
        self.assertNotIn('associatedRange_id', __screenedVars)

    def testPutAttrSetting(self):
        __putAttrs = ['x', 'y', 'select', 'associatedImage_id', 'associatedRange_id']
        self.assertEqual(self.connectableObj.setAttrManifestDict(dict(put=__putAttrs)), True)

        __screenedVars =self.connectableObj.filterForRestPut(dict(x=10, y=24.0, associatedImage_id=24, id=76, associatedRange_id=25))
        self.assertNotEqual(None, __screenedVars)
        self.assertEqual(hasattr(__screenedVars, 'keys'), True)
        self.assertNotEqual(list(__screenedVars.keys()), __putAttrs)
        self.assertNotIn('id', __screenedVars)

    def testPostAttrSetting(self):
        __postAttrs = ['x', 'y', 'select', 'associatedImage_id', 'associatedRange_id']
        self.assertEqual(self.connectableObj.setAttrManifestDict(dict(post=__postAttrs)), True)

        __screenedVars = self.connectableObj.filterForRestPost(dict(y=94, associatedImage_id=23, id=59, associatedRange_id=28))
        self.assertNotEqual(None, __screenedVars)
        self.assertEqual(hasattr(__screenedVars, 'keys'), True)
        self.assertNotEqual(list(__screenedVars.keys()), __postAttrs)

        self.assertNotIn('x', __screenedVars) # Legal variable but was not included in the attribute dict
        self.assertNotIn('id', __screenedVars)

    def testDeleteAttrSetting(self):
        __deleteAttrs = ['x', 'y', 'id']
        self.assertEqual(self.connectableObj.setAttrManifestDict(dict(delete=__deleteAttrs)), True)

        __screenedVars = self.connectableObj.filterForRestDelete(dict(x=12, associatedImage_id=45, id=13))
        self.assertNotEqual(None, __screenedVars)
        self.assertEqual(hasattr(__screenedVars, 'keys'), True)
        self.assertNotEqual(list(__screenedVars.keys()), __deleteAttrs)

        self.assertNotIn('y', __screenedVars)
        self.assertNotIn('associatedImage_id', __screenedVars)

    def testDBLiason(self):
        self.assertEqual(self.connectableObj.initDBLiason(), True)
        __1stDbLiason = self.connectableObj.getDBLiason()
        self.assertNotEqual(__1stDbLiason, None)

        self.assertEqual(self.connectableObj.setConnectedAddress('http://127.0.0.1'), True)
        __2ndDbLiason = self.connectableObj.getDBLiason()
        self.assertNotEqual(__2ndDbLiason, None)

        self.assertNotEqual(__1stDbLiason, __2ndDbLiason)

    def testCrossNetConnections(self):
        limitRules =dict(
            post=['title', 'author', 'uri', 'phi', 'psi', 'alt'], put=['title', 'author', 'uri', 'phi', 'psi', 'alt'],
            get=['title', 'select', 'uri', 'id', 'format', 'psi', 'phi'], delete=['title', 'author', 'id', 'uri', 'alt']
        )
        self.assertEqual(self.connectableObj.setAttrManifestDict(limitRules), True)
        self.assertEqual(self.connectableObj.setConnectedAddress('http://127.0.0.1:8000/gcs/imageHandler'), True)
        self.assertEqual(self.connectableObj.getAddress(), 'http://127.0.0.1:8000/gcs/imageHandler')
       
        imageData = dict(author=os.environ.get('USERNAME', 'Anonymous'), phi=-0.257, title='TestImageHere') 

        postResult = self.connectableObj.postConn(imageData)
        print('postResult', postResult)

        getResult = self.connectableObj.getConn(imageData)
        print('getResult', getResult)

        putResult  = self.connectableObj.putConn(imageData)
        # Requiring an id for an update/put
        queriedId = getResult.get('value', {}).get('data', [{}])[0].get('id', -1)
        if queriedId != -1:
            imageData['id'] =  queriedId
        print('putResult', putResult)

        deleteResult = self.connectableObj.deleteConn(imageData)
        print('deleteResult', deleteResult)

    def tearDown(self):
        pass