1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
|
from pyfdb import FDB
def test_stats(read_only_fdb_setup):
fdb = FDB(read_only_fdb_setup)
selection = {
"type": "an",
"class": "ea",
"domain": "g",
"expver": "0001",
"stream": "oper",
"date": "20200101",
"levtype": "sfc",
"step": "0",
"param": "167/165/166",
"time": "1800",
}
stats_iterator = fdb.stats(selection)
assert stats_iterator
elements = []
for el in stats_iterator:
print(el)
elements.append(el)
assert len(elements) == 1
stats = str(elements[0])
# Check for database and index statistics
assert "Index Statistics:" in stats
assert "Fields : 3" in stats
assert "Reacheable fields : 3" in stats
assert "DB Statistics:" in stats
assert "Databases : 1" in stats
assert "TOC records : 2" in stats
assert "TOC records : 2" in stats
assert "Owned data files : 1" in stats
assert "Index files : 1" in stats
# Check fields
assert "Fields" in stats
assert "Size of fields" in stats
assert "Reacheable fields" in stats
assert "Reachable size" in stats
assert "Databases" in stats
assert "TOC records" in stats
assert "Size of TOC files" in stats
assert "Size of schemas files" in stats
assert "TOC records" in stats
assert "Owned data files" in stats
assert "Size of owned data files" in stats
assert "Index files" in stats
assert "Size of index files" in stats
assert "Size of TOC files" in stats
assert "Total owned size" in stats
assert "Total size" in stats
def test_stats_db_stats(read_only_fdb_setup):
fdb = FDB(read_only_fdb_setup)
selection = {
"type": "an",
"class": "ea",
"domain": "g",
"expver": "0001",
"stream": "oper",
"date": "20200101",
"levtype": "sfc",
"step": "0",
"param": "167/165/166",
"time": "1800",
}
stats_iterator = fdb.stats(selection)
assert stats_iterator
elements = list(stats_iterator)
assert len(elements) == 1
stats = elements[0].db_statistics()
print(stats)
# Check for database and index statistics
assert "Index Statistics:" not in stats
assert "Fields : 3" not in stats
assert "Reacheable fields : 3" not in stats
assert "DB Statistics:" not in stats
assert "Databases : 1" in stats
assert "TOC records : 2" in stats
assert "TOC records : 2" in stats
assert "Owned data files : 1" in stats
assert "Index files : 1" in stats
# Check fields
assert "TOC records" in stats
assert "Size of TOC files" in stats
assert "Size of schemas files" in stats
assert "TOC records" in stats
assert "Owned data files" in stats
assert "Size of owned data files" in stats
assert "Index files" in stats
assert "Size of index files" in stats
assert "Size of TOC files" in stats
assert "Total owned size" in stats
assert "Total size" in stats
def test_stats_index_stats(read_only_fdb_setup):
fdb = FDB(read_only_fdb_setup)
selection = {
"type": "an",
"class": "ea",
"domain": "g",
"expver": "0001",
"stream": "oper",
"date": "20200101",
"levtype": "sfc",
"step": "0",
"param": "167/165/166",
"time": "1800",
}
stats_iterator = fdb.stats(selection)
assert stats_iterator
elements = list(stats_iterator)
assert len(elements) == 1
stats = elements[0].index_statistics()
print(stats)
# Check for database and index statistics
assert "Fields : 3" in stats
assert "Reacheable fields : 3" in stats
assert "DB Statistics:" not in stats
assert "Databases : 1" not in stats
assert "TOC records : 2" not in stats
assert "TOC records : 2" not in stats
assert "Owned data files : 1" not in stats
assert "Index files : 1" not in stats
# Check fields
assert "Fields" in stats
assert "Size of fields" in stats
assert "Reacheable fields" in stats
assert "Reachable size" in stats
|