Esempio n. 1
0
 def setUp(self):
     self.es = ESConnection(HOST, index=INDEX)
 def setUp(self):
     self.es = ESConnection(HOST, index=INDEX)
Esempio n. 3
0
class TestLoadData(unittest.TestCase):
    def setUp(self):
        self.es = ESConnection(HOST, index=INDEX)

    def test_upload_document(self):
        successes, errors = self.es.upload([DOCUMENT])
        self.assertEqual(successes, 1)
        self.assertFalse(errors)

    def test_search_document(self):
        self.es.upload([DOCUMENT])
        self.es.flush()
        results = self.es.search("sample")
        self.assertEqual(len(results), 1)

    def test_tags_as_list(self):
        document = Document(title="title",
                            text="text",
                            tags=["tag1", "tag2"],
                            link="google.com",
                            date=datetime.datetime.now())
        successes, errors = self.es.upload([document])
        self.assertEqual(successes, 1)
        self.es.flush()

        results = self.es.search("title")
        self.assertEqual(len(results), 1)
        self.assertEqual(results[0]["tags"], ["tag1", "tag2"])

    def test_date_range(self):
        old_document = Document(title="old",
                                text="embarassingly old subject matter",
                                tags=["old", "older"],
                                link="google.com",
                                date=datetime.datetime(1990, 1, 1))
        successes, errors = self.es.upload([old_document])
        self.assertEqual(successes, 1)
        self.es.flush()

        results = self.es.search('old',
                                 start_date=datetime.datetime(2015, 1, 1))
        self.assertEqual(len(results), 0)

    def test_source(self):
        well_sourced_doc, poorly_sourced_doc = [
            deepcopy(DOCUMENT), deepcopy(DOCUMENT)
        ]
        well_sourced_doc.update({'source': 'good'})
        poorly_sourced_doc.update({'source': 'bad'})

        successes, errors = self.es.upload(
            [well_sourced_doc, poorly_sourced_doc])
        self.assertEqual(successes, 2)
        self.es.flush()

        results = self.es.search('title', source="good")
        self.assertEqual(len(results), 1)

    def tearDown(self):
        self.es.delete()
class TestLoadData(unittest.TestCase):
    def setUp(self):
        self.es = ESConnection(HOST, index=INDEX)

    def test_upload_document(self):
        successes, errors = self.es.upload([DOCUMENT])
        self.assertEqual(successes, 1)
        self.assertFalse(errors)

    def test_search_document(self):
        self.es.upload([DOCUMENT])
        self.es.flush()
        results = self.es.search("sample")
        self.assertEqual(len(results), 1)

    def test_tags_as_list(self):
        document = Document(
            title="title", text="text", tags=["tag1", "tag2"], link="google.com", date=datetime.datetime.now()
        )
        successes, errors = self.es.upload([document])
        self.assertEqual(successes, 1)
        self.es.flush()

        results = self.es.search("title")
        self.assertEqual(len(results), 1)
        self.assertEqual(results[0]["tags"], ["tag1", "tag2"])

    def test_date_range(self):
        old_document = Document(
            title="old",
            text="embarassingly old subject matter",
            tags=["old", "older"],
            link="google.com",
            date=datetime.datetime(1990, 1, 1),
        )
        successes, errors = self.es.upload([old_document])
        self.assertEqual(successes, 1)
        self.es.flush()

        results = self.es.search("old", start_date=datetime.datetime(2015, 1, 1))
        self.assertEqual(len(results), 0)

    def test_source(self):
        well_sourced_doc, poorly_sourced_doc = [deepcopy(DOCUMENT), deepcopy(DOCUMENT)]
        well_sourced_doc.update({"source": "good"})
        poorly_sourced_doc.update({"source": "bad"})

        successes, errors = self.es.upload([well_sourced_doc, poorly_sourced_doc])
        self.assertEqual(successes, 2)
        self.es.flush()

        results = self.es.search("title", source="good")
        self.assertEqual(len(results), 1)

    def tearDown(self):
        self.es.delete()