def __given_second_list_modifier_returns_no_jid_handles(self):

        UnExpectedJidHandles = []
        UnExpectedJidHandles.append(JidHandle('someUserName', 'someCrazyJid'))
        UnExpectedJidHandles.append(
            JidHandle('someOtherUserName', 'someOtherJid'))

        with Spy() as FirstFilter:
            FirstFilter.getJidHandleGroupResult(any(), any(), any()) >> Result(
                [JidHandleGroup(UnExpectedJidHandles)])

        with Spy() as SecondFilter:
            SecondFilter.getJidHandleGroupResult(any(), any(),
                                                 any()) >> Result([])

        with Spy() as ThirdFilter:
            ThirdFilter.getJidHandleGroupResult(any(), any(), any()) >> Result(
                [JidHandleGroup(UnExpectedJidHandles)])

        with Spy() as MockedConfig:
            MockedConfig.getOrderedRecipientListModifiers() >> [
                FirstFilter, SecondFilter, ThirdFilter
            ]
            MockedConfig.getJidHandleGroups() >> [
                JidHandleGroup(UnExpectedJidHandles)
            ]

        self.__MyConfig = MockedConfig
 def setUp(self):
     unittest.TestCase.setUp(self)
     self.__PresenceManager = None
     FirstJidHandle = JidHandle('someUserName', '*****@*****.**')
     SecondJidHandle = JidHandle('someOtherUserName',
                                 '*****@*****.**')
     self.__JidHandles = [FirstJidHandle, SecondJidHandle]
    def __given_multiple_jid_handles_in_configuration_with_no_list_modifiers(
            self):
        ExpectedJidHandles = []
        ExpectedJidHandles.append(JidHandle('someUserName', 'someCrazyJid'))
        ExpectedJidHandles.append(
            JidHandle('someOtherUserName', 'someOtherJid'))
        with Spy() as MockedConfig:
            MockedConfig.getJidHandleGroups() >> [
                JidHandleGroup(ExpectedJidHandles)
            ]
            MockedConfig.getOrderedRecipientListModifiers() >> []

        self.__MyConfig = MockedConfig
        return [JidHandleGroup(ExpectedJidHandles)]
Exemplo n.º 4
0
    def __sendForwardedMessageBackToSender(self, sender):
        messageBody = self._MessageBuilder.getMessageForwardedMessageBody()
        SenderJidHandle = [JidHandle('', sender)]
        MessageForwardedMessage = Message([JidHandleGroup(SenderJidHandle)],
                                          messageBody)

        self._ItBot.sendMessage(MessageForwardedMessage)
Exemplo n.º 5
0
	def test_isJidHandleAvailable_returns_false_if_jid_handle_is_extended_away_status(self):
		""" This is the option where you can select to appear as offline """

		SomeJidHandle = JidHandle('someUserName', '*****@*****.**')
		self.__given_jid_handle_status_is_currently(SomeJidHandle, 'xa')

		self.assertFalse(self.__PresenceManager.isJidHandleAvailable(SomeJidHandle))
Exemplo n.º 6
0
 def __sendHelpDeskUserCouldNotForwardToGroupMessage(self, sender):
     messageBody = self._MessageBuilder.getHelpdeskUserCouldNotForwardToGroupMessageBody(
     )
     SenderJidHandle = [JidHandle('', sender)]
     CouldNotForwardMessage = Message([JidHandleGroup(SenderJidHandle)],
                                      messageBody)
     self._ItBot.sendMessage(CouldNotForwardMessage)
Exemplo n.º 7
0
 def __sendHelpDeskUserConfirmationMessage(self, sender):
     messageBody = self._MessageBuilder.getHelpdeskUserConfirmationMessageBody(
     )
     SenderJidHandle = [JidHandle('', sender)]
     HelpDeskUserConfirmationMessage = Message(
         [JidHandleGroup(SenderJidHandle)], messageBody)
     self._ItBot.sendMessage(HelpDeskUserConfirmationMessage)
    def __given_pending_request_exists_and_has_timed_out(self):
        with Spy() as PresenceConfirmationManager:
            PresenceConfirmationManager.hasPendingRequest() >> True
            PresenceConfirmationManager.hasTimedOut() >> True
            PresenceConfirmationManager.startNewRequest()

        self.__PresenceConfirmationManager = PresenceConfirmationManager

        PreviousRequestedRecipient = [
            JidHandle('somePreviousJid', '*****@*****.**')
        ]
        JidHandles = [JidHandle('someJid', '*****@*****.**')]
        JidHandleGroups = [JidHandleGroup(JidHandles)]
        with Spy() as RecipientChooser:
            RecipientChooser.getJidHandleGroupResult(
                any(), any()) >> Result(JidHandleGroups)
            RecipientChooser.getCurrentRequestedRecipient(
            ) >> PreviousRequestedRecipient

        self.__RecipientChooser = RecipientChooser

        relayMessageBody = 'Some Message Body'
        notificationMessageBody = 'Hey snoozer your message has been forwarded'
        with Stub() as MessageBuilder:
            MessageBuilder.getTimedOutNotificationMessageBody(
                any()) >> notificationMessageBody
            MessageBuilder.getPendingMessagesForRequestedRecipient(
            ) >> relayMessageBody

        self.__MessageBuilder = MessageBuilder

        self.__ExpectedForwardedMessage = Message(JidHandleGroups,
                                                  relayMessageBody)
        self.__ExpectedNotificationMessage = Message(
            [JidHandleGroup(PreviousRequestedRecipient)],
            notificationMessageBody)
        self.__ExpectedRequesterNotificationMessage = Message(
            [JidHandleGroup(PreviousRequestedRecipient)],
            notificationMessageBody)

        with Spy() as ItBot:
            pass
        self.__ItBot = ItBot
    def __given_pending_request_exists_and_has_timed_out_and_nobody_is_available(
            self):
        with Spy() as PresenceConfirmationManager:
            PresenceConfirmationManager.hasPendingRequest() >> True
            PresenceConfirmationManager.hasTimedOut() >> True

        self.__PresenceConfirmationManager = PresenceConfirmationManager

        PreviousRequestedRecipient = [
            JidHandle('somePreviousJid', '*****@*****.**')
        ]
        RequesterJidHandles = [
            JidHandle('someRequesterJid', '*****@*****.**')
        ]
        with Spy() as Filter:
            Filter.getRequesterJidHandles() >> RequesterJidHandles
            Filter.getCurrentRequestedRecipient() >> PreviousRequestedRecipient

        JidHandles = [JidHandle('someJid', '*****@*****.**')]
        JidHandleGroups = [JidHandleGroup(JidHandles)]
        with Spy() as RecipientChooser:
            RecipientChooser.getJidHandleGroupResult(
                any(), any()) >> Result(resultCode=Result.NOBODY_AVAILABLE)
            RecipientChooser.getRecipientListModifierByClass(any()) >> Filter

        self.__RecipientChooser = RecipientChooser

        nobodyAvailableMessageBody = 'Nobody here son!'
        with Spy() as MessageBuilder:
            MessageBuilder.getNobodyAvailableMessageBody(
            ) >> nobodyAvailableMessageBody

        self.__MessageBuilder = MessageBuilder

        self.__ExpectedRequesterNotificationMessage = Message(
            [JidHandleGroup(RequesterJidHandles)], nobodyAvailableMessageBody)

        with Spy() as ItBot:
            pass
        self.__ItBot = ItBot
Exemplo n.º 10
0
    def __given_first_list_modifier_returns_dont_send_message_result(self):
        with Spy() as FirstFilter:
            FirstFilter.getJidHandleGroupResult(any(), any(), any()) >> Result(
                resultCode=Result.DONT_SEND_ANY_MESSAGE)

        UnExpectedJidHandles = []
        UnExpectedJidHandles.append(JidHandle('someUserName', 'someCrazyJid'))
        UnExpectedJidHandles.append(
            JidHandle('someOtherUserName', 'someOtherJid'))

        with Spy() as SecondFilter:
            SecondFilter.getJidHandleGroupResult(
                any(), any(), any()) >> Result(UnExpectedJidHandles)

        with Spy() as MockedConfig:
            MockedConfig.getOrderedRecipientListModifiers() >> [
                FirstFilter, SecondFilter
            ]
            MockedConfig.getJidHandleGroups() >> [
                JidHandleGroup([]),
                JidHandleGroup(UnExpectedJidHandles)
            ]

        self.__MyConfig = MockedConfig
Exemplo n.º 11
0
 def _getJidHandle(self):
     return JidHandle('someJid' + str(random()),
                      'someJid' + str(random()) + '@jid.com')
Exemplo n.º 12
0
	def test_getStatusMsg_returns_correct_status_msg(self):
		SomeJidHandle = JidHandle('someUserName', '*****@*****.**')
		expectedMsg = 'On vacation!'
		self.__given_jid_handle_status_msg_is_currently(SomeJidHandle, expectedMsg)

		self.assertEquals(expectedMsg, self.__PresenceManager.getStatusMsg(SomeJidHandle))
Exemplo n.º 13
0
	def test_isJidHandleAvailable_returns_false_if_jid_handle_is_not_found(self):
		'''This can happen if a JidHandle is invalid or if the person is currently logged off'''
		SomeJidHandle = JidHandle('someUserName', '*****@*****.**')

		self.assertFalse(self.__PresenceManager.isJidHandleAvailable(SomeJidHandle))
Exemplo n.º 14
0
	def test_isJidHandleAvailable_returns_true_if_jid_handle_status_is_chatty(self):
		SomeJidHandle = JidHandle('someUserName', '*****@*****.**')
		self.__given_jid_handle_status_is_currently(SomeJidHandle, 'chat')

		self.assertTrue(self.__PresenceManager.isJidHandleAvailable(SomeJidHandle))
Exemplo n.º 15
0
	def test_isJidHandleAvailable_returns_false_if_jid_handle_is_do_not_disturb_status(self):
		SomeJidHandle = JidHandle('someUserName', '*****@*****.**')
		self.__given_jid_handle_status_is_currently(SomeJidHandle, 'dnd')

		self.assertFalse(self.__PresenceManager.isJidHandleAvailable(SomeJidHandle))