def test_get_unread_messages(self): self.login(self.user.email) hour_ago = datetime.datetime.now() - datetime.timedelta(hours=1) # Add older message. message1 = Message(from_user=self.contact, to_user=self.user, message='test message', ttl=10, created=hour_ago) message2 = Message(from_user=self.contact, to_user=self.user, message='test message 2', ttl=10) db.session.add(message2) db.session.add(message1) db.session.commit() # Get message list from API. rv = self.client.get('/%s/messages/unread' % API_VERSION) eq_(rv.status_code, 200) data = json.loads(rv.data) eq_(len(data['data']), 2) for attr in ('email', 'avatar'): eq_(data['data'][0][attr], getattr(self.contact, attr)) # First created stamp is less than second. ok_(data['data'][0]['created'] < data['data'][1]['created'], 'Messages not sorted by created descending.') # Photo is empty so has_media is false. eq_(data['data'][0]['has_media'], False) # Expire one and make sure it's gone. sec_ago = datetime.datetime.now() - datetime.timedelta(seconds=1) message1.expire = sec_ago db.session.add(message1) db.session.commit() # Get message list from API. rv = self.client.get('/%s/messages/unread' % API_VERSION) eq_(rv.status_code, 200) data = json.loads(rv.data) eq_(len(data['data']), 1) for attr in ('email', 'avatar'): eq_(data['data'][0][attr], getattr(self.contact, attr))
def test_get_message(self): self.login(self.user.email) # Add a message. message = Message(from_user=self.contact, to_user=self.user, message='test message', ttl=10) db.session.add(message) db.session.commit() # Get message from API. rv = self.client.get('/%s/message/%s' % (API_VERSION, message.id)) eq_(rv.status_code, 200) data = json.loads(rv.data) message_data = message.to_json() for k in data['data'].keys(): eq_(data['data'][k], message_data[k]) # Verify that the message was set to expire. message = Message.query.filter(Message.id==message.id).one() ok_(message.expire is not None)