def setUp(self): self.vumi_helper = yield self.add_helper(VumiApiHelper()) self.user_helper = yield self.vumi_helper.make_user(u'user') user_account = yield self.user_helper.get_user_account() self.store = ContactStore.from_user_account(user_account) self.alt_user_helper = yield self.vumi_helper.make_user(u'other_user') alt_user_account = yield self.alt_user_helper.get_user_account() self.store_alt = ContactStore.from_user_account(alt_user_account)
def test_optout_filtering(self): group = yield self.user_api.contact_store.new_group(u'test-group') user_account = yield self.user_helper.get_user_account() optout_store = OptOutStore.from_user_account(user_account) contact_store = ContactStore.from_user_account(user_account) # Create two random contacts yield self.user_api.contact_store.new_contact(msisdn=u'+27761234567', groups=[group.key]) yield self.user_api.contact_store.new_contact(msisdn=u'+27760000000', groups=[group.key]) conv = yield self.user_helper.create_conversation( u'dummy', delivery_class=u'sms', groups=[group]) # Opt out the first contact yield optout_store.new_opt_out(u'msisdn', u'+27761234567', {'message_id': u'the-message-id'}) contact_keys = yield contact_store.get_contacts_for_conversation(conv) all_addrs = [] for contacts in contact_store.contacts.load_all_bunches(contact_keys): for contact in (yield contacts): all_addrs.append(contact.addr_for(conv.delivery_class)) self.assertEqual(set(all_addrs), set(['+27760000000', '+27761234567'])) optedin_addrs = [] for contacts in (yield conv.get_opted_in_contact_bunches( conv.delivery_class)): for contact in (yield contacts): optedin_addrs.append(contact.addr_for(conv.delivery_class)) self.assertEqual(optedin_addrs, ['+27760000000'])
def test_optout_filtering(self): group = yield self.user_api.contact_store.new_group(u'test-group') user_account = yield self.user_helper.get_user_account() optout_store = OptOutStore.from_user_account(user_account) contact_store = ContactStore.from_user_account(user_account) # Create two random contacts yield self.user_api.contact_store.new_contact( msisdn=u'+27761234567', groups=[group.key]) yield self.user_api.contact_store.new_contact( msisdn=u'+27760000000', groups=[group.key]) conv = yield self.user_helper.create_conversation( u'dummy', delivery_class=u'sms', groups=[group]) # Opt out the first contact yield optout_store.new_opt_out(u'msisdn', u'+27761234567', { 'message_id': u'the-message-id' }) contact_keys = yield contact_store.get_contacts_for_conversation(conv) all_addrs = [] for contacts in contact_store.contacts.load_all_bunches(contact_keys): for contact in (yield contacts): all_addrs.append(contact.addr_for(conv.delivery_class)) self.assertEqual(set(all_addrs), set(['+27760000000', '+27761234567'])) optedin_addrs = [] for contacts in (yield conv.get_opted_in_contact_bunches( conv.delivery_class)): for contact in (yield contacts): optedin_addrs.append(contact.addr_for(conv.delivery_class)) self.assertEqual(optedin_addrs, ['+27760000000'])
def setUp(self): self.vumi_helper = yield self.add_helper( VumiApiHelper(is_sync=self.is_sync)) self.user_helper = yield self.vumi_helper.make_user(u'user') user_account = yield self.user_helper.get_user_account() self.optout_store = OptOutStore.from_user_account(user_account) self.conv_store = ConversationStore.from_user_account(user_account) self.contact_store = ContactStore.from_user_account(user_account)