def test_send_circle(self, mock_smtplib): gift_circle = GiftCircle("test_unit_3.txt") gift_circle.parse_data() gift_circle.shuffle_data() smtpserver = mock_smtplib.return_value smtpserver.sendmail.return_value={} gift_circle.send_circle() self.assertTrue(smtpserver.sendmail.called)
def test_send_circle(self, mock_twilio): gift_circle = GiftCircle("test_unit_6.txt") gift_circle.parse_data() gift_circle.shuffle_data() import random class message(object): sid = "SM"+"".join(random.choice("abcdef0123456789") for i in range(32)) twilio = mock_twilio.return_value twilio.sms.messages.create.return_value=message() gift_circle.send_circle() self.assertTrue(twilio.sms.messages.create.called)
def test_shuffle_data(self): gift_circle = GiftCircle("test_unit_3.txt") parsed = gift_circle.parse_data() shuffled = gift_circle.shuffle_data() names_shuffled = [ s['name'] for s in shuffled ] names_shuffled.sort() self.assertEqual(names_shuffled, [ p['name'] for p in parsed ]) elem = random.choice(names_shuffled) self.assertTrue(elem in names_shuffled) with self.assertRaises(ValueError): random.sample(names_shuffled, 4) for elem in random.sample(names_shuffled, 3): self.assertTrue(elem in names_shuffled)
def test_cannotshuffle_without_parse(self): gift_circle = GiftCircle("test_unit_3.txt") with self.assertRaisesRegexp(AttributeError, "'GiftCircle' object has no attribute 'parsed'") as ex: shuffled = gift_circle.shuffle_data()