def test_by_owner_id(self): number = PhoneNumber.objects.create( domain=self.domain, owner_doc_type='X', owner_id='owner1', phone_number='999123', verified=True, pending_verification=False, is_two_way=True ) [lookup] = PhoneNumber.by_owner_id('owner1') self.assertEqual(lookup, number) # test cache clear number.owner_id = 'owner2' number.save() self.assertEqual(PhoneNumber.by_owner_id('owner1'), []) [lookup] = PhoneNumber.by_owner_id('owner2') self.assertEqual(lookup, number) number.verified = False number.is_two_way = False number.save() [lookup] = PhoneNumber.by_owner_id('owner2') self.assertFalse(lookup.verified) self.assertFalse(lookup.is_two_way)
def test_by_owner_id(self): number = PhoneNumber.objects.create(domain=self.domain, owner_doc_type='X', owner_id='owner1', phone_number='999123', verified=True, pending_verification=False, is_two_way=True) [lookup] = PhoneNumber.by_owner_id('owner1') self.assertEqual(lookup, number) # test cache clear number.owner_id = 'owner2' number.save() self.assertEqual(PhoneNumber.by_owner_id('owner1'), []) [lookup] = PhoneNumber.by_owner_id('owner2') self.assertEqual(lookup, number) number.verified = False number.is_two_way = False number.save() [lookup] = PhoneNumber.by_owner_id('owner2') self.assertFalse(lookup.verified) self.assertFalse(lookup.is_two_way)
def assertMatch(self, match, phone_search, suffix_search, owner_id_search): lookedup = PhoneNumber.by_phone(phone_search) self.assertPhoneNumbersEqual(match, lookedup) lookedup = PhoneNumber.by_suffix(suffix_search) self.assertPhoneNumbersEqual(match, lookedup) [lookedup] = PhoneNumber.by_owner_id(owner_id_search) self.assertPhoneNumbersEqual(match, lookedup)
def assertMatch(self, match, phone_search, suffix_search, owner_id_search): lookedup = PhoneNumber.get_two_way_number(phone_search) self.assertPhoneNumbersEqual(match, lookedup) lookedup = PhoneNumber.get_two_way_number_by_suffix(suffix_search) self.assertPhoneNumbersEqual(match, lookedup) [lookedup] = PhoneNumber.by_owner_id(owner_id_search) self.assertPhoneNumbersEqual(match, lookedup)
def test_by_owner_id(self): number = PhoneNumber.objects.create(domain=self.domain, owner_doc_type='X', owner_id='owner1', phone_number='999123', verified=True) [lookup] = PhoneNumber.by_owner_id('owner1') self.assertEqual(lookup, number) # test cache clear number.owner_id = 'owner2' number.save() self.assertEqual(PhoneNumber.by_owner_id('owner1').count(), 0) [lookup] = PhoneNumber.by_owner_id('owner2') self.assertEqual(lookup, number) number.verified = False number.save() [lookup] = PhoneNumber.by_owner_id('owner2') self.assertFalse(lookup.verified)
def test_by_owner_id(self): number = PhoneNumber.objects.create( domain=self.domain, owner_doc_type='X', owner_id='owner1', phone_number='999123', verified=True ) [lookup] = PhoneNumber.by_owner_id('owner1') self.assertEqual(lookup, number) # test cache clear number.owner_id = 'owner2' number.save() self.assertEqual(PhoneNumber.by_owner_id('owner1').count(), 0) [lookup] = PhoneNumber.by_owner_id('owner2') self.assertEqual(lookup, number) number.verified = False number.save() [lookup] = PhoneNumber.by_owner_id('owner2') self.assertFalse(lookup.verified)
def test_delete_phone_numbers_for_owners(self): with self.create_case_contact('9990001') as case1, \ self.create_case_contact('9990002') as case2, \ self.create_case_contact('9990003') as case3: self.assertEqual(PhoneNumber.by_owner_id(case1.case_id).count(), 1) self.assertEqual(PhoneNumber.by_owner_id(case2.case_id).count(), 1) self.assertEqual(PhoneNumber.by_owner_id(case3.case_id).count(), 1) delete_phone_numbers_for_owners([case2.case_id, case3.case_id]) self.assertEqual(PhoneNumber.by_owner_id(case1.case_id).count(), 1) self.assertEqual(PhoneNumber.by_owner_id(case2.case_id).count(), 0) self.assertEqual(PhoneNumber.by_owner_id(case3.case_id).count(), 0)
def test_delete_phone_numbers_for_owners(self): with self.create_case_contact('9990001') as case1, \ self.create_case_contact('9990002') as case2, \ self.create_case_contact('9990003') as case3: self.assertEqual(PhoneNumber.by_owner_id(case1.case_id).count(), 1) self.assertEqual(PhoneNumber.by_owner_id(case2.case_id).count(), 1) self.assertEqual(PhoneNumber.by_owner_id(case3.case_id).count(), 1) delete_phone_numbers_for_owners([case2.case_id, case3.case_id]) self.assertEqual(PhoneNumber.by_owner_id(case1.case_id).count(), 1) self.assertEqual(PhoneNumber.by_owner_id(case2.case_id).count(), 0) self.assertEqual(PhoneNumber.by_owner_id(case3.case_id).count(), 0)
def assertNoMatch(self, phone_search, suffix_search, owner_id_search): self.assertIsNone(PhoneNumber.by_phone(phone_search)) self.assertIsNone(PhoneNumber.by_suffix(suffix_search)) self.assertEqual(PhoneNumber.by_owner_id(owner_id_search).count(), 0)
def get_verified_numbers(self, include_pending=False): from corehq.apps.sms.models import PhoneNumber v = PhoneNumber.by_owner_id(self.get_id) v = filter(lambda c: c.verified or include_pending, v) return dict((c.phone_number, c) for c in v)
def get_two_way_numbers(self): from corehq.apps.sms.models import PhoneNumber two_way_entries = [p for p in PhoneNumber.by_owner_id(self.get_id) if p.is_two_way] return { p.phone_number: p for p in two_way_entries }
def get_phone_entries(self): from corehq.apps.sms.models import PhoneNumber return { p.phone_number: p for p in PhoneNumber.by_owner_id(self.get_id) }
def get_two_way_numbers(self): from corehq.apps.sms.models import PhoneNumber two_way_entries = [p for p in PhoneNumber.by_owner_id(self.get_id) if p.is_two_way] return { p.phone_number: p for p in two_way_entries }
def get_phone_entries(self): from corehq.apps.sms.models import PhoneNumber return { p.phone_number: p for p in PhoneNumber.by_owner_id(self.get_id) }
def assertNoMatch(self, phone_search, suffix_search, owner_id_search): self.assertIsNone(PhoneNumber.get_two_way_number(phone_search)) self.assertIsNone(PhoneNumber.get_two_way_number_by_suffix(suffix_search)) self.assertEqual(PhoneNumber.by_owner_id(owner_id_search), [])
def get_verified_numbers(self, include_pending=False): from corehq.apps.sms.models import PhoneNumber v = PhoneNumber.by_owner_id(self.get_id) v = filter(lambda c: c.verified or include_pending, v) return dict((c.phone_number, c) for c in v)
def assertNoMatch(self, phone_search, suffix_search, owner_id_search): self.assertIsNone(PhoneNumber.get_two_way_number(phone_search)) self.assertIsNone( PhoneNumber.get_two_way_number_by_suffix(suffix_search)) self.assertEqual(PhoneNumber.by_owner_id(owner_id_search), [])
def assertNoMatch(self, phone_search, suffix_search, owner_id_search): self.assertIsNone(PhoneNumber.by_phone(phone_search)) self.assertIsNone(PhoneNumber.by_suffix(suffix_search)) self.assertEqual(PhoneNumber.by_owner_id(owner_id_search).count(), 0)