def setUp(self):
     with self.app.app_context():
         self.service = SearchProviderService('search_providers', backend=superdesk.get_backend())
         try:
             register_search_provider('provider1', 'provider1')
             register_search_provider('provider2', 'provider2')
         except AlreadyExistsError:
             pass
 def setUp(self):
     with self.app.app_context():
         self.service = SearchProviderService(
             "search_providers", backend=superdesk.get_backend())
         try:
             register_search_provider("provider1", "provider1")
             register_search_provider("provider2", "provider2")
         except AlreadyExistsError:
             pass
 def setUp(self):
     with self.app.app_context():
         self.service = SearchProviderService("search_providers", backend=superdesk.get_backend())
         try:
             register_search_provider("provider1", "provider1")
             register_search_provider("provider2", "provider2")
         except AlreadyExistsError:
             pass
class SearchProviderTestCase(TestCase):
    def setUp(self):
        with self.app.app_context():
            self.service = SearchProviderService("search_providers", backend=superdesk.get_backend())
            try:
                register_search_provider("provider1", "provider1")
                register_search_provider("provider2", "provider2")
            except AlreadyExistsError:
                pass

    def test_set_is_default_on_create(self):
        with self.app.app_context():
            provider1 = {"search_provider": "provider1", "source": "provider1", "is_default": True}
            provider2 = {"search_provider": "provider2", "source": "provider2", "is_default": True}
            provider1_id = self.service.post([provider1])[0]
            provider2_id = self.service.post([provider2])[0]
            provider1 = self.service.find_one(req=None, _id=provider1_id)
            provider2 = self.service.find_one(req=None, _id=provider2_id)
            self.assertEqual(provider1["is_default"], False)
            self.assertEqual(provider2["is_default"], True)

    def test_set_is_default_on_update(self):
        with self.app.app_context():
            provider1 = {"search_provider": "provider1", "source": "provider1", "is_default": False}
            provider2 = {"search_provider": "provider2", "source": "provider2", "is_default": True}
            provider1_id = self.service.post([provider1])[0]
            provider2_id = self.service.post([provider2])[0]
            self.service.patch(provider1_id, {"is_default": True})
            provider1 = self.service.find_one(req=None, _id=provider1_id)
            provider2 = self.service.find_one(req=None, _id=provider2_id)
            self.assertEqual(provider1["is_default"], True)
            self.assertEqual(provider2["is_default"], False)
class SearchProviderTestCase(TestCase):

    def setUp(self):
        with self.app.app_context():
            self.service = SearchProviderService('search_providers', backend=superdesk.get_backend())
            try:
                register_search_provider('provider1', 'provider1')
                register_search_provider('provider2', 'provider2')
            except AlreadyExistsError:
                pass

    def test_set_is_default_on_create(self):
        with self.app.app_context():
            provider1 = {'search_provider': 'provider1', 'source': 'provider1', 'is_default': True}
            provider2 = {'search_provider': 'provider2', 'source': 'provider2', 'is_default': True}
            provider1_id = self.service.post([provider1])[0]
            provider2_id = self.service.post([provider2])[0]
            provider1 = self.service.find_one(req=None, _id=provider1_id)
            provider2 = self.service.find_one(req=None, _id=provider2_id)
            self.assertEqual(provider1['is_default'], False)
            self.assertEqual(provider2['is_default'], True)

    def test_set_is_default_on_update(self):
        with self.app.app_context():
            provider1 = {'search_provider': 'provider1', 'source': 'provider1', 'is_default': False}
            provider2 = {'search_provider': 'provider2', 'source': 'provider2', 'is_default': True}
            provider1_id = self.service.post([provider1])[0]
            provider2_id = self.service.post([provider2])[0]
            self.service.patch(provider1_id, {'is_default': True})
            provider1 = self.service.find_one(req=None, _id=provider1_id)
            provider2 = self.service.find_one(req=None, _id=provider2_id)
            self.assertEqual(provider1['is_default'], True)
            self.assertEqual(provider2['is_default'], False)
class SearchProviderTestCase(TestCase):
    def setUp(self):
        with self.app.app_context():
            self.service = SearchProviderService(
                "search_providers", backend=superdesk.get_backend())
            try:
                register_search_provider("provider1", "provider1")
                register_search_provider("provider2", "provider2")
            except AlreadyExistsError:
                pass

    def test_set_is_default_on_create(self):
        with self.app.app_context():
            provider1 = {
                "search_provider": "provider1",
                "source": "provider1",
                "is_default": True
            }
            provider2 = {
                "search_provider": "provider2",
                "source": "provider2",
                "is_default": True
            }
            provider1_id = self.service.post([provider1])[0]
            provider2_id = self.service.post([provider2])[0]
            provider1 = self.service.find_one(req=None, _id=provider1_id)
            provider2 = self.service.find_one(req=None, _id=provider2_id)
            self.assertEqual(provider1["is_default"], False)
            self.assertEqual(provider2["is_default"], True)

    def test_set_is_default_on_update(self):
        with self.app.app_context():
            provider1 = {
                "search_provider": "provider1",
                "source": "provider1",
                "is_default": False
            }
            provider2 = {
                "search_provider": "provider2",
                "source": "provider2",
                "is_default": True
            }
            provider1_id = self.service.post([provider1])[0]
            provider2_id = self.service.post([provider2])[0]
            self.service.patch(provider1_id, {"is_default": True})
            provider1 = self.service.find_one(req=None, _id=provider1_id)
            provider2 = self.service.find_one(req=None, _id=provider2_id)
            self.assertEqual(provider1["is_default"], True)
            self.assertEqual(provider2["is_default"], False)