class Test(unittest.TestCase):

    '''
    NOTE: Some changes prevent this test from running without a FAIL. Use breakpoints for Debugging.
    '''

    def setUp(self):
        self.iqbasedavatar = IQBasedAvatar()
        
        #build test set avatar stanza
        self.iq = domish.Element((None, 'iq'))
        self.iq['id'] = '1234'
        self.iq['type'] = 'set'
        self.iq['from'] = '*****@*****.**'
        self.iq['to'] = '*****@*****.**'
        
        query = self.iq.addElement(('storage:client:avatar', 'query'))
        data = query.addElement('data')
        data['mimetype'] = 'image/png'
        data.addContent('Base64 Encoded Data')
        
        print self.iq.toXml()

    def tearDown(self):
        pass

    #test on receive a set avatar stanza
    def test_onSetAvatar(self):
        self.iqbasedavatar.saveAvatar = self.onSaveAvatar
        self.iqbasedavatar._onSetAvatar(self.iq)
    
    def onSaveAvatar(self, ownerJID, avatarData):
        self.assertEqual(ownerJID.userhost(), '*****@*****.**')
        self.assertEqual(avatarData, 'Base64 Encoded Data')

    def test_AvatarResult(self):
        r = AvatarResult(1234, '*****@*****.**', '*****@*****.**', 'Base64 Encoded Data')
        print r.toXml()
        pass
 def __init__(self, backend_interaction, component=False):
     '''
     @param backend_interaction: The handler for cumminicating with the logic of the backend.
     @type backend_interaction: ServerInteraction 
     '''
     #init XEPs
     MessageProtocol.__init__(self)
     LocationQuery.__init__(self)
     JabberRPC.__init__(self)
     IQBasedAvatar.__init__(self)
     PresenceClientProtocol.__init__(self)
     self.component = component
     
     #register rpc functions
     self.registerMethodCall('getSettings', self.onGetSettings)
     self.registerMethodCall('setSettings', self.onSetSettings)
     self.registerMethodCall('getUserInfo', self.onGetUserInfo)
     self.registerMethodCall('createFriendship', self.onCreateFriendship)
     self.registerMethodCall('destroyFriendship', self.onDestroyFriendship)
     
     #give the backend (ServerInteraction) a reference to this protocol handler
     self.backend = backend_interaction
     self.backend.set_server_component(self)
 def setUp(self):
     self.iqbasedavatar = IQBasedAvatar()
     
     #build test set avatar stanza
     self.iq = domish.Element((None, 'iq'))
     self.iq['id'] = '1234'
     self.iq['type'] = 'set'
     self.iq['from'] = '*****@*****.**'
     self.iq['to'] = '*****@*****.**'
     
     query = self.iq.addElement(('storage:client:avatar', 'query'))
     data = query.addElement('data')
     data['mimetype'] = 'image/png'
     data.addContent('Base64 Encoded Data')
     
     print self.iq.toXml()
 def connectionInitialized(self):
     LocationQuery.connectionInitialized(self)
     JabberRPC.connectionInitialized(self)
     MessageProtocol.connectionInitialized(self)
     IQBasedAvatar.connectionInitialized(self)
     PresenceClientProtocol.connectionInitialized(self)