package pocketbase import ( "strings" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "git.vakhrushev.me/av/transcriber/internal/entity" ) // Потолок размера у поля файла задан числом, а не нулём: нулём библиотека читает // собственное умолчание в 5 МиБ, и на нём отвергалось бы всё длиннее примерно // пяти минут — то есть штатная запись сервиса. Проверка судит запись, которая // заведомо больше этого умолчания: обновление библиотеки, вернувшее умолчание, // иначе прошло бы молча. func TestCreateLocal_AcceptsRecordLargerThanLibraryDefault(t *testing.T) { app := newTestApp(t) repo := NewFileRepository(app) const libraryDefault = 5 << 20 // Ровно на байт больше умолчания: проверка судит границу, а не пропускную // способность — лишние мегабайты стоили бы секунд на каждом прогоне. work, err := repo.Stage(".mp3", strings.NewReader(strings.Repeat("a", libraryDefault+1))) require.NoError(t, err) defer func() { require.NoError(t, work.Close()) }() size, err := work.Size() require.NoError(t, err) require.Greater(t, size, int64(libraryDefault), "запись заведомо больше умолчания библиотеки") file, err := repo.CreateLocal("big.mp3", work, "") require.NoError(t, err, "запись длиннее умолчания библиотеки ложится в хранилище") assert.Equal(t, size, file.Size) assert.Greater(t, entity.MaxRecordSize, size, "объявленный потолок выше проверяемого размера") }