• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tfcollins / telemetry / 10495659905

21 Aug 2024 06:45PM UTC coverage: 34.158% (-24.1%) from 58.234%
10495659905

push

github

tfcollins
Put exceptions back for missing backends

Signed-off-by: Travis F. Collins <travis.collins@analog.com>

0 of 2 new or added lines in 1 file covered. (0.0%)

211 existing lines in 13 files now uncovered.

428 of 1253 relevant lines covered (34.16%)

0.34 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

57.14
/telemetry/elastic.py
UNCOV
1
import json
×
UNCOV
2
import logging
×
UNCOV
3
from elasticsearch import Elasticsearch
×
4

5
# logging.basicConfig(level=logging.DEBUG)
6

UNCOV
7
log = logging.getLogger(__name__)
×
8

9

UNCOV
10
class elastic:
×
UNCOV
11
    schema = ""
×
12

UNCOV
13
    def __init__(
×
14
        self,
15
        server="alpine",
16
        port=9200,
17
        username="elastic",
18
        password="changeme",
19
        index_name="example_index",
20
        scheme="http"
21
    ):
22
        self.es = Elasticsearch(
1✔
23
            [{"host": server, "port": port, "scheme":scheme}],
24
            http_auth=(username, password),
25
            timeout=3,
26
            max_retries=2,
27
            retry_on_timeout=True,
28
        )
29
        if not self.es.ping():
1✔
30
            raise Exception("Elasticsearch server not accessible")
×
31
        self.index_name = index_name
1✔
32

UNCOV
33
    def search_all(self):
×
34
        res = self.es.search(index=self.index_name, body={"query": {"match_all": {}}})
1✔
35
        print(res)
1✔
36
        return res
1✔
37

UNCOV
38
    def import_schema(self, json_filename):
×
39
        with open(json_filename) as json_raw:
1✔
40
            schema = json.load(json_raw)
1✔
41
        return schema
1✔
42

UNCOV
43
    def create_db_from_schema(self, schema):
×
44
        log.info(schema)
1✔
45
        log.info("Creating db")
1✔
46
        if not self.es.indices.exists(index=self.index_name):
1✔
47
            # self.es.indices.create(index=self.index_name, ignore=400, body=settings)
48
            self.es.indices.create(index=self.index_name, body=schema)
1✔
49
            log.info("Index created")
1✔
50
        else:
51
            log.info("Index exists")
1✔
52

UNCOV
53
    def add_entry(self, entry):
×
54
        if not self.es.indices.exists(index=self.index_name):
1✔
55
            raise Exception("Index does not exist")
×
56
        outcome = self.es.index(index=self.index_name, body=entry)
1✔
57
        log.info(outcome)
1✔
58
        assert outcome["result"] == "created", "Unable to add entry"
1✔
59

UNCOV
60
    def __del__(self):
×
61
        self.es.close()
1✔
62

UNCOV
63
    def delete_index(self):
×
64
        """ Delete database index (table) """
65
        if self.es.indices.exists(index=self.index_name):
1✔
66
            ret = self.es.indices.delete(index=self.index_name)
1✔
67
            assert ret["acknowledged"], "Index deletion failed"
1✔
68
        else:
69
            log.info("Index does not exist")
1✔
70

71

UNCOV
72
if __name__ == "__main__":
×
73
    logging.basicConfig(level=logging.INFO)
×
74
    d = elastic()
×
75
    # d.add_entry()
76
    # d.print_all()
77
    # del d
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc