Example #1
0
    def test_get_prefix_to_backend_map(self):
        backend1 = SQLTestSMSBackend.objects.create(
            name='BACKEND1',
            is_global=True,
            hq_api_id=SQLTestSMSBackend.get_api_id(),
        )

        backend2 = SQLTestSMSBackend.objects.create(
            name='BACKEND2',
            is_global=True,
            hq_api_id=SQLTestSMSBackend.get_api_id(),
        )

        backend3 = SQLTestSMSBackend.objects.create(
            name='BACKEND3',
            is_global=True,
            hq_api_id=SQLTestSMSBackend.get_api_id(),
        )

        backend4 = SQLTestSMSBackend.objects.create(
            name='BACKEND4',
            is_global=True,
            hq_api_id=SQLTestSMSBackend.get_api_id(),
        )

        backend5 = SQLTestSMSBackend.objects.create(
            name='BACKEND5',
            is_global=True,
            hq_api_id=SQLTestSMSBackend.get_api_id(),
        )

        backend6 = SQLTestSMSBackend.objects.create(
            name='BACKEND6',
            is_global=True,
            hq_api_id=SQLTestSMSBackend.get_api_id(),
        )

        backend_mapping1 = SQLMobileBackendMapping.objects.create(
            is_global=True,
            backend_type=SQLMobileBackend.SMS,
            prefix='*',
            backend=backend1
        )

        backend_mapping2 = SQLMobileBackendMapping.objects.create(
            is_global=True,
            backend_type=SQLMobileBackend.SMS,
            prefix='27',
            backend=backend2
        )

        backend_mapping3 = SQLMobileBackendMapping.objects.create(
            is_global=True,
            backend_type=SQLMobileBackend.SMS,
            prefix='1',
            backend=backend3
        )

        backend_mapping4 = SQLMobileBackendMapping.objects.create(
            is_global=False,
            domain='prefix-backend-map-test',
            backend_type=SQLMobileBackend.SMS,
            prefix='*',
            backend=backend4
        )

        backend_mapping5 = SQLMobileBackendMapping.objects.create(
            is_global=False,
            domain='prefix-backend-map-test',
            backend_type=SQLMobileBackend.SMS,
            prefix='256',
            backend=backend5
        )

        backend_mapping6 = SQLMobileBackendMapping.objects.create(
            is_global=False,
            domain='prefix-backend-map-test',
            backend_type=SQLMobileBackend.SMS,
            prefix='25670',
            backend=backend6
        )

        global_backend_map = SQLMobileBackendMapping.get_prefix_to_backend_map(SQLMobileBackend.SMS)
        self.assertEqual(global_backend_map.catchall_backend_id, backend1.pk)
        self.assertEqual(global_backend_map.backend_map_dict, {
            '27': backend2.pk,
            '1': backend3.pk,
        })

        domain_backend_map = SQLMobileBackendMapping.get_prefix_to_backend_map(
            SQLMobileBackend.SMS,
            domain='prefix-backend-map-test'
        )
        self.assertEqual(domain_backend_map.catchall_backend_id, backend4.pk)
        self.assertEqual(domain_backend_map.backend_map_dict, {
            '256': backend5.pk,
            '25670': backend6.pk,
        })

        backend_mapping1.delete()
        backend_mapping2.delete()
        backend_mapping3.delete()
        backend_mapping4.delete()
        backend_mapping5.delete()
        backend_mapping6.delete()
        backend1.delete()
        backend2.delete()
        backend3.delete()
        backend4.delete()
        backend5.delete()
        backend6.delete()