def test_ReadMessage_ThenPost_ThenReadMessage_ReturnsAMessage(self): chat.getMessages(self._roomName) m = chat.Message(user="******", date=datetime.utcnow(), message="test message", room=self._roomName) chat.storeMessage(m) msg, users = getMessagesAndUsersFromJson( chat.getMessages(self._roomName)) self.assertEqual(1, len(msg))
def test_UserStatusIsFalse_WhenFalseActivityLogged(self): u = chat.UserActivity(name="TestUser", active="false", room=self._roomName) chat.logUserActivity(u) msg, users = getMessagesAndUsersFromJson( chat.getMessages(self._roomName)) self.assertEqual(users[0].active, False)
def test_MessageObject_CanBeSerializedAndDeSerialized(self): m = chat.Message(user="******", date=datetime.utcnow(), message="unit test message", room=self._roomName) chat.storeMessage(m) msg, users = getMessagesAndUsersFromJson( chat.getMessages(self._roomName)) self.assertEqual(1, len(msg))
def test_UserIsLoggedIn_WhileTheyAreStillActiveOrPolling(self): today = datetime.utcnow() threeMinuteAgoDelta = timedelta(minutes=-3) u = chat.UserActivity(name="TestUser", active=False, date=today + threeMinuteAgoDelta, room=self._roomName) chat.logUserActivity(u) msg, users = getMessagesAndUsersFromJson( chat.getMessages(self._roomName)) self.assertEqual(0, len(users)) u.date = today chat.logUserActivity(u) msg, users = getMessagesAndUsersFromJson( chat.getMessages(self._roomName)) self.assertEqual(1, len(users))
def test_UserStatusIsTrue_WhenFalseThenTruePythonBooleanActivityRead(self): u = chat.UserActivity(name="TestUser", active=False, room=self._roomName) chat.logUserActivity(u) u = chat.UserActivity(name="TestUser", active=True, room=self._roomName) chat.logUserActivity(u) msg, users = getMessagesAndUsersFromJson( chat.getMessages(self._roomName)) self.assertEqual(users[0].active, True)
def test_LinkInMessage_IsConvertedToHtmlLink(self): m = chat.Message(user="******", message="http://www.google.com", room=self._roomName) chat.storeMessage(m) msg, users = getMessagesAndUsersFromJson( chat.getMessages(self._roomName)) self.assertEqual(1, len(msg)) self.assertEqual( "<a href=\"http://www.google.com\" target=\"_blank\" tabindex=\"-1\">http://www.google.com</a>", msg[0].message)
def test_ReadMessage_DoesNotReturnMessages24HoursOld(self): today = datetime.utcnow() twentyFourHours = timedelta(days=-1) m = chat.Message(user="******", date=today + twentyFourHours, message="test message", room=self._roomName) yesterday = today + twentyFourHours chat._todaysKey = yesterday.strftime("%Y_%m_%d") chat.storeMessage(m) chat._todaysKey = yesterday.strftime("%Y_%m_%d") msg, users = getMessagesAndUsersFromJson( chat.getMessages(self._roomName)) self.assertEqual(0, len(msg)) self.assertEqual(today.strftime("%Y_%m_%d"), chat._todaysKey)
def test_ComplexLinkInMessage_IsConvertedToHtmlLink(self): m = chat.Message( user="******", message= "http://johnbragg.smugmug.com/Other/ChoreoBusiness-Furniture/37756450_cFGjCq#!i=3127167673&k=cgrFStR", room=self._roomName) chat.storeMessage(m) msg, users = getMessagesAndUsersFromJson( chat.getMessages(self._roomName)) self.assertEqual(1, len(msg)) self.assertEqual( "<a href=\"http://johnbragg.smugmug.com/Other/ChoreoBusiness-Furniture/37756450_cFGjCq#!i=3127167673&k=cgrFStR\" target=\"_blank\" tabindex=\"-1\">" + "http://johnbragg.smugmug.com/Other/ChoreoBusiness-Furniture/37756450_cFGjCq#!i=3127167673&k=cgrFStR</a>", msg[0].message)
def test_UserIsLoggedOut_AfterTwoMinutesWithoutPolling(self): today = datetime.utcnow() threeMinuteAgoDelta = timedelta(minutes=-3) u = chat.UserActivity(name="TestUser", active=False, date=today + threeMinuteAgoDelta, room=self._roomName) chat.logUserActivity(u) twoMinuteAgoDelta = timedelta(minutes=-2) u = chat.UserActivity(name="TestUser", active=False, date=today + twoMinuteAgoDelta, room=self._roomName) chat.logUserActivity(u) msg, users = getMessagesAndUsersFromJson( chat.getMessages(self._roomName)) self.assertEqual(0, len(users))
def test_WhenPreviousDayWasMostRecentlyUse_GetMessagesUpdatesToTodayAndReturnsNewMessages( self): oneDayAgo = timedelta(days=-1) m = chat.Message(user="******", date=datetime.utcnow() + oneDayAgo, message="test", room=self._roomName) chat._todaysKey = (datetime.utcnow() + oneDayAgo).strftime("%Y_%m_%d") chat.storeMessage(m) chat._todaysKey = (datetime.utcnow() + oneDayAgo).strftime("%Y_%m_%d") m = chat.Message(user="******", date=datetime.utcnow(), message="test 1", room=self._roomName) chat.storeMessage(m) msg, _ = getMessagesAndUsersFromJson(chat.getMessages(self._roomName)) self.assertEqual(1, len(msg))
def test_UserIsLoggedIn_WhileTheyAreTyping(self): today = datetime.utcnow() threeMinuteAgoDelta = timedelta(minutes=-3) u = chat.UserActivity(name="TestUser", active=False, date=today + threeMinuteAgoDelta, room=self._roomName) chat.logUserActivity(u) m = chat.Message(user="******", date=datetime.utcnow(), message="test message", room=self._roomName) chat.storeMessage(m) msg, users = getMessagesAndUsersFromJson( chat.getMessages(self._roomName)) self.assertEqual(1, len(users))