Ejemplo n.º 1
0
    def test_mailbox_init_whitelist(self):
        # Arrange
        mock_lookup_result = MagicMock()
        mock_lookup_result.carrier = {'name': 'Foo Wireless'}

        # Act
        with patch('app.models.look_up_number', return_value=mock_lookup_result):
            mailbox = Mailbox('+15555555555', whitelist=['+17777777777'])

        # Assert
        self.assertEqual(str(mailbox), "<Mailbox '+15555555555'>")
        self.assertEqual(mailbox.carrier, 'Foo Wireless')
        self.assertEqual(mailbox.whitelist, set(['+17777777777']))
Ejemplo n.º 2
0
    def test_sms_no_mailbox_bad_carrier(self):
        # Arrange
        mock_lookup_result = MagicMock()
        mock_lookup_result.carrier = {'name': 'Foo Wireless'}

        # Act
        with patch('app.models.look_up_number', return_value=mock_lookup_result):
            response = self.test_client.post('/message', data={'From': '+15555555555'})

        # Assert
        self.assertEqual(response.status_code, 200)
        self.assertEqual(Mailbox.query.count(), 0)

        content = str(response.data)
        self.assertIn("support that carrier", content)
Ejemplo n.º 3
0
    def test_sms_no_mailbox_good_carrier(self):
        # Arrange
        mock_lookup_result = MagicMock()
        mock_lookup_result.carrier = {'name': 'Verizon Wireless'}

        # Act
        with patch('app.models.look_up_number', return_value=mock_lookup_result):
            response = self.test_client.post('/message', data={'From': '+15555555555'})

        # Assert
        self.assertEqual(response.status_code, 200)
        mailbox = Mailbox.query.one()
        self.assertEqual(mailbox.phone_number, '+15555555555')

        content = str(response.data)
        self.assertIn("your name", content)
Ejemplo n.º 4
0
    def test_sms_reset_command(self):
        # Arrange
        mailbox = Mailbox(phone_number='+15555555555', carrier='Foo Wireless')
        db.session.add(mailbox)

        mock_lookup_result = MagicMock()
        mock_lookup_result.carrier = {'name': 'Bar Wireless'}

        # Act
        with patch('app.models.look_up_number', return_value=mock_lookup_result):
            reply = _process_command('reset', ['reset'], mailbox, '+15555555555')

        # Assert
        self.assertIn('Bzzzzt!', reply)

        mailboxes = Mailbox.query.all()
        self.assertEqual(len(mailboxes), 1)
        self.assertEqual(mailboxes[0].carrier, 'Bar Wireless')