diff options
author | Jerry Flood <jf9860@att.com> | 2017-06-02 16:43:02 -0400 |
---|---|---|
committer | Jerry Flood <jf9860@att.com> | 2017-06-05 11:27:41 -0400 |
commit | 2dac53acebf05c7edcb9445e454995298f51a0a8 (patch) | |
tree | 6db683b8a31b41f4a514c0aa15e5cf788e579abe /loadtest/TestConfig.py | |
parent | 301ac2d31a1e583d2ce594af335a00c7fd83759a (diff) |
Externalize soak parameters to a json file
Issue: TEST-38
Change-Id: I90ae5ebaf7cdfed770dfe99c9ae600bb425abadf
Signed-off-by: Jerry Flood <jf9860@att.com>
Diffstat (limited to 'loadtest/TestConfig.py')
-rw-r--r-- | loadtest/TestConfig.py | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/loadtest/TestConfig.py b/loadtest/TestConfig.py index c22e875..b9b8112 100644 --- a/loadtest/TestConfig.py +++ b/loadtest/TestConfig.py @@ -3,6 +3,8 @@ Created on Apr 7, 2017 @author: jf9860 ''' +import json + class TestConfig(object): ''' The profile defines a cycle of tests. Each entry is defined as @@ -10,31 +12,37 @@ class TestConfig(object): ''' profile = [ [0, ["health"]], - [5, ["instantiate", "distribute"]], - [300, ["distribute"]], - [300, ["distribute"]], - [300, ["distribute"]], - [300, ["distribute"]], - [300, ["distribute"]], ] duration=10 cyclelength=60 - def __init__(self, duration=10, cyclelength=1800, json=None): + def __init__(self, duration=None, cyclelength=None, json=None): ''' Constructor ''' - self.duration = duration - self.cyclelength = cyclelength + 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 < cyclelength): - last = cyclelength - running_time + 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) |