def _save_website_links(self, website, list_urls): website_nosql = WebsiteNoSql() body = {'urls': list_urls} check_website_exist_done = self._check_if_website_exist_done( website.url) # noqa if check_website_exist_done is False: self._put_website_links_on_quee(list_urls) website_nosql.create(website.id, body) else: website_done = Website.query\ .filter(Website.url == website.url)\ .filter(Website.status == Website.Status.DONE).first() website_nosql_db = website_nosql.get(website_done.id) if website_nosql_db: if website_nosql_db['_source'] != body: self._put_website_links_on_quee(list_urls) website_nosql.create(website.id, body) website_nosql.update(website_done.id, body) else: website_nosql.create(website.id, body) else: logger.error( "Website NoSql not found: on website_id {0}".format( website_done.id)) # noqa raise WebsiteBackendException("Website NoSql not found")
def test_update_website_document_with_error(self, mock_elastich): mock_elastich.side_effect = mock.Mock( side_effect=ElasticsearchException()) # noqa with self.assertRaises(ElasticsearchException): body = {'urls': ['http://vtrmantovani.com.br']} webiste_nosql = WebsiteNoSql() webiste_nosql.update(1, body) self.assertEqual(mock_elastich.call_count, 1)
def test_update_website_document(self): webiste_nosql = WebsiteNoSql() body = {'urls': ['http://ibm.com.br']} webiste_nosql.create(4, body) body = {'urls': ['http://vtrmantovani.com.br']} webiste_nosql.update(4, body) bd_web_site = webiste_nosql.get(4) self.assertEquals(bd_web_site['_source'], body) webiste_nosql.delete(4)