Skip to content

Latest commit

 

History

History
47 lines (27 loc) · 2.15 KB

README.md

File metadata and controls

47 lines (27 loc) · 2.15 KB

common

Ой, мамо, шо це?

Це приватний інструментарій для створення програмних сервісів на Golang. Він містить:

  • засоби організації системи (з деякою простою версією Dependency Injection);
  • інтерфейс http-сервера з підтримкою Swaggerʼа (v2) і шаблоном API-тестів;
  • інтерфейс авторизації і декілька його імплементацій;
  • деякі инші часто вживані елементи.

Все — виключно на смак автора. Як в анекдоті.

Пятачок (возбужденно-радостно): "Винни! Винни! Смотри, вот мой портрет!!!"
Винни-Пух (с сомнением): "А почему он весь какой-то на куски порезаный и пронумерованный?"
Пятачок (гордо): "Мясник рисовал. Он так видит."

Запуск всіх тестів

go clean -testcache    
T=1 go test ./...    

Запуск демо-сервісу

cp _envs/env.yaml_example local.yaml
go run apps/demo/main/main.go

Запуск тесту для auth_stub/auth_server_http (в його виводі можна глянути логи доступу до сервера):

cp _envs/env.yaml_example test.yaml
go test -v github.com/pavlo67/common/common/auth/auth_http
# лог http-запитів тесту зберігається в common/auth/auth_http/test_auth_http_requests.log    

Swagger

При дефолтних настройках доступний за адресою http://localhost:3001/backend/api-docs

Що туди передавати (повний приклад є в логах при запуску тесту для auth_stub/auth_server_http):

{"nickname":"admin","password":"admin"}

Надалі JWT-авторизація робиться хедером (цю частину демо-сценарію треба дописати, так):

"Authorization":"<JWT>"