def test_incomingReceipt_multi(self): from yowsup_ext.layers.store.models.state import State messages = [self.sendMessage(), self.sendMessage(), self.sendMessage()] #get acks for message in messages: self.receiveAck(message) #get receipt receipt = IncomingReceiptProtocolEntity(str(time.time()), messages[0].getTo(), str(int(time.time())), items = [message.getId() for message in messages]) self.stack.receive(receipt) # check for message in messages: state = self.getMessageState(message.getId()) self.assertEqual(state.name, State.get_sent_delivered().name) receipt.type = "read" self.stack.receive(receipt) for message in messages: state = self.getMessageState(message.getId()) self.assertEqual(state.name, State.get_sent_read().name)
def onSuccess(self, successProtocolEntity): self.lock.acquire() for target in self.getProp(self.__class__.PROP_MESSAGES, []): #getProp() is trying to retreive the list of (jid, message) tuples, if none exist, use the default [] print "@@@@@@", target print "mmmmm", "Spiniiiiiii" phone, message = target #phone = target #message = "Spiniiiii" #receipt = OutgoingReceiptProtocolEntity() if '@' in phone: messageEntity = TextMessageProtocolEntity(message, to = phone) elif '-' in phone: messageEntity = TextMessageProtocolEntity(message, to = "*****@*****.**" % phone) else: print "qqqqqq" messageEntity = TextMessageProtocolEntity(message, to = "*****@*****.**" % phone) receipt = IncomingReceiptProtocolEntity(messageEntity.getId(), phone, 'read', messageEntity.getParticipant()) entity = IncomingAckProtocolEntity(receipt.getId(), 'receipt', phone, int(time.time())) print entity.getId() print "-->>", messageEntity.getId(), messageEntity.getFrom(), messageEntity.getParticipant() print "###", receipt.getId(), "type", receipt.getType() #append the id of message to ackQueue list #which the id of message will be deleted when ack is received. self.ackQueue.append(messageEntity.getId()) self.toLower(messageEntity) # self.toLower(receipt) self.lock.release() print "lock released"
def test_incomingReceipt_multi(self): from yowsup_ext.layers.store.models.state import State messages = [self.sendMessage(), self.sendMessage(), self.sendMessage()] #get acks for message in messages: self.receiveAck(message) #get receipt receipt = IncomingReceiptProtocolEntity( str(time.time()), messages[0].getTo(), str(int(time.time())), items=[message.getId() for message in messages]) self.stack.receive(receipt) # check for message in messages: state = self.getMessageState(message.getId()) self.assertEqual(state.name, State.get_sent_delivered().name) receipt.type = "read" self.stack.receive(receipt) for message in messages: state = self.getMessageState(message.getId()) self.assertEqual(state.name, State.get_sent_read().name)
def send_receipt(self, node, status=None): # status=None defualt indicates 'delivered' # alt: status='read' receipt = IncomingReceiptProtocolEntity( _id=node['id'], _from=node['to'], timestamp=str(int(time.time())), type=status) self.receive(receipt.toProtocolTreeNode())
def test_incomingReceipt(self): from yowsup_ext.layers.store.models.state import State message = self.sendMessage() ack = self.receiveAck(message) receipt = IncomingReceiptProtocolEntity(message.getId(), message.getTo(), str(int(time.time()))) self.stack.receive(receipt) state = self.getMessageState(message.getId()) self.assertEqual(state.name, State.get_sent_delivered().name) receipt.type = "read" self.stack.receive(receipt) state = self.getMessageState(message.getId()) self.assertEqual(state.name, State.get_sent_read().name)
def receipt_incoming_protocol_entity(): attributes = { "_id": "123", "_from": "sender", "timestamp": int(time.time()) } return IncomingReceiptProtocolEntity(**attributes)
def onSuccess(self, successProtocolEntity): for target in self.getProp(self.__class__.PROP_MESSAGES, []): phone, message = target messageEntity = TextMessageProtocolEntity(message, to=phone) receipt = IncomingReceiptProtocolEntity(messageEntity.getId(), phone, int(time.time())) self.toLower(messageEntity) print "Testing" self.toLower(receipt)
def test_incomingReceipt(self): from yowsup_ext.layers.store.models.state import State message = self.sendMessage() ack = self.receiveAck(message) receipt = IncomingReceiptProtocolEntity(message.getId(), message.getTo(), str(int(time.time()))) self.stack.receive(receipt) state = self.getMessageState(message.getId()) self.assertEqual(state.name, State.get_sent_delivered().name) receipt.type = "read" self.stack.receive(receipt) state = self.getMessageState(message.getId()) self.assertEqual(state.name, State.get_sent_read().name)
def fromProtocolTreeNode(node): entity = IncomingReceiptProtocolEntity.fromProtocolTreeNode(node) entity.__class__ = RetryIncomingReceiptProtocolEntity retryNode = node.getChild("retry") entity.setRetryData( ResultGetKeysIqProtocolEntity._bytesToInt( node.getChild("registration").data), retryNode["v"], retryNode["count"], retryNode["t"]) return entity
def fromProtocolTreeNode(node): entity = IncomingReceiptProtocolEntity.fromProtocolTreeNode(node) entity.__class__ = RetryIncomingReceiptProtocolEntity retryNode = node.getChild("retry") entity.setRetryData( ResultGetKeysIqProtocolEntity._bytesToInt(node.getChild("registration").data), retryNode["v"], retryNode["count"], retryNode["t"], ) return entity
def onSuccess(self, successProtocolEntity): self.lock.acquire() for target in self.getProp(self.__class__.PROP_MESSAGES, []): #getProp() is trying to retreive the list of (jid, message) tuples, if none exist, use the default [] print "@@@@@@", target print "mmmmm", "Spiniiiiiii" phone, message = target #phone = target #message = "Spiniiiii" #receipt = OutgoingReceiptProtocolEntity() if '@' in phone: messageEntity = TextMessageProtocolEntity(message, to=phone) elif '-' in phone: messageEntity = TextMessageProtocolEntity(message, to="*****@*****.**" % phone) else: print "qqqqqq" messageEntity = TextMessageProtocolEntity( message, to="*****@*****.**" % phone) receipt = IncomingReceiptProtocolEntity( messageEntity.getId(), phone, 'read', messageEntity.getParticipant()) entity = IncomingAckProtocolEntity(receipt.getId(), 'receipt', phone, int(time.time())) print entity.getId() print "-->>", messageEntity.getId(), messageEntity.getFrom( ), messageEntity.getParticipant() print "###", receipt.getId(), "type", receipt.getType() #append the id of message to ackQueue list #which the id of message will be deleted when ack is received. self.ackQueue.append(messageEntity.getId()) self.toLower(messageEntity) # self.toLower(receipt) self.lock.release() print "lock released"
def receive_receipt(self): receipt = IncomingReceiptProtocolEntity("123", "sender", int(time.time())) self.receive(receipt) return receipt
def setUp(self): self.ProtocolEntity = IncomingReceiptProtocolEntity self.node = IncomingReceiptProtocolEntity( "123", "sender", int(time.time())).toProtocolTreeNode()