From f511bbbe736864c430f29ac9b2d4b0e8a2b0b0f3 Mon Sep 17 00:00:00 2001 From: bcarlin Date: Sat, 11 Jun 2022 21:59:06 +0200 Subject: [PATCH] tests: make spme tests pass in a docker container --- filestore_test.go | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/filestore_test.go b/filestore_test.go index 843a3ba..5b2ac25 100644 --- a/filestore_test.go +++ b/filestore_test.go @@ -52,7 +52,19 @@ func TestFilestore(t *testing.T) { assert.NotNil(fs) }) - t.Run("Initialize a store in a directory that can't be written", func(t *testing.T) { + t.Run("It should create its directories if they do not exist", func(t *testing.T) { + t.Parallel() + + assert := require.New(t) + + tmpDir := t.TempDir() + fs, err := NewFilestore(filepath.Join(tmpDir, "foo", "bar", "baz")) + + assert.NoError(err) + assert.NotNil(fs) + }) + + t.Run("Initialize a store in a directory that can't be created", func(t *testing.T) { t.Parallel() assert := require.New(t) @@ -60,11 +72,13 @@ func TestFilestore(t *testing.T) { tmpDir := t.TempDir() tmpDir = filepath.Join(tmpDir, "unwritable") - err := os.Mkdir(tmpDir, 0o400) + err := os.Mkdir(tmpDir, 0o000) assert.NoError(err) tmpDir = filepath.Join(tmpDir, "subdir") + os.WriteFile(tmpDir, []byte("foo"), 0o644) + fs, err := NewFilestore(tmpDir) assert.Error(err) assert.Nil(fs) @@ -219,8 +233,15 @@ func TestBucketPut(t *testing.T) { assert.NoError(err) + err = os.WriteFile(filepath.Join(tmpDir, bucket), []byte("foo"), 0o644) + assert.NoError(err) + err = os.Chmod(tmpDir, 0o400) assert.NoError(err) + defer func() { + err = os.Chmod(tmpDir, 0o700) + assert.NoError(err) + }() fr := strings.NewReader(filecontent) @@ -239,7 +260,10 @@ func TestBucketPut(t *testing.T) { assert.NoError(err) bucketDir := filepath.Join(tmpDir, bucket) - err = os.Mkdir(bucketDir, 0o400) + err = os.Mkdir(bucketDir, 0o700) + assert.NoError(err) + + err = os.Mkdir(filepath.Join(bucketDir, filename), 0o700) assert.NoError(err) fr := strings.NewReader(filecontent)