From 01aa33c0dda95eb128fb35950c56ee1b34d85a00 Mon Sep 17 00:00:00 2001 From: Jmnote Date: Wed, 31 May 2023 15:25:58 +0900 Subject: [PATCH] init log_data_path (#85) * init log_data_path * v0.2.1 for bugfix --- Makefile | 2 +- storage/fileservice/fileservice.go | 6 ++++++ storage/fileservice/fileservice_test.go | 27 +++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 2c3c386..a0fa469 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -VERSION := v0.2.0 +VERSION := v0.2.1 IMAGE := ghcr.io/kuoss/lethe:$(VERSION) install-dev: diff --git a/storage/fileservice/fileservice.go b/storage/fileservice/fileservice.go index 133f146..45acef2 100644 --- a/storage/fileservice/fileservice.go +++ b/storage/fileservice/fileservice.go @@ -2,6 +2,7 @@ package fileservice import ( "fmt" + "os" "github.com/kuoss/lethe/config" storagedriver "github.com/kuoss/lethe/storage/driver" @@ -18,6 +19,11 @@ func New(cfg *config.Config) (*FileService, error) { if err != nil { return nil, fmt.Errorf("factory.Get err: %w", err) } + // TODO: use driver + err = os.MkdirAll(cfg.LogDataPath(), 0755) + if err != nil { + return nil, fmt.Errorf("mkdirAll err: %w", err) + } return &FileService{cfg, driver}, nil } diff --git a/storage/fileservice/fileservice_test.go b/storage/fileservice/fileservice_test.go index 61e2906..2191766 100644 --- a/storage/fileservice/fileservice_test.go +++ b/storage/fileservice/fileservice_test.go @@ -1,8 +1,10 @@ package fileservice import ( + "os" "testing" + "github.com/kuoss/lethe/config" "github.com/stretchr/testify/assert" ) @@ -11,3 +13,28 @@ func TestNew(t *testing.T) { assert.Equal(t, "filesystem", fileService.driver.Name()) assert.Equal(t, "tmp/init", fileService.driver.RootDirectory()) } + +func TestNewTemp(t *testing.T) { + cfg, err := config.New("test") + assert.NoError(t, err) + assert.NotEmpty(t, cfg) + + dataPath := "tmp/temp" // caution: RemoveAll() + + cfg.SetLogDataPath(dataPath) + tempFileService, err := New(cfg) + assert.NoError(t, err) + assert.NotEmpty(t, tempFileService) + assert.DirExists(t, dataPath) // exists + + // duplicate ok + cfg.SetLogDataPath(dataPath) + tempFileService2, err := New(cfg) + assert.NoError(t, err) + assert.NotEmpty(t, tempFileService2) + assert.DirExists(t, dataPath) // exists + + // clean up + err = os.RemoveAll(dataPath) + assert.NoError(t, err) +}