39 lines
881 B
Go
39 lines
881 B
Go
package io
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"os"
|
|
"path"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestMakeDirForFile_HappyPath(t *testing.T) {
|
|
tempDir, err := ioutil.TempDir("", "test")
|
|
require.NoError(t, err)
|
|
|
|
filePath := tempDir + "/testDir/testFile.test"
|
|
err = MakeDirForFile(filePath, "test")
|
|
defer removeDir(t, tempDir)
|
|
require.NoError(t, err)
|
|
|
|
_, errChDir := os.Create(filePath)
|
|
require.NoError(t, errChDir)
|
|
}
|
|
|
|
func removeDir(t *testing.T, dirName string) {
|
|
err := os.RemoveAll(dirName)
|
|
require.NoError(t, err)
|
|
}
|
|
|
|
func TestMakeDirForFile_Negative(t *testing.T) {
|
|
file, err := ioutil.TempFile("", "test")
|
|
require.NoError(t, err)
|
|
|
|
filePath := file.Name() + "/error"
|
|
dir := path.Dir(filePath)
|
|
err = MakeDirForFile(filePath, "test")
|
|
defer removeDir(t, dir)
|
|
require.Errorf(t, err, "could not create dir for test: mkdir %s : not a directory", filePath)
|
|
}
|