Size: a a a

2020 June 26

DP

Daniel Podolsky in Go-go!
ide-срачик немного немодный формат
источник

ВГ

Владимир Гришин... in Go-go!
Vyacheslav Sitnikov
Доброго времени суток.
Подскажите, плз, есть своя надстройка над БД, преобразующая данные в нужный мне формат. Решил написать к ней тест. База oracle (пакет godror), так что в докере развернуть её для проведения теста не вариант.
Попробовал использовать Monkey Patching ( https://github.com/bouk/monkey )
Получилось перехватить коннект к БД и дисконнект, а вот обращение к функции Query перехватить не получается. Есть кто-нибудь, кто использовал monkey patching для подобных целей?
Или может есть какие-то другие способы (потому что даже автор пишет, что это костыльный костыль) ?
По итогу хотелось бы на заранее известный запрос отдать заранее подготовленный ответ, при этом чтобы не было привязки к последовательности запросов.
sqlmock?
источник

Z

Zver in Go-go!
Vyacheslav Sitnikov
Доброго времени суток.
Подскажите, плз, есть своя надстройка над БД, преобразующая данные в нужный мне формат. Решил написать к ней тест. База oracle (пакет godror), так что в докере развернуть её для проведения теста не вариант.
Попробовал использовать Monkey Patching ( https://github.com/bouk/monkey )
Получилось перехватить коннект к БД и дисконнект, а вот обращение к функции Query перехватить не получается. Есть кто-нибудь, кто использовал monkey patching для подобных целей?
Или может есть какие-то другие способы (потому что даже автор пишет, что это костыльный костыль) ?
По итогу хотелось бы на заранее известный запрос отдать заранее подготовленный ответ, при этом чтобы не было привязки к последовательности запросов.
Делайте интерфейс для доступа к базе и подменяйте его.
источник

VS

Vyacheslav Sitnikov in Go-go!
Вот мне кажется, что именно там была привязка к последовательности запросов, хотя не уверен
источник

ЛА

Локоть Анатолий... in Go-go!
Vyacheslav Sitnikov
Доброго времени суток.
Подскажите, плз, есть своя надстройка над БД, преобразующая данные в нужный мне формат. Решил написать к ней тест. База oracle (пакет godror), так что в докере развернуть её для проведения теста не вариант.
Попробовал использовать Monkey Patching ( https://github.com/bouk/monkey )
Получилось перехватить коннект к БД и дисконнект, а вот обращение к функции Query перехватить не получается. Есть кто-нибудь, кто использовал monkey patching для подобных целей?
Или может есть какие-то другие способы (потому что даже автор пишет, что это костыльный костыль) ?
По итогу хотелось бы на заранее известный запрос отдать заранее подготовленный ответ, при этом чтобы не было привязки к последовательности запросов.
Sqlmock, либо тест с реальной базой
источник

VS

Vyacheslav Sitnikov in Go-go!
Zver
Делайте интерфейс для доступа к базе и подменяйте его.
Таки вот этот интерфейс и я хочу протестировать :)
источник

VS

Vyacheslav Sitnikov in Go-go!
Локоть Анатолий
Sqlmock, либо тест с реальной базой
понял, спасибо, пойду почитаю
источник

ЛА

Локоть Анатолий... in Go-go!
Vyacheslav Sitnikov
понял, спасибо, пойду почитаю
Я юзаю тест с базой в докере в gitlabci.

Составляю файл compose.yml - там все базы и sql и nosql - все,я то приложение использует

В ci делаю
docker swarm init
docker stack deploy -c compose.yml ci_test

Контейнер с приложением когда поднимается, накатывает миграции, дальше над этим всем можно гонять тест как над реальной системой. Поднимается это все за 30 секунд
источник

VS

Vyacheslav Sitnikov in Go-go!
Локоть Анатолий
Я юзаю тест с базой в докере в gitlabci.

Составляю файл compose.yml - там все базы и sql и nosql - все,я то приложение использует

В ci делаю
docker swarm init
docker stack deploy -c compose.yml ci_test

Контейнер с приложением когда поднимается, накатывает миграции, дальше над этим всем можно гонять тест как над реальной системой. Поднимается это все за 30 секунд
Ну в рамках CI это нормально, мне же нужно чтобы тест мог проходить на обычной машине без докера
источник

ЛА

Локоть Анатолий... in Go-go!
Vyacheslav Sitnikov
Ну в рамках CI это нормально, мне же нужно чтобы тест мог проходить на обычной машине без докера
Докер как раз и делается чтобы работало везде без допилов, он не самоцель)
Приложение с докером поднимается одинаково, что локально, что в ci, что на проде.
источник

VS

Vyacheslav Sitnikov in Go-go!
у меня политика компании не позволяет ставить никакие системы виртуализации на машины, и докер тоже :(
источник

НС

Николай Сладкий... in Go-go!
Vyacheslav Sitnikov
у меня политика компании не позволяет ставить никакие системы виртуализации на машины, и докер тоже :(
докер не система виртуализации
источник

VS

Vyacheslav Sitnikov in Go-go!
Николай Сладкий
докер не система виртуализации
я в курсе
источник

D

Darwin in Go-go!
Локоть Анатолий
Докер как раз и делается чтобы работало везде без допилов, он не самоцель)
Приложение с докером поднимается одинаково, что локально, что в ci, что на проде.
это если архитектуры процессора и на проде и локально одинаковые)
источник

ЛА

Локоть Анатолий... in Go-go!
Darwin
это если архитектуры процессора и на проде и локально одинаковые)
Это да, везде linux
источник

VS

Vyacheslav Sitnikov in Go-go!
У меня на машине винда, но докер там нормально работает. А с новым обновлением работает нативно в WSL2. Но вот на корпоративных машинах - беда :(
источник

ЛА

Локоть Анатолий... in Go-go!
Vyacheslav Sitnikov
у меня политика компании не позволяет ставить никакие системы виртуализации на машины, и докер тоже :(
Ну суть я показал, что поднимаю реальные базы и с ними тестирую, докер это очень упрощает, но можно наверное и без него
источник

@

@mr_tron in Go-go!
а у ни у кого нет на примете готового кода для обёртывания fasthttp хэндлеров в обычные net/http хэндлеры?
источник

@

@mr_tron in Go-go!
как https://github.com/valyala/fasthttp/blob/master/fasthttpadaptor/adaptor.go только в обратную сторону
источник

SZ

Sergey Zhdanov in Go-go!
@mr_tron
как https://github.com/valyala/fasthttp/blob/master/fasthttpadaptor/adaptor.go только в обратную сторону
вот тут можно наверно поглядеть https://github.com/gofiber/adaptor/blob/master/main.go
источник