def syncAlgoliaWith(data, id, ingredients): config = SearchConfig(ALGOLIA_ID, ALGOLIA_ADMIN_KEY) config.batch_size = 1 client = SearchClient.create_with_config(config) client._config.bach_size = 1 # Add an 'objectID' field which Algolia requires data["objectID"] = id data["filtered_ingredients"] = ingredients # Write to the algolia index index = client.init_index('Recipes') index.save_objects([data])
def setUp(self): self.config = SearchConfig('foo', 'bar') requester = Requester() self.transporter = Transporter(requester, self.config) self.transporter.read = mock.Mock(name="read") self.transporter.read.return_value = {} self.transporter.write = mock.Mock(name="write") self.transporter.write.return_value = {} self.index = SearchIndex(self.transporter, self.config, 'index-name')
def setUp(self): self.config = SearchConfig("foo", "bar") self.transporter = Transporter(Requester(), self.config) self.transporter.read = mock.Mock(name="read") self.transporter.read.return_value = {} self.transporter.write = mock.Mock(name="write") self.transporter.write.return_value = {} self.client = RecommendClient(self.transporter, self.config)
def test_dns_timeout(self): config = SearchConfig(F.get_app_id(), F.get_api_key()) config.hosts = HostsCollection([ Host('algolia.biz', 10), Host('{}-1.algolianet.com'.format(F.get_app_id())), Host('{}-2.algolianet.com'.format(F.get_app_id())), Host('{}-3.algolianet.com'.format(F.get_app_id())) ]) client = SearchClient.create_with_config(config) client.list_indices() # We test that the first Host `algolia.biz` is down. self.assertFalse(config.hosts.read()[0].up) self.assertTrue(config.hosts.read()[1].up) self.assertTrue(config.hosts.read()[2].up) self.assertTrue(config.hosts.read()[3].up)
def setUp(self): self.config = SearchConfig('foo', 'bar') self.transporter = Transporter(Requester(), self.config) self.transporter.read = mock.Mock(name="read") self.transporter.read.return_value = {} self.transporter.write = mock.Mock(name="write") self.transporter.write.return_value = {} self.client = SearchClient(self.transporter, self.config)
def test_dns_timeout(self): config = SearchConfig(F.get_app_id(), F.get_api_key()) config.hosts = HostsCollection([ Host('algolia.biz', 10), Host('{}-1.algolianet.com'.format(F.get_app_id())), Host('{}-2.algolianet.com'.format(F.get_app_id())), Host('{}-3.algolianet.com'.format(F.get_app_id())) ]) client = SearchClient.create_with_config(config) client.list_indices() # We test that the first Host `algolia.biz` is down. self.assertFalse(config.hosts.read()[0].up) self.assertTrue(config.hosts.read()[1].up) self.assertTrue(config.hosts.read()[2].up) self.assertTrue(config.hosts.read()[3].up)
def test_secured_api_keys(self): hosts = F.hosts(self.client.app_id) config1 = SearchConfig(F.get_app_id(), F.get_api_key()) config1.hosts = hosts client1 = F.decide(SearchClient.create_with_config(config1)) index1 = F.index(client1, self._testMethodName) index2 = F.index(client1, '{}_dev'.format(self._testMethodName)) index1.save_object({'objectID': 'one'}).wait() index2.save_object({'objectID': 'one'}).wait() api_key = self.client.generate_secured_api_key( os.environ['ALGOLIA_SEARCH_KEY_1'], { "validUntil": int(round(time.time())) + (60 * 10), # + 10 min "restrictIndices": index1.name }) config2 = SearchConfig(F.get_app_id(), api_key) config2.hosts = hosts client2 = F.decide(SearchClient.create_with_config(config2)) index1_search = client2.init_index(index1.name) index2_search = client2.init_index(index2.name) index1_search.search('') with self.assertRaises(RequestException) as _: index2_search.search('')
def setUp(self): self.requester = Requester() self.requester.send = mock.Mock(name="send") self.requester.send.return_value = Response(200, {'foo': 'bar'}) self.data = {'data': 'foo'} self.config = SearchConfig('foo', 'bar') self.request_options = RequestOptions.create( self.config, { 'User-Agent': 'foo', 'createIfNotExists': True, 'readTimeout': 109, 'bodyParam': 'bar' }) self.transporter = Transporter(self.requester, self.config)
def setUp(self): self.config = SearchConfig("foo", "bar") self.config.headers["Foo-Bar"] = "foo-bar" self.request_options = RequestOptions.create( self.config, { # Headers "User-Agent": "foo", # Upper case header, should equal to `X-Forwarded-For` "X-FORWARDED-FOR": "1.1.1.1", # Query Params "createIfNotExists": True, # Timeouts Params "readTimeout": 10, # Data Params "bodyParam": "bar", }, )
def setUp(self): self.requester = Requester() self.requester.send = mock.Mock(name="send") self.requester.send.return_value = Response(200, {"foo": "bar"}) self.data = {"data": "foo"} self.config = SearchConfig("foo", "bar") self.request_options = RequestOptions.create( self.config, { "User-Agent": "foo", "createIfNotExists": True, "readTimeout": 109, "bodyParam": "bar", }, ) self.transporter = Transporter(self.requester, self.config)
def setUp(self): self.config = SearchConfig('foo', 'bar') self.config.headers['Foo-Bar'] = 'foo-bar' self.request_options = RequestOptions.create( self.config, { # Headers 'User-Agent': 'foo', # Query Params 'createIfNotExists': True, # Timeouts Params 'readTimeout': 10, # Data Params 'bodyParam': 'bar' })
def setUp(self): self.config = SearchConfig('foo', 'bar') self.config.headers['Foo-Bar'] = 'foo-bar' self.request_options = RequestOptions.create(self.config, { # Headers 'User-Agent': 'foo', # Upper case header, should equal to `X-Forwarded-For` 'X-FORWARDED-FOR': '1.1.1.1', # Query Params 'createIfNotExists': True, # Timeouts Params 'readTimeout': 10, # Data Params 'bodyParam': 'bar' })
def test_with_proxy(self): config = SearchConfig("foo", "bar") requester = Requester() requester.send = mock.Mock(name="send") requester.send.return_value = Response(200, {"foo": "bar"}) transporter = Transporter(requester, config) headers = RequestOptions.create(config).headers data = {} transporter.write("post", "endpoint/foo", data, None) request = Request( "POST", headers, {}, 2, # Default connect timeout 30, # Default timeout proxies={"https": "https://127.0.0.1:8080"}, ) request.url = "https://foo.algolia.net/endpoint/foo?" requester.send.assert_called_once_with(request)
def setUp(self): self.config = SearchConfig("foo", "bar")
def create(app_id=None, api_key=None): # type: (Optional[str], Optional[str]) -> SearchClient config = SearchConfig(app_id, api_key) return SearchClient.create_with_config(config)
def test_create_with_config(self): config = SearchConfig("foo", "bar") self.assertIsInstance(AnalyticsClient.create_with_config(config), AnalyticsClient)
def test_create_with_config(self): config = SearchConfig("foo", "bar") self.assertIsInstance(RecommendClient.create_with_config(config), RecommendClient)
def test_create_with_config(self): config = SearchConfig('foo', 'bar') self.assertIsInstance(SearchClient.create_with_config(config), SearchClient)
def setUp(self): self.config = SearchConfig('foo', 'bar')