diff options
Diffstat (limited to 'robotframework-onap/loadtest/TestConfig.py')
-rw-r--r-- | robotframework-onap/loadtest/TestConfig.py | 59 |
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 + + |