maksmaggot / drom-test-client
drom test client for example.com api
Requires
- php: >=7.3
- ext-json: *
- guzzlehttp/guzzle: ^6.5
Requires (Dev)
- phpunit/phpunit: ^9.1
This package is auto-updated.
Last update: 2025-06-20 00:32:47 UTC
README
drom-test-client
Задание: Необходимо реализовать клиент для абстрактного (вымышленного) сервиса комментариев "example.com". Проект должен представлять класс или набор классов, который будет делать http запросы к серверу. На выходе должна получиться библиотека, который можно будет подключить через composer к любому другому проекту. У этого сервиса есть 3 метода: GET http://example.com/comments - возвращает список комментариев POST http://example.com/comment - добавить комментарий. PUT http://example.com/comment/{id} - по идентификатору комментария обновляет поля, которые были в в запросе
Объект comment содержит поля: id - тип int. Не нужно указывать при добавлении. name - тип string. text - тип string.
Написать phpunit тесты, на которых будет проверяться работоспособность клиента. Сервер example.com писать не надо! Только библиотеку для работы с ним.
Для запуска тестов:
установить зависимости: composer install запустить тесты: make run-tests
Для установки в проект:
composer require maksmaggot/drom-test-client
Пример использования:
<?php require 'vendor/autoload.php'; $client = new Client\ExampleClient(); try { // Получаем список комментариев $comments = $client->getComments(); // создаём комментарий $client->createComment('Vasilii', 'Yeap!'); // обновляем комментарий $client->updateComment('5', 'Iaksim', 'Hello there!'); } catch (Exception $e) { new \RuntimeException($e->getMessage()); }