예제 #1
0
    def test_delete_items_error(self):
        """Test whether an error message is logged if the items aren't deleted"""

        items = json.loads(read_file('data/git.json'))

        elastic = ElasticSearch(self.es_con, self.target_index, GitOcean.mapping)
        new_items = elastic.bulk_upload(items, field_id="uuid")
        self.assertEqual(new_items, 11)

        with self.assertLogs(logger, level='ERROR') as cm:
            elastic.delete_items(retention_time=1, time_field='timestamp')
            self.assertRegex(cm.output[0], 'ERROR:grimoire_elk.elastic:\\[items retention\\] Error deleted items*')
예제 #2
0
    def test_delete_items_wrong_retention(self):
        """Test whether no items are deleted if retention isn't defined or negative"""

        items = json.loads(read_file('data/git.json'))
        for item in items:
            timestamp = unixtime_to_datetime(item['timestamp'])
            item['timestamp'] = timestamp.isoformat()

        elastic = ElasticSearch(self.es_con, self.target_index, GitOcean.mapping)
        new_items = elastic.bulk_upload(items, field_id="uuid")
        self.assertEqual(new_items, 11)

        url = self.es_con + '/' + self.target_index + '/_count'

        elastic.delete_items(retention_time=None, time_field='timestamp')
        left_items = elastic.requests.get(url).json()['count']
        self.assertEqual(left_items, 11)

        elastic.delete_items(retention_time=-1, time_field='timestamp')
        left_items = elastic.requests.get(url).json()['count']
        self.assertEqual(left_items, 11)
예제 #3
0
    def test_delete_items(self):
        """Test whether items are correctly deleted"""

        items = json.loads(read_file('data/git.json'))
        for item in items:
            timestamp = unixtime_to_datetime(item['timestamp'])
            item['timestamp'] = timestamp.isoformat()

        elastic = ElasticSearch(self.es_con, self.target_index,
                                GitOcean.mapping)
        new_items = elastic.bulk_upload(items, field_id="uuid")
        self.assertEqual(new_items, 9)

        url = self.es_con + '/' + self.target_index + '/_count'

        elastic.delete_items(retention_time=90000000, time_field='timestamp')
        left_items = elastic.requests.get(url).json()['count']
        self.assertEqual(left_items, 9)

        elastic.delete_items(retention_time=1, time_field='timestamp')
        left_items = elastic.requests.get(url).json()['count']
        self.assertEqual(left_items, 0)