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 пишет файл на диск и регистрирует его в БД.
|
// 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 +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{
|
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",
|
||||||
|
|||||||
Reference in New Issue
Block a user