Skip to content

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

License

Notifications You must be signed in to change notification settings

oscript-library/httpbin

This branch is 1 commit behind Stivo182/oscript-httpbin:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8fde6b5 · Mar 27, 2025
Mar 9, 2025
Mar 19, 2025
Feb 5, 2025
Mar 27, 2025
Jan 31, 2025
Feb 6, 2025
Mar 27, 2025
Mar 19, 2025
Mar 22, 2025
Feb 5, 2025
Mar 27, 2025
Feb 7, 2025

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, а также возможность отправки запросов и получения ответов.

Совместимость

Windows Linux MacOS
OneScript 1.9 OneScript 2.0 OneScript 1.9 OneScript 2.0 OneScript 1.9 OneScript 2.0

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

Класс HttpBin

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

Метод Описание
Запустить() Запускает сервис
Остановить() Останавливает сервис
URL() 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
/zstd
/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

Releases

No releases published

Packages

No packages published

Languages

  • 1C Enterprise 95.4%
  • HTML 4.4%
  • CSS 0.2%