Skip to content

pavlo67/common

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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>"

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published