fix(tests): загрузки тестов не попадают в рабочее дерево репозитория

Тестовый сервер писал файлы вложения в `internal/server/files`, потому что
DATA_DIR не был задан: теперь тесты используют временный каталог, а
`saveUpload` отказывается работать без настроенного каталога данных вместо
записи в текущий рабочий каталог процесса. Лишние файлы удалены.
This commit is contained in:
2026-09-19 23:49:24 +03:00
parent 53b7b77eed
commit b22db8f048
16 changed files with 8 additions and 14 deletions
+5
View File
@@ -198,6 +198,11 @@ func (s *Server) requireFileAccess(ctx context.Context, rawFileID string, user *
// saveUpload пишет файл на диск и регистрирует его в БД. // saveUpload пишет файл на диск и регистрирует его в БД.
func (s *Server) saveUpload(ctx context.Context, file store.File, content io.Reader) (*store.File, error) { 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") directory := filepath.Join(s.cfg.DataDir, "files")
if err := os.MkdirAll(directory, 0o700); err != nil { if err := os.MkdirAll(directory, 0o700); err != nil {
return nil, humaErrorStatus(http.StatusInternalServerError, "internal.error", "cannot prepare storage") return nil, humaErrorStatus(http.StatusInternalServerError, "internal.error", "cannot prepare storage")
-1
View File
@@ -1 +0,0 @@
вложение: проверка загрузки
-1
View File
@@ -1 +0,0 @@
вложение: проверка загрузки
-1
View File
@@ -1 +0,0 @@
вложение: проверка загрузки
-1
View File
@@ -1 +0,0 @@
вложение: проверка загрузки
-1
View File
@@ -1 +0,0 @@
вложение: проверка загрузки
-1
View File
@@ -1 +0,0 @@
вложение: проверка загрузки
-1
View File
@@ -1 +0,0 @@
вложение: проверка загрузки
-1
View File
@@ -1 +0,0 @@
вложение: проверка загрузки
-1
View File
@@ -1 +0,0 @@
вложение: проверка загрузки
-1
View File
@@ -1 +0,0 @@
вложение: проверка загрузки
-1
View File
@@ -1 +0,0 @@
вложение: проверка загрузки
-1
View File
@@ -1 +0,0 @@
вложение: проверка загрузки
-1
View File
@@ -1 +0,0 @@
вложение: проверка загрузки
-1
View File
@@ -1 +0,0 @@
вложение: проверка загрузки
+3
View File
@@ -40,6 +40,9 @@ func newTestServer(t *testing.T) (*Server, *database.DB) {
}) })
cfg := config.Config{ cfg := config.Config{
// Данные (в том числе загруженные файлы) — во временном каталоге,
// иначе тесты пишут в рабочее дерево репозитория.
DataDir: t.TempDir(),
Domain: "gl.mhspx.su", Domain: "gl.mhspx.su",
WebRoot: filepath.Join("testdata", "web"), WebRoot: filepath.Join("testdata", "web"),
FilesDomain: "files.gl.mhspx.su", FilesDomain: "files.gl.mhspx.su",