| package daemon |
| |
| import ( |
| "os" |
| "path/filepath" |
| "testing" |
| |
| "gotest.tools/v3/assert" |
| ) |
| |
| func TestCreateIfNotExists(t *testing.T) { |
| t.Run("directory", func(t *testing.T) { |
| toCreate := filepath.Join(t.TempDir(), "tocreate") |
| |
| err := createIfNotExists(toCreate, true) |
| assert.NilError(t, err) |
| |
| fileinfo, err := os.Stat(toCreate) |
| assert.NilError(t, err, "Did not create destination") |
| assert.Assert(t, fileinfo.IsDir(), "Should have been a dir, seems it's not") |
| |
| err = createIfNotExists(toCreate, true) |
| assert.NilError(t, err, "Should not fail if already exists") |
| }) |
| t.Run("file", func(t *testing.T) { |
| toCreate := filepath.Join(t.TempDir(), "file/to/create") |
| |
| err := createIfNotExists(toCreate, false) |
| assert.NilError(t, err) |
| |
| fileinfo, err := os.Stat(toCreate) |
| assert.NilError(t, err, "Did not create destination") |
| |
| assert.Assert(t, !fileinfo.IsDir(), "Should have been a file, but created a directory") |
| |
| err = createIfNotExists(toCreate, true) |
| assert.NilError(t, err, "Should not fail if already exists") |
| }) |
| } |