コード例 #1
0
    def test_put_rooms_by_id_by_admin_hotel(self, use_session_admin_hotel,
                                            check_in_room_number):
        """ Тест изменения данных номера администратором гостиницы """
        with allure.step('Запрос на изменение данных комнаты'):
            r = Rooms(name="Guest Changed",
                      checkout_date=4132252800,
                      forbid_extra=True,
                      language="ru",
                      pay_limit=15000,
                      pin_required=False).put_room_by_san(san=DV.SAN_MAIN_ROOM)

        with allure.step('Проверки на успешный ответ от сервера'):
            assert_that(r.status_code, equal_to(200))
            assert_that(r.json()["success"], is_(True))

        with allure.step(
                'Проверки через метод SDP, что данные в комнате изменились'):
            new_name = RC().get_room_param('ServiceAccount_name')
            new_checkout_date = RC().get_room_param(
                'ServiceAccount_lateCheckOut')
            new_forbid_extra = RC().get_room_param(
                'ServiceAccount_forbidExtra')
            new_pay_limit = RC().get_room_param('ServiceAccount_payLimit')
            new_pin_required = RC().get_room_param(
                'ServiceAccount_pinRequired')

            assert_that(new_name, equal_to("Guest Changed"))
            assert_that(
                new_checkout_date,
                equal_to(
                    DepartureDate.parse_timestamp_to_sdp_format(4132263600)))
            assert_that(new_forbid_extra, equal_to("1"))
            assert_that(new_pay_limit, equal_to("15000"))
            assert_that(new_pin_required, equal_to("0"))
コード例 #2
0
    def test_post_notify_by_employee(self, use_session_employee):
        """ Тест отправки нотификации в несколько номеров сотрудником """
        with allure.step('Запрос на отправку нотификации в два номера'):
            r = Rooms().post_notify_to_select_rooms(DV.SAN_MAIN_ROOM, DV.SAN_SECOND_ROOM)

        with allure.step('Проверки на успешный ответ от сервера'):
            assert_that(r.status_code, equal_to(200))
            assert_that(r.json()["success"], is_(True))
コード例 #3
0
    def test_update_pin_by_admin_rt(self, use_session_admin_rt, check_in_room_number):
        """ Тест попытки изменения ПИН-кода """
        with allure.step('Запрос на изменение ПИН-кода'):
            r = Rooms().post_update_pin_by_san(DV.SAN_MAIN_ROOM)

        with allure.step('Проверки, что администратор Ростелеком не может изменить ПИН-код в номере'):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(11))
コード例 #4
0
    def test_get_rooms_by_id_no_role(self, delete_session):
        """ Тест попытки получить информацию о номере без авторизационного токена """
        with allure.step('Запрос на получение информации о номере'):
            r = Rooms().get_room_by_san(san=DV.SAN_MAIN_ROOM)

        with allure.step('Проверки, что без авторизационного токена нельзя выполнить данный метод'):
            assert_that(r.status_code, equal_to(401))
            assert_that(r.json()["error_code"], equal_to(1))
            assert_that(r.json()["description"], equal_to("No 'session_id' header was provided"))
コード例 #5
0
    def test_post_notify_by_admin_hotel(self, use_session_admin_hotel):
        """ Тест отправки нотификации в несколько номеров администратором гостиницы """
        with allure.step('Запрос на отправку нотификации в два номера'):
            r = Rooms().post_notify_to_select_rooms(DV.SAN_MAIN_ROOM,
                                                    DV.SAN_SECOND_ROOM)

        with allure.step('Проверки на успешный ответ от сервера'):
            assert_that(r.status_code, equal_to(200))
            assert_that(r.json()["success"], is_(True))
コード例 #6
0
    def test_change_room_number_to_incorrect_room_by_admin_hotel(self, use_session_admin_hotel):
        """ Тест попытки изменить номер комнаты в несуществущем номере администратором гостиницы """
        with allure.step('Запрос на изменение номера комнаты с несуществующим SAN'):
            r = Rooms(number="123").post_change_number("incorrect")

        with allure.step('Проверки на корректный ответ от сервера'):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"], equal_to("Action is forbidden for given room's san"))
コード例 #7
0
    def test_change_room_number_in_another_hotel_by_admin_hotel(self, use_session_admin_hotel):
        """ Тест попытки изменить номер комнаты в другой гостинице администратором гостиницы """
        with allure.step('Запрос на изменение номера комнаты в номере чужой гостиницы по его SAN'):
            r = Rooms(number="123").post_change_number(DV.SECOND_SAN_MAIN_ROOM)

        with allure.step('Проверки, что сотруднику запрещено изменять номера комнат в чужой гостинице'):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"], equal_to("Action is forbidden for given room's san"))
コード例 #8
0
    def test_check_out_for_incorrect_room_by_admin_hotel(self, use_session_admin_hotel):
        """ Тест попытки выселения из несуществующего номера администратором гостиницы """
        with allure.step('Запрос на выселение из комнаты с несуществующим SAN'):
            r = Rooms(name="Guest").post_check_out("incorrect")

        with allure.step('Проверки на корректность ответа от сервера при попытке выселить несуществующую комнату'):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"], equal_to("Action is forbidden for given room's san"))
コード例 #9
0
    def test_post_notify_no_role(self, delete_session):
        """ Тест отправки нотификации в несколько номеров без авторизационного токена """
        with allure.step('Запрос на отправку нотификации во все номера гостиницы'):
            r = Rooms().post_notify_to_all_rooms()

        with allure.step('Проверки, что без авторизационного токена нельзя выполнить данный метод'):
            assert_that(r.status_code, equal_to(401))
            assert_that(r.json()["error_code"], equal_to(1))
            assert_that(r.json()["description"], equal_to("No 'session_id' header was provided"))
コード例 #10
0
    def test_post_notify_by_admin_rt(self, use_session_admin_rt):
        """ Тест попытки отправки нотификации во все номера гостиницы """
        with allure.step('Запрос на отправку нотификаций'):
            r = Rooms().post_notify_to_all_rooms()

        with allure.step('Проверки, что администратор Ростелеком не может отправить нотификации'):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(403))
            assert_that(r.json()["description"], equal_to("Forbidden"))
コード例 #11
0
    def test_post_notify_by_admin_hotel(self, use_session_admin_hotel):
        """ Тест отправки нотификации в несколько номеров сотрудником """
        with allure.step(
                'Запрос на отправку нотификации во все номера гостиницы'):
            r = Rooms().post_notify_to_all_rooms()

        with allure.step('Проверки на успешный ответ от сервера'):
            assert_that(r.status_code, equal_to(200))
            assert_that(r.json()["success"], is_(True))
コード例 #12
0
    def test_get_rooms_by_incorrect_id_by_admin_hotel(self, use_session_admin_hotel):
        """ Тест попытки получить информацию о несуществующем номере администратором гостиницы """
        with allure.step('Запрос на получение информации о номере'):
            r = Rooms().get_room_by_san(san="incorrect")

        with allure.step('Проверка на корректный ответ при попытке получить информацию о несуществующем номере'):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"], equal_to("Action is forbidden for given room's san"))
コード例 #13
0
    def test_post_notify_to_room_in_another_hotel_by_employee(self, use_session_employee):
        """ Тест отправки нотификации в комнату чужого отеля сотрудником """
        with allure.step('Запрос на отправку нотификации в комнату чужого отеля'):
            r = Rooms().post_notify_to_select_rooms(DV.SECOND_SAN_MAIN_ROOM)

        with allure.step('Проверки на корректный ответ от сервера (комната не найдена)'):
            assert_that(r.status_code, equal_to(400))
            assert_that(r.json()["error_code"], equal_to(9))
            assert_that(r.json()["description"], equal_to("Room is not found"))
コード例 #14
0
    def test_post_notify_with_incorrect_display_type_by_employee(self, use_session_employee):
        """ Тест отправки нотификации с некорректным параметром display_type сотрудником """
        with allure.step('Запрос на отправку нотификации в комнату с некорректным значением параметра display_type'):
            r = Rooms(display_type="incorrect_display_type").post_notify_to_select_rooms(DV.SAN_MAIN_ROOM)

        with allure.step('Проверки на корректный ответ от сервера (неверные параметры запроса)'):
            assert_that(r.status_code, equal_to(400))
            assert_that(r.json()["error_code"], equal_to(1003))
            assert_that(r.json()["description"], equal_to("Invalid form's parameters"))
コード例 #15
0
    def test_get_rooms_by_id_in_not_your_hotel_by_admin_hotel(self, use_session_admin_hotel):
        """ Тест попытки получить информацию о номере не в своей гостинице администратором гостиницы """
        with allure.step('Запрос на получение информации о номере'):
            r = Rooms().get_room_by_san(san=DV.SECOND_SAN_MAIN_ROOM)

        with allure.step('Проверка, что сотрудник не может просмотреть информацию о номере в чужой гостинице'):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"], equal_to("Action is forbidden for given room's san"))
コード例 #16
0
    def test_post_notify_to_incorrect_room_by_employee(self, use_session_employee):
        """ Тест отправки нотификации в несуществующую комнату сотрудником """
        with allure.step('Запрос на отправку нотификации в комнату с несуществующим SAN'):
            r = Rooms().post_notify_to_select_rooms("incorrect_room")

        with allure.step('Проверки на корректный ответ от сервера (комната не найдена)'):
            assert_that(r.status_code, equal_to(400))
            assert_that(r.json()["error_code"], equal_to(9))
            assert_that(r.json()["description"], equal_to("Room is not found"))
コード例 #17
0
    def test_get_rooms_by_id_by_admin_hotel(self, use_session_admin_hotel):
        """ Тест получения информации о номере администратором гостиницы """
        with allure.step('Запрос на получение информации о номере'):
            r = Rooms().get_room_by_san(san=DV.SAN_MAIN_ROOM)

        with allure.step('Проверка на успешный статус код и на верные SAN и номер комнаты в ответе'):
            assert_that(r.status_code, equal_to(200))
            assert_that(r.json()["id"], equal_to(DV.SAN_MAIN_ROOM))
            assert_that(r.json()["number"], equal_to(DV.NUMBER_MAIN_ROOM))
コード例 #18
0
    def test_check_out_for_another_hotel_by_admin_hotel(self, use_session_admin_hotel):
        """ Тест попытки выселения из номера другой гостиницы администратором гостиницы """
        with allure.step('Запрос на выселение из комнаты чужой гостиницы'):
            r = Rooms(name="Guest").post_check_out(DV.SECOND_SAN_MAIN_ROOM)

        with allure.step('Проверки, что сотрудник не может выселять номера чужой гостиницы'):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"], equal_to("Action is forbidden for given room's san"))
コード例 #19
0
    def test_post_notify_to_empty_room_by_employee(self, use_session_employee):
        """ Тест отправки нотификации без указания номера комнаты сотрудником """
        with allure.step('Запрос на отправку нотификации без указания номера'):
            r = Rooms().post_notify_to_select_rooms()

        with allure.step('Проверки на корректный ответ от сервера (неверные параметры запроса)'):
            assert_that(r.status_code, equal_to(400))
            assert_that(r.json()["error_code"], equal_to(1003))
            assert_that(r.json()["description"], equal_to("Invalid form's parameters"))
            assert_that(r.json()["details"]["receivers"], equal_to("min 1"))
コード例 #20
0
    def test_put_rooms_by_id_no_role(self, check_in_room_number, delete_session):
        """ Тест попытки изменения данных номера без авторизационного токена """
        with allure.step('Запрос на изменение данных номера'):
            r = Rooms(name="Guest Changed", checkout_date=4132252800, forbid_extra=True, language="ru",
                      pay_limit=15000, pin_required=False).put_room_by_san(san=DV.SAN_MAIN_ROOM)

        with allure.step('Проверки, что без авторизационного токена нельзя выполнить данный метод'):
            assert_that(r.status_code, equal_to(401))
            assert_that(r.json()["error_code"], equal_to(1))
            assert_that(r.json()["description"], equal_to("No 'session_id' header was provided"))
コード例 #21
0
    def test_get_purchases_by_employee(self, use_session_employee):
        """ Тест получения списка покупок всех гостей номера сотрудником """
        with allure.step(
                'Запрос на получение списка покупок всех гостей номера'):
            r = Rooms().get_purchases()

        with allure.step('Проверка на успешный статус код'):
            assert_that(r.status_code, equal_to(200))

        with allure.step('Проверка, что список покупок не пустой'):
            assert_that(r.json(), is_not([]))
コード例 #22
0
    def test_put_rooms_by_incorrect_id_by_employee(self, use_session_employee):
        """ Тест попытки изменить данные в несуществующем номере сотрудником """
        with allure.step(
                'Запрос на изменение данных комнаты с несуществующим SAN'):
            r = Rooms(name="Guest Changed").put_room_by_san(san="incorrect")

        with allure.step('Проверки на корректность ответа от сервера'):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"],
                        equal_to("Action is forbidden for given room's san"))
コード例 #23
0
    def test_get_purchases_by_admin_hotel(self, use_session_admin_hotel):
        """ Тест получения списка покупок всех гостей номера администратором гостиницы """
        with allure.step(
                'Запрос на получение списка покупок всех гостей номера'):
            r = Rooms().get_purchases()

        with allure.step('Проверка на успешный статус код'):
            assert_that(r.status_code, equal_to(200))

        with allure.step('Проверка, что список покупок не пустой'):
            assert_that(r.json(), is_not([]))
コード例 #24
0
    def test_check_out_by_admin_hotel(self, use_session_admin_hotel, check_in_room_number):
        """ Тест выселения из номера администратором гостиницы """
        with allure.step('Запрос на выселение из заселенной комнаты'):
            r = Rooms().post_check_out(DV.SAN_MAIN_ROOM)

        with allure.step('Проверка на успешный ответ от сервера'):
            assert_that(r.status_code, equal_to(200))
            assert_that(r.json()['success'], is_(True))

        with allure.step('Получение через метод SDP статуса комнаты и проверка, что комната выселена'):
            status = RC().get_room_param('state_name')
            assert_that(status, equal_to("CheckOut"))
コード例 #25
0
    def test_check_in_to_another_hotel_by_employee(self, use_session_employee):
        """ Тест попытки заселения номера из другой гостиницы сотрудником """
        with allure.step('Запрос на вселение гостя в комнату чужой гостиницы'):
            r = Rooms(name="Guest").post_check_in(DV.SECOND_SAN_MAIN_ROOM)

        with allure.step(
                'Проверки, что сотрудник не может заселить комнату из чужой гостиницы'
        ):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"],
                        equal_to("Action is forbidden for given room's san"))
コード例 #26
0
    def test_get_purchases_by_id_no_role(self, delete_session):
        """ Тест попытки получения списка покупок без авторизационного токена """
        with allure.step('Запрос на получение списка покупок'):
            r = Rooms().get_purchases_by_san(san=DV.SAN_ROOM_WITH_PURCHASES)

        with allure.step(
                'Проверки, что без авторизационного токена нельзя выполнить данный метод'
        ):
            assert_that(r.status_code, equal_to(401))
            assert_that(r.json()["error_code"], equal_to(1))
            assert_that(r.json()["description"],
                        equal_to("No 'session_id' header was provided"))
コード例 #27
0
    def test_get_purchases_by_incorrect_room_id_by_employee(
            self, use_session_employee):
        """ Тест попытки получения списка покупок в несуществующем номере сотрудником """
        with allure.step(
                'Запрос на получение списка покупок в несуществующем номере'):
            r = Rooms().get_purchases(san="incorrect")

        with allure.step('Проверки на корректный ответ от сервера'):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"],
                        equal_to("Action is forbidden for given room's san"))
コード例 #28
0
    def test_get_rooms_by_admin_rt(self, use_session_admin_rt,
                                   free_room_number):
        """ Тест попытки получения списка номеров """
        with allure.step('Запрос на получение списка номеров'):
            r = Rooms().get_rooms()

        with allure.step(
                'Проверки, что администратор Ростелеком не может получить список номеров в любой гостинице'
        ):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(403))
            assert_that(r.json()["description"], equal_to("Forbidden"))
コード例 #29
0
    def test_update_pin_in_incorrect_room_by_admin_hotel(
            self, use_session_admin_hotel):
        """ Тест попытки изменения ПИН-кода в несущестующем номере сотрудником """
        with allure.step(
                'Запрос на изменение ПИН-кода в номере с несуществующим SAN'):
            r = Rooms().post_update_pin_by_san("incorrect")

        with allure.step('Проверки на корректный ответ от сервера'):
            assert_that(r.status_code, equal_to(403))
            assert_that(r.json()["error_code"], equal_to(12))
            assert_that(r.json()["description"],
                        equal_to("Action is forbidden for given room's san"))
コード例 #30
0
    def test_post_notify_no_role(self, delete_session):
        """ Тест попытки отправить нотификацию без авторизационного токена """
        with allure.step('Запрос на отправку нотификации'):
            r = Rooms().post_notify_to_select_rooms(DV.SAN_MAIN_ROOM)

        with allure.step(
                'Проверки, что без авторизационного токена нельзя выполнить данный метод'
        ):
            assert_that(r.status_code, equal_to(401))
            assert_that(r.json()["error_code"], equal_to(1))
            assert_that(r.json()["description"],
                        equal_to("No 'session_id' header was provided"))