def test_get_purchases_by_id_by_employee(self, use_session_employee): """ Тест получения списка покупок в номере с покупками сотрудником """ with allure.step( 'Запрос на получение списка покупок в номере по его SAN'): r = Rooms().get_purchases_by_san(san=DV.SAN_ROOM_WITH_PURCHASES) with allure.step('Проверка на успешный статус код'): assert_that(r.status_code, equal_to(200)) with allure.step('Проверки информации о комнате'): assert_that(r.json()["service_account_number"], equal_to(DV.SAN_ROOM_WITH_PURCHASES)) assert_that( r.json(), has_entries("service_account_number", equal_to(DV.SAN_ROOM_WITH_PURCHASES), "purchases", is_not([]))) with allure.step('Проверки списка покупок'): assert_that(r.json()["purchases"][0], has_entries("name", equal_to("Сахара"))) assert_that(r.json()["purchases"][1], has_entries("name", equal_to("Карлик Нос"))) assert_that(r.json()["purchases"][2], has_entries("name", equal_to("Взрослый Деловой")))
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"))
def test_get_purchases_by_room_id_by_admin_hotel(self, use_session_admin_hotel): """ Тест получения списка покупок в номере с покупками администратором гостиницы """ with allure.step( 'Запрос на получение списка покупок в определенном номере'): r = Rooms().get_purchases(san=DV.SAN_ROOM_WITH_PURCHASES) with allure.step('Проверка на успешный статус код'): assert_that(r.status_code, equal_to(200)) with allure.step('Проверки информации о комнате'): assert_that(r.json()[0]["service_account_number"], equal_to(DV.SAN_ROOM_WITH_PURCHASES)) assert_that( r.json()[0], has_entries("service_account_number", equal_to(DV.SAN_ROOM_WITH_PURCHASES), "purchases", is_not([]))) with allure.step('Проверки списка покупок'): assert_that(r.json()[0]["purchases"][0], has_entries("name", equal_to("Сахара"))) assert_that(r.json()[0]["purchases"][1], has_entries("name", equal_to("Карлик Нос"))) assert_that(r.json()[0]["purchases"][2], has_entries("name", equal_to("Взрослый Деловой")))
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))
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))
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"))
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))
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"))
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"))
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"))
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"))
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"))
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"))
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))
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))
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"))
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"))
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"))
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"))
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"))
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"))
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"))
def test_change_room_number_by_admin_hotel(self, use_session_admin_hotel, free_room_number): """ Тест изменения номера комнаты администратором гостиницы """ with allure.step('Проверка, что перед тестом стоит дефолтный номер комнаты'): old_room_number = RC().get_room_param('ServiceAccount_additionalInfo') assert_that(old_room_number, equal_to(DV.NUMBER_MAIN_ROOM)) with allure.step('Запрос на изменение номера комнаты'): r = Rooms(number="123").post_change_number(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, что номер комнаты поменялся'): room_number = RC().get_room_param('ServiceAccount_additionalInfo') assert_that(room_number, equal_to("123")) with allure.step('Выставление дефолтного значения номера комнаты'): Rooms(number=DV.NUMBER_MAIN_ROOM).post_change_number(san=DV.SAN_MAIN_ROOM)
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([]))
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([]))
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"))
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"))
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"))
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"))
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"))