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']))
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)
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)
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')