Skip to content

Cервис тестирования HTTP клиента разработанный на OneScript + WINOW

License

Notifications You must be signed in to change notification settings

Stivo182/oscript-httpbin

Repository files navigation

oscript-httpbin

Release Тестирование Статус порога качества

Cервис позволяющий локально тестировать HTTP клиент. Разработан на OneScript + WINOW. Поддерживает бо́льшую часть эндпоинтов httpbin.org.

Установка

opm install httpbin

Использование

Тестирование через asserts и 1connector

test.os:

#Использовать asserts
#Использовать 1connector
#Использовать httpbin

Перем HttpBin;

&Инициализация
Процедура ПередЗапускомТестов() Экспорт
    HttpBin = Новый HttpBin();
    HttpBin.Запустить();
КонецПроцедуры

&Завершение
Процедура ПослеЗапускаТестов() Экспорт
    HttpBin.Остановить();
КонецПроцедуры

&Тест
Процедура ТестДолжен_ПроверитьПараметрыЗапроса() Экспорт
    ПараметрыЗапроса = Новый Структура();
    ПараметрыЗапроса.Вставить("key", "value");

    Ответ = КоннекторHTTP.Get(HttpBin.URL() + "/get", ПараметрыЗапроса);

    Ожидаем.Что(Ответ.КодСостояния).Равно(200);
    Ожидаем.Что(Ответ.Заголовки["Content-Type"]).Содержит("application/json");
    Ожидаем.Что(Ответ.Json()["args"]["key"]).Равно("value");
КонецПроцедуры

Приложение на фреймворке autumn

МойЖелудь.os:

#Использовать 1connector
#Использовать httpbin

&Пластилин 
Перем HttpBin;

Функция ВыполнитьДействие() Экспорт
    HttpBin.Запустить();
    Ответ = КоннекторHTTP.Get(HttpBin.URL() + "/get");
    HttpBin.Остановить();
КонецФункции

&Желудь
Процедура ПриСозданииОбъекта()
	
КонецПроцедуры

CLI приложение

Запуск сервиса через команду run: httpbin run

Опции команды:
-h, --host - имя хоста / IP адрес сервиса
-p, --port - порт сервиса

Swagger UI

На стартовой странице сервиса (адрес по умолчанию: http://127.0.0.1:3334) доступна визуальная документация API, а также возможность отправки запросов и получения ответов.

Программный интерфейс

Класс HttpBin

Сервис по умолчанию запускается по адресу 127.0.0.1:3334 в фоновом режиме и с ожиданием завершения запуска сервиса.
Класс реализован с текучим интерфейсом.

Метод Описание
Запустить() Запускает сервис
Остановить() Останавливает сервис
URL() Возвращает адрес сервиса
УстановитьПорт(<Порт>) Устанавливает порт сервиса
УстановитьХост(<Хост>) Устанавливает хост сервиса
ЗапускатьВФоне(<Флаг>) Запуск сервиса будет выполнен в фоновом режиме
ОжидатьЗапуск(<Флаг>) Ожидать завершение запуска сервиса, запущенного в фоновом режиме

Ограничения

На данный момент нет поддержки https.

Сравнение с httpbin.org

Эндпоинт oscript-httpbin httpbin.org
/ip
/uuid
/uuid/:n
/user-agent
/headers
/get
/post
/put
/patch
/delete
/anything
/anything/:anything
/base64/:value
/encoding/utf8
/gzip
/deflate
/brotli
/status/:code
/response-headers?key=val
/redirect/:n
/redirect-to?url=foo
/redirect-to?url=foo&status_code=307
/relative-redirect/:n
/absolute-redirect/:n
/cookies
/cookies/set?name=value
/cookies/set/:name/:value
/cookies/delete?name
/basic-auth/:user/:passwd
/hidden-basic-auth/:user/:passwd
/digest-auth/:qop/:user/:passwd/:algorithm
/digest-auth/:qop/:user/:passwd
/bearer
/stream/:n
/delay/:n
/drip?numbytes=n&duration=s&delay=s&code=code
/range/:n?duration=s&chunk_size=code
/html
/robots.txt
/deny
/cache
/cache/:n
/etag/:etag
/bytes/:n
/stream-bytes/:n
/links/:n
/links/:n/:offset
/image
/image/png
/image/jpeg
/image/webp
/image/svg
/forms/post
/xml
/json

About

Cервис тестирования HTTP клиента разработанный на OneScript + WINOW

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published