diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 16:28:20 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 16:28:20 +0000 |
commit | dcc721a95bef6f0d8e6d8775b8efe33e5aecd562 (patch) | |
tree | 66a2774cd0ee294d019efd71d2544c70f42b2842 /tests/elasticsearch-error-format-check.py | |
parent | Initial commit. (diff) | |
download | rsyslog-dcc721a95bef6f0d8e6d8775b8efe33e5aecd562.tar.xz rsyslog-dcc721a95bef6f0d8e6d8775b8efe33e5aecd562.zip |
Adding upstream version 8.2402.0.upstream/8.2402.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/elasticsearch-error-format-check.py')
-rw-r--r-- | tests/elasticsearch-error-format-check.py | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/tests/elasticsearch-error-format-check.py b/tests/elasticsearch-error-format-check.py new file mode 100644 index 0000000..f8f091d --- /dev/null +++ b/tests/elasticsearch-error-format-check.py @@ -0,0 +1,137 @@ +import json +import sys +import os +def checkDefaultErrorFile(): + with open(os.environ['RSYSLOG_DYNNAME'] + ".errorfile") as json_file: + json_data = json.load(json_file) + indexCount =0 + replyCount=0 + for item in json_data: + if item == "request": + for reqItem in json_data[item]: + if reqItem == "url": + print("url found") + print(reqItem) + elif reqItem == "postdata": + print("postdata found") + indexCount = str(json_data[item]).count('\"_index\":') + print(reqItem) + else: + print(reqItem) + print("Unknown item found") + sys.exit(1) + + elif item == "reply": + for replyItem in json_data[item]: + if replyItem == "items": + print(json_data[item][replyItem]) + replyCount = str(json_data[item][replyItem]).count('_index') + elif replyItem == "errors": + print("error node found") + elif replyItem == "took": + print("took node found") + else: + print(replyItem) + print("Unknown item found") + sys.exit(3) + + else: + print(item) + print("Unknown item found") + print("error") + sys.exit(4) + if replyCount == indexCount : + return 0 + else: + sys.exit(7) + return 0 + + +def checkErrorOnlyFile(): + with open(os.environ['RSYSLOG_DYNNAME'] + ".errorfile") as json_file: + json_data = json.load(json_file) + indexCount =0 + replyCount=0 + for item in json_data: + if item == "request": + print(json_data[item]) + indexCount = str(json_data[item]).count('\"_index\":') + + + elif item == "url": + print("url found") + + + elif item == "reply": + print(json_data[item]) + replyCount = str(json_data[item]).count('\"_index\":') + + else: + print(item) + print("Unknown item found") + print("error") + sys.exit(4) + if replyCount == indexCount : + return 0 + else: + sys.exit(7) + return 0 + +def checkErrorInterleaved(): + with open(os.environ['RSYSLOG_DYNNAME'] + ".errorfile") as json_file: + json_data = json.load(json_file) + indexCount =0 + replyCount=0 + for item in json_data: + print(item) + if item == "response": + for responseItem in json_data[item]: + print(responseItem) + for res in responseItem: + print(res) + if res == "request": + print(responseItem[res]) + indexCount = str(responseItem[res]).count('\"_index\":') + print("request count ", indexCount) + elif res == "reply": + print(responseItem[res]) + replyCount = str(responseItem[res]).count('\"_index\":') + print("reply count ", replyCount) + else: + print(res) + print("Unknown item found") + sys.exit(9) + if replyCount != indexCount : + sys.exit(8) + + + + elif item == "url": + print("url found") + + + + + else: + print(item) + print("Unknown item found") + sys.exit(4) + + return 0 + +def checkInterleaved(): + return checkErrorInterleaved() + +if __name__ == "__main__": + option = sys.argv[1] + if option == "default": + checkDefaultErrorFile() + elif option == "erroronly": + checkErrorOnlyFile() + elif option == "errorinterleaved": + checkErrorInterleaved() + elif option == "interleaved": + checkErrorInterleaved() + else: + print("Usage: <script> <default|erroronly|errorinterleaved>") + sys.exit(6) |