# TestCurrentSettingsTab - Документация тестов eNODE-Мониторинг

Skip to content

# TestCurrentSettingsTab

Модуль тестов вкладки 'Сеансы/Настройки'.

Содержит тесты для проверки корректности отображения и функциональности элементов вкладки настройки времени жизни сеансов.

## `TestSessionSettingsTab`

Набор тестов для вкладки 'Сеансы/Настройки'.

Проверяет корректность отображения и функциональность элементов вкладки настройки времени жизни сеансов.

Тесты покрывают следующие сценарии: 1. test_session_settings_tab_content: Тест содержимого вкладки 'Сеансы/Настройки' 2. test_edit_session_settings: Тест проверки возможности редактирования выбранных полей формы настройки времени жизни сеансов. 3. test_edit_session_setting_by_arrow: Тест проверки возможности увеличения/уменьшения значения выбранного поля формы с помощью стрелочек Вверх/Вниз.

Source code in `tests\e2e\sessions\test_session_settings_tab.py`

     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
     38
     39
     40
     41
     42
     43
     44
     45
     46
     47
     48
     49
     50
     51
     52
     53
     54
     55
     56
     57
     58
     59
     60
     61
     62
     63
     64
     65
     66
     67
     68
     69
     70
     71
     72
     73
     74
     75
     76
     77
     78
     79
     80
     81
     82
     83
     84
     85
     86
     87
     88
     89
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138

    class TestSessionSettingsTab:
        """Набор тестов для вкладки 'Сеансы/Настройки'.

        Проверяет корректность отображения и функциональность элементов вкладки настройки времени жизни сеансов.

        Тесты покрывают следующие сценарии:
        1. test_session_settings_tab_content: Тест содержимого вкладки 'Сеансы/Настройки'
        2. test_edit_session_settings: Тест проверки возможности редактирования выбранных полей формы
                                       настройки времени жизни сеансов.
        3. test_edit_session_setting_by_arrow: Тест проверки возможности увеличения/уменьшения значения
                                               выбранного поля формы с помощью стрелочек Вверх/Вниз.
        """

        @pytest.fixture(scope="function", autouse=True)
        def setup(self, browser: Page) -> None:
            """Фикстура для подготовки тестового окружения.

            Выполняет:
            1. Авторизацию в системе
            2. Переход на вкладку 'Сеансы/Настройки' через панель навигации
            """
            # Авторизация в системе
            login_page = LoginPage(browser)
            login_page.do_login()

            # Инициализация главной страницы
            main_page = MainPage(browser)

            # Проверка и взаимодействие с элементами навигации
            main_page.should_be_navigation_panel()
            main_page.click_main_navigation_panel_item("Настройки")
            main_page.click_subpanel_item("Обслуживание и диагностика")
            main_page.click_subpanel_item("Сеансы")
            main_page.click_subpanel_item("Настройки", parent="Сеансы")

       # @pytest.mark.develop
        def test_session_settings_tab_content(self, browser: Page) -> None:
            """Тест содержимого вкладки 'Сеансы/Настройки'.

            Проверяет:
            1. Наличие и корректность элементов интерфейса
            2. Соответствие содержимого полей формы данным из БД
            """
            # Инициализация страницы сеансов
            session_settings_tab = SessionSettingsTab(browser)

            # Проверка элементов интерфейса
            session_settings_tab.check_content()

            # Проверяем API ответ
            response = session_settings_tab.send_get_api_request("e-cmdb/api/objectByPath?path=/config/auth")
            if response.status == 200:
                response_body = session_settings_tab.get_response_body(response)

                if response_body:
                    # Проверка содержимого таблица с верификацией данных из БД
                    session_settings = response_body.get("options").get("key_ttl")
                    session_settings_tab.verify_form_data(session_settings)
            else:
                print(f"Error request session setings data from API: {response.status_text}")

        #@pytest.mark.develop
        def test_edit_session_settings(self, browser: Page) -> None:
            """Тест проверки возможности редактирования выбранных полей формы настройки времени жизни сеансов.

            Проверяет:
            1. Возможность редактирования выбранных полей формы настройки времени жизни сеансов.
            """
            new_settings = {'administrator': "50",
                            'operator': "20",
                            'manager': "20",
                            "inform_secur_user": "25"}

            # Инициализация страницы сеансов
            session_settings_tab = SessionSettingsTab(browser)

            session_settings_tab.edit_settings(new_settings)

            # temporarily
            # updated_settings = session_settings_tab.get_settings_values()

            # for key, value in new_settings.items():
            #     updated_value = updated_settings.get(key)
            #     assert updated_value == value, f"{key} updated value {updated_value} is not equal expected value {value}"

        # @pytest.mark.develop
        def test_edit_session_setting_by_arrow(self, browser: Page) -> None:
            """Тест проверки возможности увеличения/уменьшения значения выбранного поля формы с помощью стрелочек Вверх/Вниз.
            """

            field_name = 'operator'

            # Инициализация страницы сеансов
            session_settings_tab = SessionSettingsTab(browser)

            session_settings_tab.click_edit_button()

            start_value = session_settings_tab.get_setting_value(field_name)
            expected_value = int(start_value)

            for i in range(5):
                session_settings_tab.increase_setting_value(field_name)

                current_value = int(session_settings_tab.get_setting_value(field_name))
                expected_value += 1

                assert current_value == expected_value, \
                    f"Expected value {expected_value} is not equal current value {current_value} for {field_name} setting"

            for j in range(5):
                session_settings_tab.decrease_setting_value(field_name)

                current_value = int(session_settings_tab.get_setting_value(field_name))
                expected_value -= 1

                assert current_value == expected_value, \
                    f"Expected value {expected_value} is not equal current value {current_value} for {field_name} setting"

            current_value = int(session_settings_tab.get_setting_value(field_name))
            assert current_value == int(start_value), \
                f"Expected value {start_value} is not equal current value {current_value} for {field_name} setting"

            session_settings_tab.click_cancel_button()

### `setup(browser)`

Фикстура для подготовки тестового окружения.

Выполняет: 1. Авторизацию в системе 2. Переход на вкладку 'Сеансы/Настройки' через панель навигации

Source code in `tests\e2e\sessions\test_session_settings_tab.py`

    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49

    @pytest.fixture(scope="function", autouse=True)
    def setup(self, browser: Page) -> None:
        """Фикстура для подготовки тестового окружения.

        Выполняет:
        1. Авторизацию в системе
        2. Переход на вкладку 'Сеансы/Настройки' через панель навигации
        """
        # Авторизация в системе
        login_page = LoginPage(browser)
        login_page.do_login()

        # Инициализация главной страницы
        main_page = MainPage(browser)

        # Проверка и взаимодействие с элементами навигации
        main_page.should_be_navigation_panel()
        main_page.click_main_navigation_panel_item("Настройки")
        main_page.click_subpanel_item("Обслуживание и диагностика")
        main_page.click_subpanel_item("Сеансы")
        main_page.click_subpanel_item("Настройки", parent="Сеансы")

### `test_edit_session_setting_by_arrow(browser)`

Тест проверки возможности увеличения/уменьшения значения выбранного поля формы с помощью стрелочек Вверх/Вниз.

Source code in `tests\e2e\sessions\test_session_settings_tab.py`

    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138

    def test_edit_session_setting_by_arrow(self, browser: Page) -> None:
        """Тест проверки возможности увеличения/уменьшения значения выбранного поля формы с помощью стрелочек Вверх/Вниз.
        """

        field_name = 'operator'

        # Инициализация страницы сеансов
        session_settings_tab = SessionSettingsTab(browser)

        session_settings_tab.click_edit_button()

        start_value = session_settings_tab.get_setting_value(field_name)
        expected_value = int(start_value)

        for i in range(5):
            session_settings_tab.increase_setting_value(field_name)

            current_value = int(session_settings_tab.get_setting_value(field_name))
            expected_value += 1

            assert current_value == expected_value, \
                f"Expected value {expected_value} is not equal current value {current_value} for {field_name} setting"

        for j in range(5):
            session_settings_tab.decrease_setting_value(field_name)

            current_value = int(session_settings_tab.get_setting_value(field_name))
            expected_value -= 1

            assert current_value == expected_value, \
                f"Expected value {expected_value} is not equal current value {current_value} for {field_name} setting"

        current_value = int(session_settings_tab.get_setting_value(field_name))
        assert current_value == int(start_value), \
            f"Expected value {start_value} is not equal current value {current_value} for {field_name} setting"

        session_settings_tab.click_cancel_button()

### `test_edit_session_settings(browser)`

Тест проверки возможности редактирования выбранных полей формы настройки времени жизни сеансов.

Проверяет: 1. Возможность редактирования выбранных полей формы настройки времени жизни сеансов.

Source code in `tests\e2e\sessions\test_session_settings_tab.py`

    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92

    def test_edit_session_settings(self, browser: Page) -> None:
        """Тест проверки возможности редактирования выбранных полей формы настройки времени жизни сеансов.

        Проверяет:
        1. Возможность редактирования выбранных полей формы настройки времени жизни сеансов.
        """
        new_settings = {'administrator': "50",
                        'operator': "20",
                        'manager': "20",
                        "inform_secur_user": "25"}

        # Инициализация страницы сеансов
        session_settings_tab = SessionSettingsTab(browser)

        session_settings_tab.edit_settings(new_settings)

### `test_session_settings_tab_content(browser)`

Тест содержимого вкладки 'Сеансы/Настройки'.

Проверяет: 1. Наличие и корректность элементов интерфейса 2. Соответствие содержимого полей формы данным из БД

Source code in `tests\e2e\sessions\test_session_settings_tab.py`

    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75

    def test_session_settings_tab_content(self, browser: Page) -> None:
        """Тест содержимого вкладки 'Сеансы/Настройки'.

        Проверяет:
        1. Наличие и корректность элементов интерфейса
        2. Соответствие содержимого полей формы данным из БД
        """
        # Инициализация страницы сеансов
        session_settings_tab = SessionSettingsTab(browser)

        # Проверка элементов интерфейса
        session_settings_tab.check_content()

        # Проверяем API ответ
        response = session_settings_tab.send_get_api_request("e-cmdb/api/objectByPath?path=/config/auth")
        if response.status == 200:
            response_body = session_settings_tab.get_response_body(response)

            if response_body:
                # Проверка содержимого таблица с верификацией данных из БД
                session_settings = response_body.get("options").get("key_ttl")
                session_settings_tab.verify_form_data(session_settings)
        else:
            print(f"Error request session setings data from API: {response.status_text}")