Size: a a a

2021 May 12

JI

Johnny Ipcom in Go-go!
Где вы этих ботов берёте?) Единственный открытый репозиторий у меня, ни одного форка)
источник

ВС

Владимир Столяров... in Go-go!
Так надо просмотры и клонирования считать, у меня например тоже не форкают почти
источник

ВС

Владимир Столяров... in Go-go!
А кто форкает - что-то осмысленное добавляет
источник

К

Коля in Go-go!
В новом Go есть встроенная файловая система embed. Пришла идея sqlite базу туда поместить. Также можно сделать и с bitcask файлами. Чтобы тесты проводить вообще без прикосновений к файлами операционной системы. Норм?
источник

ВС

Владимир Столяров... in Go-go!
Нет, потому что такие файлы read only
источник

с

сонная википедия... in Go-go!
можно выгрузить базу из read only блока в оперативную память
источник

с

сонная википедия... in Go-go!
но не очень понятно, чем обычная testdata не устраивает
источник

ВА

Вадим Адамлюк... in Go-go!
А кто-нибудь плотненько работает с MSSQL?
Хочу использовать query parameters для того чтобы обезопаситься от SQL injection

При этом имя таблицы заранее не известно (оно задается в конфиг-файле), по этому хочется и с именем таблицы обезопаситься от SQL injection

Но получаю ошибки.

В случае:
db.QueryContext(ctx, "select cont(*) as CNT from @TABLE_NAME", sql.Named("TABLE_NAME", "Test"))
ошибка:  mssql: Must declare the table variable "@TABLE_NAME".

В случае:
db.QueryContext(ctx, "select cont(*) as CNT from [@TABLE_NAME]", sql.Named("TABLE_NAME", "Test"))
ошибка:  mssql: Invalid object name '@TABLE_NAME'

Пытаюсь понять, как правильно передать имя таблицы в виде параметра
источник

ВС

Владимир Столяров... in Go-go!
Обычно никак, параметры можно подставить туда, где какие-то данные
Имя таблицы - не данные
источник

ВА

Вадим Адамлюк... in Go-go!
вот я тоже подозреваю, что никак
прийдется ручками проверять имя таблицы
но решил на всякий случай воспользоваться помощью зала
источник

ВХ

Валентин Хомутенко... in Go-go!
Кто пишет в прод бэкенды и есть несколько минут свободного времени — заполните форму пожалуйста ) соцопрос небольшой
https://forms.gle/gfQsjXi6o5Yja8sCA
источник

Lk

Liton khan in Go-go!
Nice, we now have a complete regex
источник

A

Artem in Go-go!
Как-то можно отловить отмену http запроса со стороны клиента?
источник

ВС

Владимир Столяров... in Go-go!
Через контекст
источник

IB

Igor Botukhov in Go-go!
Всем привет! Буду очень благодарен любой помощи!

Есть сервис, который отдает API. Сейчас реализую регистрацию. У меня есть  handler, который берет данные пользователя и отправляет их на другой уровень service. Service общается с другим уровнем на котором база данных. Структуру и код могу прислать. Все работает хорошо, но я решил написать тесты.  Сделал моки service-а, и тестирую handler. Но вот незадача, у меня в service есть логика(валиден ли пароль, нормальное имя пользователя и тд.), а моки "сьели" всю эту логику. Надеюсь вы поняли меня, я имею в виду, что в моках нет моего кода, только автосгенерированный.

Вопрос: как мне протестировать hendler, чтобы логика в service не пропадала. Или проще - как тестировать?)))

Буду благодарен любому ответу!
источник

W

Wingman in Go-go!
можно тестировать отдельно ручку, отдельно метод сервиса
источник

АГ

Алексей Гевондян... in Go-go!
правильно раздели слои
источник

АГ

Алексей Гевондян... in Go-go!
любой код, написанный руками, должен быть протестирован. зависимости заинъекчены через интерфейсы
источник

F

Fᴏʀᴅᴇɴ in Go-go!
sqlite умеет в in-memory формате работать
источник

IB

Igor Botukhov in Go-go!
Хм, но они же работают вместе? Я о том, можно ли протестировать мой Handler через httptest? Вот кусочек кода из тестов.

      handler := http.HandlerFunc(h.signUp)

     r, err := http.NewRequest("POST", "/sign-up", strings.NewReader(testCase.inputBody))
     if err != nil {
       t.Error(err)
     }

     w := httptest.NewRecorder()
     handler.ServeHTTP(w, r)


а дальше assert
источник