Parametrize populate-fixture-data.py Add -p for setting the port, and -u for the user count. Change-Id: I872607b3ce5707b8fc9e8b090292bc984bdfc535
diff --git a/contrib/populate-fixture-data.py b/contrib/populate-fixture-data.py old mode 100644 new mode 100755 index 0e3dffe..99d9a49 --- a/contrib/populate-fixture-data.py +++ b/contrib/populate-fixture-data.py
@@ -17,34 +17,24 @@ This script will populate an empty standard Gerrit instance with some data for local testing. -This script requires 'requests'. If you do not have this module, run -'pip3 install requests' to install it. - TODO(hiesel): Make real git commits instead of empty changes TODO(hiesel): Add comments """ import atexit import json +import optparse import os import random import shutil import subprocess import tempfile - import requests import requests.auth DEFAULT_TMP_PATH = "/tmp" TMP_PATH = "" -BASE_URL = "http://localhost:8080/a/" -ACCESS_URL = BASE_URL + "access/" -ACCOUNTS_URL = BASE_URL + "accounts/" -CHANGES_URL = BASE_URL + "changes/" -CONFIG_URL = BASE_URL + "config/" -GROUPS_URL = BASE_URL + "groups/" -PLUGINS_URL = BASE_URL + "plugins/" -PROJECTS_URL = BASE_URL + "projects/" +BASE_URL = "http://localhost:%d/a/" ADMIN_BASIC_AUTH = requests.auth.HTTPBasicAuth("admin", "secret") @@ -158,7 +148,7 @@ def fetch_admin_group(): global GROUP_ADMIN # Get admin group - r = json.loads(clean(requests.get(GROUPS_URL + "?suggest=ad&p=All-Projects", + r = json.loads(clean(requests.get(BASE_URL + "groups/" + "?suggest=ad&p=All-Projects", headers=HEADERS, auth=ADMIN_BASIC_AUTH).text)) admin_group_name = r.keys()[0] @@ -222,7 +212,7 @@ "visible_to_all": False, "owner": GROUP_ADMIN["name"], "owner_id": GROUP_ADMIN["id"]}] for g in groups: - requests.put(GROUPS_URL + g["name"], + requests.put(BASE_URL + "groups/" + g["name"], json.dumps(g), headers=HEADERS, auth=ADMIN_BASIC_AUTH) @@ -244,7 +234,7 @@ "branches": ["master"], "description": "some small scripts.", "owners": [owner_groups[3]], "create_empty_commit": True}] for p in projects: - requests.put(PROJECTS_URL + p["name"], + requests.put(BASE_URL + "projects/" + p["name"], json.dumps(p), headers=HEADERS, auth=ADMIN_BASIC_AUTH) @@ -253,7 +243,7 @@ def create_gerrit_users(gerrit_users): for user in gerrit_users: - requests.put(ACCOUNTS_URL + user["username"], + requests.put(BASE_URL + "accounts/" + user["username"], json.dumps(user), headers=HEADERS, auth=ADMIN_BASIC_AUTH) @@ -267,7 +257,7 @@ "branch": "master", "status": "NEW", } - requests.post(CHANGES_URL, + requests.post(BASE_URL + "changes/", json.dumps(change), headers=HEADERS, auth=basic_auth(user)) @@ -278,8 +268,22 @@ def main(): + p = optparse.OptionParser() + p.add_option("-u", "--user_count", action="store", + default=100, + type='int', + help="number of users to generate") + p.add_option("-p", "--port", action="store", + default=8080, + type='int', + help="port of server") + (options, _) = p.parse_args() + global BASE_URL + BASE_URL = BASE_URL % options.port + print BASE_URL + set_up() - gerrit_users = get_random_users(100) + gerrit_users = get_random_users(options.user_count) group_names = create_gerrit_groups() for idx, u in enumerate(gerrit_users):