fix(tests): загрузки тестов не попадают в рабочее дерево репозитория
Тестовый сервер писал файлы вложения в `internal/server/files`, потому что DATA_DIR не был задан: теперь тесты используют временный каталог, а `saveUpload` отказывается работать без настроенного каталога данных вместо записи в текущий рабочий каталог процесса. Лишние файлы удалены.
This commit is contained in:
@@ -198,6 +198,11 @@ func (s *Server) requireFileAccess(ctx context.Context, rawFileID string, user *
|
||||
|
||||
// saveUpload пишет файл на диск и регистрирует его в БД.
|
||||
func (s *Server) saveUpload(ctx context.Context, file store.File, content io.Reader) (*store.File, error) {
|
||||
if s.cfg.DataDir == "" {
|
||||
// Без каталога данных файл некуда положить: лучше явная ошибка, чем
|
||||
// запись в текущий рабочий каталог процесса.
|
||||
return nil, humaErrorStatus(http.StatusInternalServerError, "internal.error", "data directory is not configured")
|
||||
}
|
||||
directory := filepath.Join(s.cfg.DataDir, "files")
|
||||
if err := os.MkdirAll(directory, 0o700); err != nil {
|
||||
return nil, humaErrorStatus(http.StatusInternalServerError, "internal.error", "cannot prepare storage")
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
вложение: проверка загрузки
|
||||
@@ -1 +0,0 @@
|
||||
вложение: проверка загрузки
|
||||
@@ -1 +0,0 @@
|
||||
вложение: проверка загрузки
|
||||
@@ -1 +0,0 @@
|
||||
вложение: проверка загрузки
|
||||
@@ -1 +0,0 @@
|
||||
вложение: проверка загрузки
|
||||
@@ -1 +0,0 @@
|
||||
вложение: проверка загрузки
|
||||
@@ -1 +0,0 @@
|
||||
вложение: проверка загрузки
|
||||
@@ -1 +0,0 @@
|
||||
вложение: проверка загрузки
|
||||
@@ -1 +0,0 @@
|
||||
вложение: проверка загрузки
|
||||
@@ -1 +0,0 @@
|
||||
вложение: проверка загрузки
|
||||
@@ -1 +0,0 @@
|
||||
вложение: проверка загрузки
|
||||
@@ -1 +0,0 @@
|
||||
вложение: проверка загрузки
|
||||
@@ -1 +0,0 @@
|
||||
вложение: проверка загрузки
|
||||
@@ -1 +0,0 @@
|
||||
вложение: проверка загрузки
|
||||
@@ -40,6 +40,9 @@ func newTestServer(t *testing.T) (*Server, *database.DB) {
|
||||
})
|
||||
|
||||
cfg := config.Config{
|
||||
// Данные (в том числе загруженные файлы) — во временном каталоге,
|
||||
// иначе тесты пишут в рабочее дерево репозитория.
|
||||
DataDir: t.TempDir(),
|
||||
Domain: "gl.mhspx.su",
|
||||
WebRoot: filepath.Join("testdata", "web"),
|
||||
FilesDomain: "files.gl.mhspx.su",
|
||||
|
||||
Reference in New Issue
Block a user