-
Notifications
You must be signed in to change notification settings - Fork 33
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
* Initial parallel baseline locust tests * Remove PACA tests from baseline tests * Use Locust's on_start() instead of __init__ * Remove cert code taken from PACA tests * Introduce URL path helper functions in url_path; add get() method in baseline tests to streamline creating requests * Add a get_ob() class method in baseline tests * Simplify test code using get() and get_eob() methods * Attempt to reduce chances of request caching by randomizing input IDs and setting Cache-Control headers * Support python versions less than 3.9 by using older type hinting syntax * Replace merge syntax with dictionary unpacking as Python 3.5 supports it * Use v2 endpoint for all tests * Uncomment hashed MBI test * Uncomment contract cursors test * Properly handle case where params is empty in get() and create_url_path() * Add baseline tests for v1 endpoints * Format v2 baseline_tests.py; shuffle MBIs and cursor URLs in addition to EOBs * Add SLA validations for V1 and V2 baseline tests * Create new configuration files for running the v1 and v2 baseline tests against c5xlarge instances * Allow the user to set the path to the config file via the CLI * Use a dictionary to hold config file data opposed to a class This allows for values to be read from the config first and then merged with the CLI * Remove unnecessary values from baseline YAML configurations * Revert changes to set the configuration path; add load_from_path() to allow loading (but not writing) of configuration values from a file * Load configuration data from specified path and merge with passed-in CLI data * Add configPath CLI argument to the README * Rewrite outdated README information about database CLI arguments * Add examples of how to run the tests reading from YAML configuration * Include testFile CLI argument in example as it is not stored * Add disclaimer about running the contract cursors generation script * Remove unnecessary time import in url_path * Rename eob_ids to bene_ids along with all subsequent derivatives * Rename both baseline_test.py files to regression_suite.py * Add a TODO comment about pulling SLAs from metrics * Rename config files according to new regression suite naming * Describe --configPath's behavior more accurately in the README * Fix --configPath not being an optional CLI argument * Remove falsey-key discard logic when reading YAML config * Add some documentation comments to each of the regression suites * Fix typo in v2 regression suite -- get_bene_ids() to get_bene_Id() * Correctly refer to name of regression test suite files in README
- Loading branch information
Showing
9 changed files
with
490 additions
and
57 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
from typing import Dict | ||
from urllib.parse import urlencode | ||
|
||
''' | ||
Creates a query path from a base path (i.e. /v2/fhir/Coverage) and a dictionary of query parameters | ||
''' | ||
def create_url_path(path: str, query_params: Dict[str, str] = {}) -> str: | ||
if not query_params: | ||
return path | ||
|
||
params = urlencode(query_params) | ||
return "{}?{}".format(path, params) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
7 changes: 7 additions & 0 deletions
7
ops/ccs-ops-misc/load_test/config/config.regression_v1_c5xlarge.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
# This configuration was created for targeting a c5xlarge instance with the V1 performance regression suite | ||
# in v1/regression_suite.py. It was determined that 5 concurrent users puts approximately | ||
# 50% - 60% load on a machine of that size. | ||
|
||
testRunTime: "3m" | ||
testNumTotalClients: "5" | ||
testCreatedClientsPerSecond: "5" |
7 changes: 7 additions & 0 deletions
7
ops/ccs-ops-misc/load_test/config/config.regression_v2_c5xlarge.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
# This configuration was created for targeting a c5xlarge instance with the V2 performance regression suite | ||
# in v2/regression_suite.py. It was determined that 3 concurrent users puts approximately | ||
# 50% - 60% load on a machine of that size. | ||
|
||
testRunTime: "3m" | ||
testNumTotalClients: "3" | ||
testCreatedClientsPerSecond: "3" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.