summaryrefslogtreecommitdiffstats
path: root/tests/elasticsearch-error-format-check.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 16:28:20 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 16:28:20 +0000
commitdcc721a95bef6f0d8e6d8775b8efe33e5aecd562 (patch)
tree66a2774cd0ee294d019efd71d2544c70f42b2842 /tests/elasticsearch-error-format-check.py
parentInitial commit. (diff)
downloadrsyslog-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.py137
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)