diff --git a/requirements.txt b/requirements.txt index b5390b3..dbc6977 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,5 +12,5 @@ defusedxml==0.6.0 django-celery-results==1.0.4 django-simple-history==2.7.3 pyyaml==5.1.2 -#mysqlclient==1.4.4 +mysqlclient==1.4.4 gunicorn==19.9.0 diff --git a/src/vmc/ralph/factories.py b/src/vmc/ralph/factories.py index e3bca04..00c2caf 100644 --- a/src/vmc/ralph/factories.py +++ b/src/vmc/ralph/factories.py @@ -22,6 +22,7 @@ class AssetFactory: FIELD_LIST = [field.name for field in Asset._meta.get_fields() if field] + IMPACT = {'LOW': 'L', 'MEDIUM': 'M', 'HIGH': 'H', 'NOT_DEFINED': 'N'} @staticmethod def process(item: dict) -> None: @@ -77,20 +78,20 @@ def hostname(item: dict, _) -> str: @staticmethod def confidentiality_requirement(item: dict, _) -> str: try: - return item['custom_fields']['confidentiality'] + return AssetFactory.IMPACT[item['custom_fields']['confidentiality']] except KeyError: return Impact.NOT_DEFINED.value @staticmethod def integrity_requirement(item: dict, _) -> str: try: - return item['custom_fields']['integrity'] + return AssetFactory.IMPACT[item['custom_fields']['integrity']] except KeyError: return Impact.NOT_DEFINED.value @staticmethod def availability_requirement(item: dict, _) -> str: try: - return item['custom_fields']['availability'] + return AssetFactory.IMPACT[item['custom_fields']['availability']] except KeyError: return Impact.NOT_DEFINED.value diff --git a/src/vmc/ralph/fixtures/all_hosts_response.json b/src/vmc/ralph/fixtures/all_hosts_response.json index 695539c..26f39cc 100644 --- a/src/vmc/ralph/fixtures/all_hosts_response.json +++ b/src/vmc/ralph/fixtures/all_hosts_response.json @@ -51,9 +51,9 @@ "processors": [], "object_type": "datacenterasset", "custom_fields": { - "confidentiality": "H", - "integrity": "N", - "availability": "N", + "confidentiality": "HIGH", + "integrity": "NOT_DEFINED", + "availability": "NOT_DEFINED", "os": "Windows Server 2003" }, "configuration_variables": {},