Рубрики
Без рубрики

Сделать пересмешника

Создание макета. Tagged Mockoon, Python, Flask, Perftying.

Пролог https://dev.to/mikotian/to-birth-a-mockingbird-ep8

Я начал исследовать насмешливые инструменты и нашел тот, который казался достаточно быстрым для моих потребностей.

Mockoon [ https://mockoon.com/ ] был приятным маленьким инструментом на основе графического интерфейса, о котором я слышал до и, не задумываясь, я начал внедрять своего маленького пересмешника.

Хорошая часть о Mockoon:

*С этого довольно просто начать с. Любой, кто использовал почтальона, сочтет это интуитивно понятным и простым для понимания. *Вы можете иметь несколько API, работающих параллельно на выбранных вами портах. Возможность определения нескольких ответов на основе того, что является входящей полезной нагрузкой *HTTPS. Поля) *Моделирование задержки (это было требование номер 1, которое у меня было), которое у меня было) *Моделирование задержки также на основе конечной точки (это кумулятивно по задержке базового пути)

Dealbreaker (ы):

*Это приложение только для локального хоста (так что нет интрасети, по крайней мере, я не смог заставить это работать) *Нет командного или необработанного вызова, поэтому не будет работать в условиях без дисктопов без серьезного возиться (возможно, одним из способов может быть перенастроение x11)

Некоторые скриншоты из моего эксперимента

Я мог бы имитировать каждую конечную точку API, которую я хотел издеваться, и это сработало безупречно для меня, за исключением интрасетной части. Может быть интересно для разработчиков, которые хотят издеваться над сложным поведением API.

Так что мне пришлось думать о чем -то другом.

Проработав на Python на некоторое время и всегда хотел написать API, используя его. Я немного исследовал флез обратно в тот день, но так и не смог использовать его. Это был мой шанс.

И это оказалось довольно легко.

Я использовал стандартную установку Python на установке AWS, чтобы запустить следующий код:

Это довольно парный материал, за исключением нескольких вещей:

*Чтобы ввести некоторую задержку в ответах, я использовал Time.sleep (), прежде чем отправлять ответ *Использовал встроенную поддержку JSON для манипулирования объектами JSON. *Использует UUID, чтобы генерировать пару различных типов ГПД (узнаваемые тоже о библиотеке!)

Экземпляр, который я использовал для этого, был экземпляр AWS T2.micro с 1 VCPU и 1 ГБ оперативной памяти.

Он был выставлен на стандартном порту 5000, который использует Фласка, и я решил не использовать HTTPS, поскольку это увеличило бы время настройки во многих случаях производственного микросервиса.

Чтобы познакомить его с внутренней сетью, я использовал 0,0.0.0 в качестве адреса, что означает, что программа будет прослушать все выборочные IPS для машины.

Существует хорошая поддержка отладки и в колбе, и это требует, чтобы мы установили флаг отладки при запуске службы/приложения.

Команда, которую я использовал для запуска приложения, была довольно простой:

Python Mockingbird.py

Приложение сработало чудесно для наших целей. Он давал правильные ответы с желаемой задержкой, и выглядело так, как будто он также поглощал всю нагрузку. Пара нагрузочных испытаний прошла хорошо с параметрами, показывающими, чтобы быть на ожидаемых линиях.

Но, как это происходит в мире разработки программного обеспечения (и особенно в мире тестирования программного обеспечения), первая версия никогда не является готовым проектом.

В следующем посте я расскажу/объясню, как я убил пересмешника (и что я сделал, чтобы исправить)

Оригинал: “https://dev.to/mikotian/to-make-a-mockingbird-1f8j”