{"id":21662702,"url":"https://github.com/codesyntax/esd-stress-test","last_synced_at":"2026-05-16T23:16:56.830Z","repository":{"id":27581209,"uuid":"31063840","full_name":"codesyntax/esd-stress-test","owner":"codesyntax","description":null,"archived":false,"fork":false,"pushed_at":"2015-05-04T08:24:51.000Z","size":232,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-20T05:48:31.762Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codesyntax.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-02-20T12:25:33.000Z","updated_at":"2015-05-04T08:24:51.000Z","dependencies_parsed_at":"2022-09-02T18:11:14.952Z","dependency_job_id":null,"html_url":"https://github.com/codesyntax/esd-stress-test","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codesyntax/esd-stress-test","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codesyntax%2Fesd-stress-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codesyntax%2Fesd-stress-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codesyntax%2Fesd-stress-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codesyntax%2Fesd-stress-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codesyntax","download_url":"https://codeload.github.com/codesyntax/esd-stress-test/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codesyntax%2Fesd-stress-test/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33121910,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T18:38:32.183Z","status":"ssl_error","status_checked_at":"2026-05-16T18:38:29.903Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-25T10:17:45.937Z","updated_at":"2026-05-16T23:16:56.796Z","avatar_url":"https://github.com/codesyntax.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"===================================\nJMeter tests from ESD Review Tool\n===================================\n\n\nTo run this tests a helping buildout is provided to get the calls correctly done. Just run the buildout and the helper scripts will be created inside directory bin::\n\n    $ virtualenv .\n    $ ./bin/buildout -vv\n\n\nThe generated scripts are the following::\n\n    $ ./bin/logintest\n    $ ./bin/editortest\n    $ ./bin/reviewertest\n    $ ./bin/eionetusertest\n\nTo run the tests manually, you need to pass the required parameters to each of the scripts::\n\n    $ ./bin/logintest -n -JSERVERNAME=esddemo.eea.europa.eu -JUSERNAME=EIONET-USER-NAME -JPASSWORD=PASSWORD -JNUMOFTHREADS=3 -JLOOPCOUNT=5 -JWAITINGTIME=1\n\nThis way, jmeter will create a results file called 'report_logintest.jtl'\n\nThe parameters that you need to set are the following:\n\n- JSERVERNAME: full servername to be tested. ex; esddemo.eea.europa.eu\n- JUSERNAME: valid EIONET username, with the appropriate permissions so that the test is successful\n- JPASSWORD: valid EIONET username's password\n- JNUMOFTHREADS: number of threads to be used in the test\n- JLOOPCOUNT: number of repetitions of the test for each thread\n- JWAITINGTIME: waiting time between tests (in miliseconds)\n\n\nRunning this tests with Jenkins\n========================================================\n\nTests to be run with JMeter based on requirements of\nhttps://taskman.eionet.europa.eu/issues/22685\n\n- Create your tests using JMeter, but create them parametrized, this way you can create just one test case, and run in different scenarios: multiple users, different servers (dev/staging/production), and without adding user credentials (if needed) on your SCM.\n\n  To do so, go to the **User Defined Variables** table in the Test Plan configuration in JMeter, and create all the needed variables.\n\n  The tests created in this buildout use 6 variables. These are the values and its values:\n    - username: ${__P(USERNAME)}\n    - password: ${__P(PASSWORD)}\n    - numofthreads: ${__P(NUMOFTHREADS)}\n    - rampup-period: ${__P(NUMOFTHREADS)}\n    - loopcount: ${__P(LOOPCOUNT)}\n    - servername: ${__P(SERVERNAME)}\n    - waiting-time: ${__P(WAITINGTIME)}\n\n  This allows to pass the correct parameters to JMeter when the test is run. You will need to use these variables (${username}, ${password}, etc), each time you need to get those values in JMeter. For instance, in the \"HTTP Request Defaults\" configuration you need to set ${servername} instead of the real servername.\n\n- Install `Jenkins Performance plugin`_.\n\n- Create a new Job using the **Freestyle project** template.\n\n- Point to the git repository containing this buildout, this way Jenkins will download the latest version of the tests from the repository\n\n- Check the **This build is parameterized** option and add the following parameters:\n    - NUMOFTHREADS: type *string* default value *1*\n    - LOOPCOUNT: type *string* default value *1*\n    - SERVERNAME: type *string* default value *1*\n    - USERNAME: type *string* default value *USERNAME*\n    - PASSWORD: type *string* default value *PASSWORD*\n    - WAITINGTIME: type *string* default value *1000*\n\n\n  This parameters will be asked to the user before the execution of each build.\n\n- Click on **Add build step** and select **Execute shell**. Fill the command with the following::\n\n    python bootstrap.py\n    ./bin/buildout -vv\n    ./bin/logintest -JSERVERNAME=${SERVERNAME} -JUSERNAME=${USERNAME} -JPASSWORD=${PASSWORD} -JNUMOFTHREADS=${NUMOFTHREADS} -JLOOPCOUNT=${LOOPCOUNT} -JWAITINGTIME=${WAITINGTIME}\n\n\n- Replace ./bin/logintest, with each of the tests created in this buildout: *logintest*, *editortest*, *reviewertest*, *eionetusertest* and keep the rest of parameters. They will be filled with the user input on each build.\n\n- Click on **Add post-build action\"** and select **Publish Performance test result report**.\n    - Under **Add a new report** select JMeter and enter the name of the report file as stated in the buildout file, for instance, **report_logintest.jtl**\n    - Select **Error Threshold** mode and enter the threshold to mark the builds Unstable and Failed, you can enter 999 in both fields. You will be able to tune this setting later.\n    - Enter the **relative thresholds for build comparison**, add **-0.01** and **0.01** as **Unstable % Range** and **-0.02** and **0.02** as **Failed % Range**. You will be able to tune this setting later.\n    - Select **Average Reponse Time** in **Compare based on** dropdown.\n    - Under **Performance display** check **Performance Per Test Case Mode** and **Show Troughput Chart** checkboxes\n\n- Click on **Build with Parameters** to run the test, fill in the values of the parameters and wait for the results.\n\n- When the test is completed, you have to go to the latest build, and click on the graph click on the graph icon on the left menu and then on **Response tieme trends for build** to se the response time graphs for each of the pages\n\n.. _`Jenkins Performance plugin`: https://wiki.jenkins-ci.org/display/JENKINS/Performance+Plugin\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodesyntax%2Fesd-stress-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodesyntax%2Fesd-stress-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodesyntax%2Fesd-stress-test/lists"}