From b7fd82c6d599a13d83926c43bfe08b831cc2766d Mon Sep 17 00:00:00 2001 From: Joel Davies Date: Mon, 2 Dec 2024 09:50:57 +0000 Subject: [PATCH] Update mock data script and dump to include number of spares #417 --- data/mock_data.dump | Bin 178540 -> 179262 bytes scripts/generate_mock_data.py | 53 ++++++++++++++++++++++++++++------ 2 files changed, 44 insertions(+), 9 deletions(-) diff --git a/data/mock_data.dump b/data/mock_data.dump index a3cacd1cd6653aa2630784124083a30a0d5984ff..bbb1789291fb17278921be458b0ed7f847f3060f 100644 GIT binary patch literal 179262 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

5fUxR|Mt*Uk34hy4fB8d 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 diff --git a/scripts/generate_mock_data.py b/scripts/generate_mock_data.py index 4d45f76c..523b93de 100644 --- a/scripts/generate_mock_data.py +++ b/scripts/generate_mock_data.py @@ -29,11 +29,12 @@ logger = logging.getLogger() -units = ["mm", "degrees", "nm", "ns", "Hz", "ppm", "J/cm²", "J", "W"] +UNITS = ["mm", "degrees", "nm", "ns", "Hz", "ppm", "J/cm²", "J", "W"] -usage_statuses = ["New", "Used", "In Use", "Scrapped"] +USAGE_STATUSES = ["New", "Used", "In Use", "Scrapped"] +SPARES_DEFINITION_USAGE_STATUSES = ["New", "Used"] -manufacturer_names = [ +MANUFACTURER_NAMES = [ "Tech Innovators Inc.", "Global Gadgets Co.", "Precision Electronics Ltd.", @@ -56,7 +57,7 @@ "Dynamic Designs Inc.", ] -catalogue_category_names = [ +CATALOGUE_CATEGORY_NAMES = [ "Laser Diodes", "Beam Splitters", "Fiber OpticCables", @@ -288,7 +289,7 @@ def generate_random_catalogue_category(parent_id: str, is_leaf: bool): prop["unit_id"] = unit["id"] category: dict = { - "name": f"{fake.random.choice(catalogue_category_names)}", + "name": f"{fake.random.choice(CATALOGUE_CATEGORY_NAMES)}", "is_leaf": is_leaf, "parent_id": parent_id, "properties": properties, @@ -313,7 +314,7 @@ def generate_random_manufacturer(): """Generates randomised data for a manufacturer.""" return { - "name": fake.random.choice(manufacturer_names), + "name": fake.random.choice(MANUFACTURER_NAMES), "url": fake.url(), "address": { "address_line": f"{fake.secondary_address()}, {fake.street_name()}", @@ -370,7 +371,7 @@ def generate_random_catalogue_item( return { "catalogue_category_id": catalogue_category_id, "manufacturer_id": manufacturer_id, - "name": fake.random.choice(catalogue_category_names), + "name": fake.random.choice(CATALOGUE_CATEGORY_NAMES), "description": optional_catalogue_item_field(lambda: fake.paragraph(nb_sentences=2)), "cost_gbp": fake.random.randint(0, 1000), "cost_to_rework_gbp": optional_catalogue_item_field(lambda: fake.random.randint(0, 1000)), @@ -431,6 +432,18 @@ def generate_random_system(parent_id: str): } +def generate_spares_definition(spares_definition_usage_statuses: list[str]): + """Generates spares definition put data given a list of usage statuses to use.""" + + generated_usage_statuses_value_id_dict = {value["value"]: key for key, value in generated_usage_statuses.items()} + return { + "usage_statuses": [ + {"id": generated_usage_statuses_value_id_dict[usage_status]} + for usage_status in spares_definition_usage_statuses + ] + } + + def post_avoiding_duplicates(endpoint: str, field: str, json: dict) -> dict[str, Any]: """Posts an entity's data to the given endpoint, but adds - n to the end to avoid duplicates when a 409 is returned. @@ -492,6 +505,20 @@ def create_item(item_data: dict) -> dict[str, Any]: return post_avoiding_duplicates(endpoint="/v1/items", field="name", json=item_data) +def set_spares_definition(spares_definition_data) -> dict[str, Any]: + """ + Sets the spares definition given its data. + + :return: JSON data from the response. + """ + response = requests.put( + f"{API_URL}/v1/settings/spares_definition", + json=spares_definition_data, + timeout=10, + ) + return response.json() + + def populate_random_manufacturers() -> list[str]: """Randomly populates manufacturers returning a list of their generated IDs.""" @@ -505,7 +532,7 @@ def populate_random_manufacturers() -> list[str]: def populate_units(): """Randomly populates units.""" - for _, unit in enumerate(units): + for _, unit in enumerate(UNITS): unit = generate_unit(unit) unit = create_unit(unit) generated_units[unit["value"]] = unit @@ -514,7 +541,7 @@ def populate_units(): def populate_usage_statuses(): """Randomly populates usage statuses.""" - for _, usage_status in enumerate(usage_statuses): + for _, usage_status in enumerate(USAGE_STATUSES): usage_status = generate_usage_status(usage_status) usage_status = create_usage_status(usage_status) generated_usage_statuses[usage_status["id"]] = usage_status @@ -589,6 +616,12 @@ def populate_random_systems(levels_deep: int = 0, parent_id=None): generated_system_ids.append(system_id) +def populate_spares_definition(): + """Sets the spares definition.""" + + set_spares_definition(generate_spares_definition(SPARES_DEFINITION_USAGE_STATUSES)) + + def generate_mock_data(): """Generates mock data for all the entities""" @@ -596,6 +629,8 @@ def generate_mock_data(): populate_units() logger.info("Populating usage statuses...") populate_usage_statuses() + logger.info("Populating spares definition...") + populate_spares_definition() logger.info("Populating manufacturers...") manufacturer_ids = populate_random_manufacturers() logger.info("Populating catalogue categories...")