Пример #1
0
    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)
Пример #2
0
    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)
Пример #3
0
    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)
Пример #4
0
    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)
Пример #5
0
    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)
Пример #6
0
    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)
Пример #7
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)
Пример #8
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)
Пример #9
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)
Пример #10
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)
Пример #11
0
 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
     }
Пример #12
0
 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)
     }
Пример #13
0
 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
     }
Пример #14
0
 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)
     }
Пример #15
0
 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), [])
Пример #16
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)
Пример #17
0
 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), [])
Пример #18
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)