How to use get_api_key method in localstack

Best Python code snippet using localstack_python

test_pet_friends.py

Source:test_pet_friends.py Github

copy

Full Screen

...11# фикстуру можно распологать как в самом файле с тестами,12# так и в файле conftest.py(расположение - корневой каталог,13# импортируются, как и функции через from conftest import 'имя фикстуры')14# @pytest.fixture()15# def get_api_key(email=valid_email, password=valid_password):16# """ Проверяем что запрос api ключа возвращает статус 200 и в17# тезультате содержится слово key"""18# # Отправляем запрос и сохраняем полученный ответ с кодом статуса в status, а текст ответа в result19# status, result = pf.get_api_key(email, password)20#21# # Сверяем полученные данные с нашими ожиданиями22# assert status == 20023# assert 'key' in result24# return result2526# Тест с авторизацией через фикстуру27def test_get_all_pets_with_valid_key(get_api_key, filter=''):28 """ Проверяем что запрос всех питомцев возвращает не пустой список.29 Для этого сначала получаем api ключ и сохраняем в переменную auth_key.30 Далее используя этого ключ запрашиваем список всех питомцев и проверяем31 что список не пустой. Доступное значение параметра filter - 'my_pets' либо '' """3233 #_, auth_key = pf.get_api_key(valid_email, valid_password)34 status, result = pf.get_list_of_pets(get_api_key, filter)3536 assert status == 20037 assert len(result['pets']) > 0383940# Тест с авторизацией через фикстуру41def test_add_new_pet_with_valid_data(get_api_key, name='котэ', animal_type='кот',42 age='44', pet_photo='images/cat1.jpg'):43 """Проверяем что можно добавить питомца с корректными данными"""4445 # Получаем полный путь изображения питомца и сохраняем в переменную pet_photo46 pet_photo = os.path.join(os.path.dirname(__file__), pet_photo)4748 # Запрашиваем ключ api и сохраняем в переменую auth_key49 #_, auth_key = pf.get_api_key(valid_email, valid_password)5051 # Добавляем питомца52 status, result = pf.add_new_pet(get_api_key, name, animal_type, age, pet_photo)5354 # Сверяем полученный ответ с ожидаемым результатом55 assert status == 20056 assert result['name'] == name, result['animal_type'] == animal_type and result['age'] == age575859# Тест с авторизацией через фикстуру60def test_successful_delete_self_pet(get_api_key):61 """Проверяем возможность удаления питомца"""6263 # Получаем ключ auth_key и запрашиваем список своих питомцев64 #_, auth_key = pf.get_api_key(valid_email, valid_password)65 _, my_pets = pf.get_list_of_pets(get_api_key, "my_pets")6667 # Проверяем - если список своих питомцев пустой, то добавляем нового и опять запрашиваем список своих питомцев68 if len(my_pets['pets']) == 0:69 pf.add_new_pet(get_api_key, "Суперкот", "кот", "3", "images/cat1.jpg")70 _, my_pets = pf.get_list_of_pets(get_api_key, "my_pets")7172 # Берём id первого питомца из списка и отправляем запрос на удаление73 pet_id = my_pets['pets'][0]['id']74 status, _ = pf.delete_pet(get_api_key, pet_id)7576 # Ещё раз запрашиваем список своих питомцев77 _, my_pets = pf.get_list_of_pets(get_api_key, "my_pets")7879 # Проверяем что статус ответа равен 200 и в списке питомцев нет id удалённого питомца80 assert status == 20081 assert pet_id not in my_pets.values()8283# Тест с авторизацией через фикстуру84def test_successful_update_self_pet_info(get_api_key, name='Мурзик', animal_type='Котэ', age=5):85 """Проверяем возможность обновления информации о питомце"""8687 # Получаем ключ auth_key и список своих питомцев88 #_, auth_key = pf.get_api_key(valid_email, valid_password)89 _, my_pets = pf.get_list_of_pets(get_api_key, "my_pets")9091 # Еслди список не пустой, то пробуем обновить его имя, тип и возраст92 if len(my_pets['pets']) > 0:93 status, result = pf.update_pet_info(get_api_key, my_pets['pets'][0]['id'], name, animal_type, age)9495 # Проверяем что статус ответа = 200 и имя питомца соответствует заданному96 assert status == 20097 assert result['name'] == name98 else:99 # если спиок питомцев пустой, то выкидываем исключение с текстом об отсутствии своих питомцев100 raise Exception("There is no my pets. Питомцы отсутствуют")101102103# # # ***************** Ещё 10 вариантов тест-кейсов для данного REST API интерфейса *******************104# # # *****************105106# 1 # Тест с авторизацией через фикстуру107def test_add_new_pet_with_long_name(get_api_key, name='ааааааа ббббббббббббб ввввввввввввв ггггггггггг дддддддддддд еееееееееее жжжжжжжжжжжжжжжжжж',108 animal_type='сфинкс',109 age='1', pet_photo='images/cat1.jpg'):110 """Проверяем, что нельзя добавить питомца с именем длиннее 50 символов"""111112 # Получаем полный путь изображения питомца и сохраняем в переменную pet_photo113 pet_photo = os.path.join(os.path.dirname(__file__), pet_photo)114115 # Запрашиваем ключ api и сохраняем в переменую auth_key116 #_, auth_key = pf.get_api_key(valid_email, valid_password)117118 # Добавляем питомца119 status, result = pf.add_new_pet(get_api_key, name, animal_type, age, pet_photo)120121 # Сверяем полученный ответ с ожидаемым результатом122 assert status == 200123 print('Баг - сайт позволяет добавить питомца с именем длиннее 50 символов')124125# 2 # Тест с авторизацией через фикстуру126def test_add_new_pet_with_empty_name(get_api_key, name='', animal_type='кот', age='44', pet_photo='images/cat1.jpg'):127 '''Проверяем возможность добавления питомца с пустым значением name128 Питомец будет добавлен на сайт с пустым значением в поле "имя"'''129130 # Получаем полный путь изображения питомца и сохраняем в переменную pet_photo131 pet_photo = os.path.join(os.path.dirname(__file__), pet_photo)132133 # Запрашиваем ключ api и сохраняем в переменую auth_key134 #_, auth_key = pf.get_api_key(valid_email, valid_password)135136 # Добавляем питомца137 status, result = pf.add_new_pet(get_api_key, name, animal_type, age, pet_photo)138139 # Сверяем полученный ответ с ожидаемым результатом140 assert status == 200141 assert result['name'] == '', 'Питомец добавлен на сайт с пустым значением в имени'142143144# 3 # Тест с авторизацией через фикстуру145def test_add_new_pet_without_photo_with_valid_data(get_api_key, name='Tom', animal_type='catou', age='5'):146 """Проверяем, что можно добавить питомца с корректными данными без фото"""147148 # Запрашиваем ключ api и сохраняем в переменую auth_key149 #_, auth_key = pf.get_api_key(valid_email, valid_password)150151 # Добавляем питомца152 status, result = pf.add_new_pets_no_photo(get_api_key, name, animal_type, age)153154 # Сверяем полученный ответ с ожидаемым результатом155 assert status == 200156 assert result['name'] == name157 assert result['pet_photo'] == ''158159# 4 # Тест с авторизацией через фикстуру160def test_add_pet_new_photo(get_api_key, pet_photo='images/cat11.jpg'):161 """Проверяем что можно добавить/изменить фото питомца"""162163 # Получаем полный путь изображения питомца и сохраняем в переменную pet_photo164 pet_photo = os.path.join(os.path.dirname(__file__), pet_photo)165166 # Получаем ключ auth_key и список своих питомцев167 #_, auth_key = pf.get_api_key(valid_email, valid_password)168 _, my_pets = pf.get_list_of_pets(get_api_key, "my_pets")169170 # Добавляем(если без фото)/изменяем фото питомца171 status, result = pf.update_pet_set_photo(get_api_key, my_pets['pets'][4]['id'], pet_photo)172173 # Сверяем полученный ответ с ожидаемым результатом174 assert status == 200175 assert result['pet_photo'] != ''176177178# 5 # Тест с авторизацией через фикстуру179def test_update_self_pet_info_passed(get_api_key, name='Кекс', animal_type='Котэ', age=5):180 """Тест на возможность обновления информации о питомце"""181182 # Получение ключа auth_key и списка своих питомцев183 #_, auth_key = pf.get_api_key(valid_email, valid_password)184 _, my_pets = pf.get_list_of_pets(get_api_key, "my_pets")185186 # Если список не пустой, то обновляем имя, тип и возраст первого в списке питомца (последнего добавленного)187 if len(my_pets['pets']) > 0:188 status, result = pf.update_pet_info(get_api_key, my_pets['pets'][1]['id'], name, animal_type, age)189190 # Проверка, что статус ответа = 200, и имя питомца соответствует заданному191 assert status == 200192 assert result['name'] == name193 else:194 # Если спиок питомцев пуст, то выкидываем исключение с текстом об отсутствии своих питомцев195 raise Exception("Список питомцев пуст")196197# 6198def test_get_api_key_with_wrong_password_and_correct_mail(email=valid_email, password=invalid_password):199 '''Проверяем что запрос api ключа с валидным имейлом и с невалидным паролем.200 Проверяем нет ли ключа в ответе'''201202 # Отправляем запрос и сохраняем полученный ответ с кодом статуса в status,203 # а текст ответа в result204 status, result = pf.get_api_key(email, password)205206 # Сверяем полученные данные с нашими ожиданиями207 assert status == 403208 assert 'key' not in result209210# 7211def test_get_api_key_with_wrong_email_and_correct_password(email=invalid_email, password=valid_password):212 '''Проверяем что запрос api ключа с невалидным имейлом и валидным паролем.213 Проверяем нет ли ключа в ответе'''214215 # Отправляем запрос и сохраняем полученный ответ с кодом статуса в status,216 # а текст ответа в result217 status, result = pf.get_api_key(email, password)218219 # Сверяем полученные данные с нашими ожиданиями220 assert status == 403221 assert 'key' not in result222223224# 8225def test_get_api_key_for_empty_email_user(email = empty_email, password = empty_password):226 '''Проверяем что запрос api ключа с пустым имейлом и с пустым паролем.227 Проверяем нет ли ключа в ответе'''228229 # Отправляем запрос и сохраняем полученный ответ с кодом статуса в status,230 # а текст ответа в result231 status, result = pf.get_api_key(email, password)232233 # Сверяем полученные данные с нашими ожиданиями234 assert status == 403235 assert 'key' not in result236237238# 9 # Тест с авторизацией через фикстуру239def test_add_new_pet_with_wrong_age(get_api_key, name='котэнекотэ', animal_type='кот',240 age='-9', pet_photo='images/cat11.jpg'):241 '''Проверка с негативным сценарием. Добавление питомца с отрицательным числом в переменной age.242 Тест не будет пройден если питомец будет добавлен на сайт с отрицательным числом в поле возраст.243 '''244 # Получаем полный путь изображения питомца и сохраняем в переменную pet_photo245 pet_photo = os.path.join(os.path.dirname(__file__), pet_photo)246247 # Запрашиваем ключ api и сохраняем в переменую auth_key248 #_, auth_key = pf.get_api_key(valid_email, valid_password)249250 # Добавляем питомца251 status, result = pf.add_new_pet(get_api_key, name, animal_type, age, pet_photo)252253 # Сверяем полученный ответ с ожидаемым результатом254 assert status == 200255 assert age in result['age']256 assert int(result['age']) < 0 #'Питомец добавлен на сайт с отрицательным числом в поле возраст'257258########## Тест с авторизацией через фикстуру259# # 10 тест рабочий ,БЕЗ КРАЙНЕЙ НЕОБХОДИМОСТИ НЕ ЗАПУСКАТЬ!!! СНОСИТ ВСЕХ ПИТОМЦЕВ!!!260# def test_delete_all_my_pets(get_api_key):261# """Проверяем возможность удаления всех питомцев"""262#263# # Получаем ключ auth_key и запрашиваем список своих питомцев264# №_, auth_key = pf.get_api_key(valid_email, valid_password)265# _, my_pets = pf.get_list_of_pets(get_api_key, "my_pets")266#267# # создаем цикл, в котором прописываем условия, если количество питомцев больше, чем 0,268# # то удаляем питомца под №0, до тех пор, пока количество будет равно нулю269# while len(my_pets['pets']) > 0:270# pet_id = my_pets['pets'][0]['id']271# _, my_pets = pf.get_list_of_pets(get_api_key, "my_pets")272# status, _ = pf.delete_pet(get_api_key, pet_id)273# if len(my_pets['pets']) == 0:274# break275# # Ещё раз запрашиваем список своих питомцев276# _, my_pets = pf.get_list_of_pets(get_api_key, "my_pets")277#278# # Проверяем что статус ответа равен 200 и в списке питомцев нет id удалённого питомца ...

Full Screen

Full Screen

positive.py

Source:positive.py Github

copy

Full Screen

...11 return '|\\/!@#$%^&*()-_=+`~?"№;:[]{}'12def generate_string(n):13 return n*'x'14@pytest.fixture(scope="module")15def get_api_key():16 # Отправляем запрос и сохраняем полученный ответ с кодом статуса в status, а текст ответа в result17 status, result = pf.get_api_key(valid_email, valid_password)18 # Сверяем полученные данные с нашими ожиданиями19 assert status == 20020 assert 'key' in result21 return result22#проверяем возможность получения списка моих питомцев с валидным ключом api23@pytest.mark.parametrize("filter", ['', 'my_pets'], ids= ['empty string', 'only my pets'])24def test_get_all_pets_with_valid_key(get_api_key,filter):25 pytest.status, result = pf.get_pet_list(get_api_key, filter)26 assert len(result['pets']) > 027#проверяем возможность добавления питомца с валидным ключом api и данными28@pytest.mark.parametrize("name"29 , [generate_string(255),30 generate_string(1001),31 russian_chars(),...

Full Screen

Full Screen

mp_backend.py

Source:mp_backend.py Github

copy

Full Screen

1from application.receiving_queue.routes import QueueRouter2from application.security.core.api_key import API_KEY_NAME, get_api_key3from application.workstatus.routes import WorkStatusRouter4from fastapi import FastAPI, Depends5from fastapi.middleware.cors import CORSMiddleware6import sqlalchemy as sa7from application.core import config8from application.core.database import Base, engine9from application.typework.routes import TypeWorkRouter10from application.publicwork.routes import PublicWorkRouter11from application.collect.routes import CollectRouter12from application.photo.routes import PhotoRouter13from application.image.routes import ImageRouter14from application.typephoto.routes import TypePhotoRouter15from application.address.routes import AddressRouter16from application.associations.routes import AssociationRouter17from application.security.routes import SecurityRouter18from fastapi.openapi.docs import get_swagger_ui_html19from fastapi.openapi.models import APIKey20from sentry_sdk.integrations.asgi import SentryAsgiMiddleware21sa.orm.configure_mappers()22Base.metadata.create_all(bind=engine)23mpApi = FastAPI(24 title='F05 Backend API',25 description='API backend for the project F05',26 version="1.8.2",27 openapi_prefix=config.settings.api_prefix,28 docs_url=None,29 redoc_url=None,30)31origins = ["*"]32mpApi.add_middleware(33 CORSMiddleware,34 allow_origins=origins,35 allow_credentials=True,36 allow_methods=["*"],37 allow_headers=["*"],38)39mpApi.add_middleware(SentryAsgiMiddleware)40routes = [41 TypeWorkRouter("typeworks", mpApi, [Depends(get_api_key)]),42 PublicWorkRouter("publicworks", mpApi, [Depends(get_api_key)]),43 CollectRouter("collects", mpApi, [Depends(get_api_key)]),44 PhotoRouter("photos", mpApi, [Depends(get_api_key)]),45 ImageRouter("images", mpApi, [Depends(get_api_key)]),46 TypePhotoRouter("typephotos", mpApi, [Depends(get_api_key)]),47 AddressRouter("address", mpApi, [Depends(get_api_key)]),48 AssociationRouter("association", mpApi, [Depends(get_api_key)]),49 SecurityRouter("security", mpApi, [Depends(get_api_key)]),50 WorkStatusRouter("workstatus", mpApi, [Depends(get_api_key)]),51 QueueRouter("queue", mpApi, [Depends(get_api_key)])52]53for route in routes:54 route.apply_route()55@mpApi.get("/")56async def homepage():57 return "Welcome to the Trena API!"58@mpApi.get("/docs", tags=["docs"], dependencies=[Depends(get_api_key)])59async def get_documentation(api_key: APIKey = Depends(get_api_key)):60 response = get_swagger_ui_html(61 openapi_url="{0}{1}?{2}={3}".format(config.settings.api_prefix, mpApi.openapi_url, API_KEY_NAME, api_key),62 title="docs")...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run localstack automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful