mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
Issue 11030: fix HasFile to avoid false positives for no filename (#11060)
This commit is contained in:
committed by
Harrison Healey
parent
bf233dec77
commit
16c11d7bf9
@@ -611,6 +611,19 @@ func TestDatabaseHasFile(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
require.True(t, has)
|
||||
})
|
||||
|
||||
t.Run("has non-existent empty string", func(t *testing.T) {
|
||||
_, tearDown := setupConfigDatabase(t, minimalConfig, nil)
|
||||
defer tearDown()
|
||||
|
||||
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *mainHelper.Settings.DriverName, *mainHelper.Settings.DataSource))
|
||||
require.NoError(t, err)
|
||||
defer ds.Close()
|
||||
|
||||
has, err := ds.HasFile("")
|
||||
require.NoError(t, err)
|
||||
require.False(t, has)
|
||||
})
|
||||
}
|
||||
|
||||
func TestDatabaseRemoveFile(t *testing.T) {
|
||||
|
||||
@@ -184,6 +184,10 @@ func (fs *FileStore) SetFile(name string, data []byte) error {
|
||||
|
||||
// HasFile returns true if the given file was previously persisted.
|
||||
func (fs *FileStore) HasFile(name string) (bool, error) {
|
||||
if name == "" {
|
||||
return false, nil
|
||||
}
|
||||
|
||||
resolvedPath := filepath.Join(filepath.Dir(fs.path), name)
|
||||
|
||||
_, err := os.Stat(resolvedPath)
|
||||
|
||||
@@ -688,7 +688,6 @@ func TestFileSetFile(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestFileHasFile(t *testing.T) {
|
||||
|
||||
t.Run("has non-existent", func(t *testing.T) {
|
||||
path, tearDown := setupConfigFile(t, minimalConfig)
|
||||
defer tearDown()
|
||||
@@ -740,6 +739,19 @@ func TestFileHasFile(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
require.True(t, has)
|
||||
})
|
||||
|
||||
t.Run("has empty string", func(t *testing.T) {
|
||||
path, tearDown := setupConfigFile(t, minimalConfig)
|
||||
defer tearDown()
|
||||
|
||||
fs, err := config.NewFileStore(path, true)
|
||||
require.NoError(t, err)
|
||||
defer fs.Close()
|
||||
|
||||
has, err := fs.HasFile("")
|
||||
require.NoError(t, err)
|
||||
require.False(t, has)
|
||||
})
|
||||
}
|
||||
|
||||
func TestFileRemoveFile(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user