summaryrefslogtreecommitdiffstats
path: root/robotframework-onap/loadtest/TestConfig.py
diff options
context:
space:
mode:
Diffstat (limited to 'robotframework-onap/loadtest/TestConfig.py')
-rw-r--r--robotframework-onap/loadtest/TestConfig.py59
1 files changed, 59 insertions, 0 deletions
diff --git a/robotframework-onap/loadtest/TestConfig.py b/robotframework-onap/loadtest/TestConfig.py
new file mode 100644
index 0000000..b9b8112
--- /dev/null
+++ b/robotframework-onap/loadtest/TestConfig.py
@@ -0,0 +1,59 @@
+'''
+Created on Apr 7, 2017
+
+@author: jf9860
+'''
+import json
+
+class TestConfig(object):
+ '''
+ The profile defines a cycle of tests. Each entry is defined as
+ [<seconds to wait>, [<list of ete tags to run after the wait]],
+ '''
+ profile = [
+ [0, ["health"]],
+ ]
+
+ duration=10
+ cyclelength=60
+
+ def __init__(self, duration=None, cyclelength=None, json=None):
+ '''
+ Constructor
+ '''
+ if (json != None):
+ self.parseConfig(json)
+ if (duration != None):
+ self.duration = duration
+ if (cyclelength != None):
+ self.cyclelength = cyclelength
+ running_time = 0
+ for p in self.profile:
+ secs = p[0]
+ running_time = running_time + secs
+ if (running_time < self.cyclelength):
+ last = self.cyclelength - running_time
+ self.profile.append([last, []])
+
+ def parseConfig(self, fileName):
+ with open(fileName) as data_file:
+ config = json.load(data_file)
+ self.profile = config["profile"]
+ self.cyclelength = config["cyclelength"]
+ self.duration = config["duration"]
+
+
+ def to_string(self):
+ pstring = 'Cycle length is {} seconds'.format(self.cyclelength)
+ pstring = '{}\nDuration is {} seconds'.format(pstring, self.duration)
+ running_time = 0
+ for p in self.profile:
+ secs = p[0]
+ running_time = running_time + secs
+ for ete in p[1]:
+ pstring = "{0}\n{1:08d} : {2:08d} : {3}".format(pstring, secs, running_time, ete)
+ if (len(p[1]) == 0):
+ pstring = "{0}\n{1:08d} : {2:08d} : {3}".format(pstring, secs, running_time, "")
+ return pstring
+
+