From eb0246e84a2a136a8533f5899bb2df161e661861 Mon Sep 17 00:00:00 2001 From: nsubbot Date: Mon, 18 Aug 2025 11:51:02 +0300 Subject: [PATCH] =?UTF-8?q?=D0=90=D0=BA=D1=82=D1=83=D0=B0=D0=BB=D0=B8?= =?UTF-8?q?=D0=B7=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=20=D1=82=D0=B5=D1=81?= =?UTF-8?q?=D1=82=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=B2=D0=BA=D0=BB=D0=B0=D0=B4=D0=BA=D0=B8=20=D0=9B=D0=B8=D1=86?= =?UTF-8?q?=D0=B5=D0=BD=D0=B7=D0=B8=D1=8F=20=D1=82=D0=B0=D0=BA,=20=D1=87?= =?UTF-8?q?=D1=82=D0=BE=D0=B1=D1=8B=20=D0=BE=D0=BD=20=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D0=B0=D0=BB=20=D0=BD=D0=B0=20=D0=BE=D0=B1=D0=B5?= =?UTF-8?q?=D0=B8=D1=85=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F=D1=85=20?= =?UTF-8?q?=D1=81=D0=B8=D1=81=D1=82=D0=B5=D0=BC=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.76 | 3 +++ data/environment.py | 8 +++++++ pages/license_tab.py | 54 +++++++++++++++++++++++++++++++++----------- 3 files changed, 52 insertions(+), 13 deletions(-) create mode 100644 .env.76 diff --git a/.env.76 b/.env.76 new file mode 100644 index 0000000..73a7825 --- /dev/null +++ b/.env.76 @@ -0,0 +1,3 @@ +ENV=test +AUTH_LOGIN = admin +AUTH_PASSWORD = admin diff --git a/data/environment.py b/data/environment.py index 348a3fd..edc6f16 100644 --- a/data/environment.py +++ b/data/environment.py @@ -46,6 +46,14 @@ class Environment: return self.URLS[self.env] + "e-nms-ui/" return self.URLS[self.env] raise Exception(f"Unknown value of ENV variable {self.env}") + + def get_env_name(self) -> str: + """Возвращает имя текущего окружения. + + Возвращает: + str: имя текущего окружения. + """ + return self.env def get_request_url(self) -> str: """Возвращает URL для API-запросов. diff --git a/pages/license_tab.py b/pages/license_tab.py index 739bb6a..e97312a 100644 --- a/pages/license_tab.py +++ b/pages/license_tab.py @@ -12,6 +12,7 @@ from locators.button_locators import ButtonLocators from elements.text_input_element import TextInput from elements.text_element import Text from elements.button_element import Button +from data.environment import host from components.toolbar_component import ToolbarComponent from components.json_container_component import JsonContainerComponent from components.alert_component import AlertComponent @@ -88,6 +89,8 @@ class LicenseTab(BasePage): self.should_be_input_form_title() self.should_be_empty_input_form() self.should_be_update_button() + + self.verify_json_container_content() def should_be_error_alert_window_with_text(self, text: str) -> None: """Проверяет наличие/отсутствие алерта с указанным текстом. @@ -151,16 +154,41 @@ class LicenseTab(BasePage): actual_data = self.json_container.read_data(JsonContainerLocators.CONTAINER) - # send request to backend to get license info - response = self.send_get_api_request("e-cmdb/api/lic") - response_body = self.get_response_body(response) - - ## temporarily - del response_body["netManagment"] - response_body["ui"].pop("lcc") - - self.json_container.check_json_equals( - actual_data, - response_body, - "Expected json content is not equal actual:" - ) + env_name = host.get_env_name() + + # temporarily because of difference in version + if env_name == "test": + # send request to backend to get license info + response = self.send_get_api_request("e-cmdb/api/lic") + response_body = self.get_response_body(response) + + del response_body["netManagment"] + response_body["ui"]["lcc"].pop("lcc_object") + response_body["ui"]["lcc"].pop("lcc_reference_book") + response_body["ui"]["lcc"].pop("lcc_reports") + response_body["ui"]["lcc"].pop("lcc_library_files") + response_body["ui"]["lcc"].pop("lcc_global_map") + response_body["ui"]["cmdb"].pop("logical_phone") + response_body["ui"]["cmdb"].pop("logical_ip") + response_body["ui"]["cmdb"].pop("logical_vlan") + response_body["ui"]["cmdb"].pop("logical_vm") + + # compare actual and response from cmdb + self.json_container.check_json_equals( + actual_data, + response_body, + "Expected json content is not equal actual:" + ) + elif env_name == "develop" != 0: + # send request to backend to get license info + response = self.send_get_api_request("api/service-manager/license") + response_body = self.get_response_body(response) + + # compare actual and response from cmdb + self.json_container.check_json_equals( + actual_data, + response_body["data"]["config"]["config"]["e-nms"], + "Expected json content is not equal actual:" + ) + else: + pass