|
|
package storage
import ( "os" "testing"
"github.com/spf13/afero" "github.com/stretchr/testify/assert" )
func TestFileSystemStorageProvider(t *testing.T) { dummyData := []byte{0x13, 0x37}
t.Run("storeRaw method stores files in filesystem", func(t *testing.T) { fileSystem := afero.NewMemMapFs()
provider := FileSystemStorageProvider{ fileSystem: fileSystem, basePath: "/tmp/foo/bar", }
provider.storeRaw("test", "test.bin", dummyData)
exists, _ := afero.Exists(fileSystem, "/tmp/foo/bar/test/test.bin") assert.True(t, exists)
content, _ := afero.ReadFile(fileSystem, "/tmp/foo/bar/test/test.bin") assert.Equal(t, dummyData, content) })
t.Run("storeExisting method stores files in filesystem", func(t *testing.T) { fileSystem := afero.NewMemMapFs()
afero.WriteFile(fileSystem, "/tmp/existing.bin", dummyData, os.ModePerm)
provider := FileSystemStorageProvider{ fileSystem: fileSystem, basePath: "/tmp/foo/bar", }
provider.storeExisting("test", "test.bin", "/tmp/existing.bin")
exists, _ := afero.Exists(fileSystem, "/tmp/foo/bar/test/test.bin") assert.True(t, exists)
content, _ := afero.ReadFile(fileSystem, "/tmp/foo/bar/test/test.bin") assert.Equal(t, dummyData, content) }) }
|