Files
mattermost/utils/file_test.go

123 lines
2.6 KiB
Go
Raw Normal View History

// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
package utils
import (
"testing"
"github.com/mattermost/platform/model"
)
func TestReadWriteFile(t *testing.T) {
TranslationsPreInit()
LoadConfig("config.json")
InitTranslations(Cfg.LocalizationSettings)
b := []byte("test")
path := "tests/" + model.NewId()
if err := WriteFile(b, path); err != nil {
t.Fatal(err)
}
defer RemoveFile(path)
if read, err := ReadFile(path); err != nil {
t.Fatal(err)
} else if readString := string(read); readString != "test" {
t.Fatal("should've read back contents of file")
}
}
func TestMoveFile(t *testing.T) {
TranslationsPreInit()
LoadConfig("config.json")
InitTranslations(Cfg.LocalizationSettings)
b := []byte("test")
path1 := "tests/" + model.NewId()
path2 := "tests/" + model.NewId()
if err := WriteFile(b, path1); err != nil {
t.Fatal(err)
}
defer RemoveFile(path1)
if err := MoveFile(path1, path2); err != nil {
t.Fatal(err)
}
defer RemoveFile(path2)
if _, err := ReadFile(path1); err == nil {
t.Fatal("file should no longer exist at old path")
}
if _, err := ReadFile(path2); err != nil {
t.Fatal("file should exist at new path", err)
}
}
func TestRemoveFile(t *testing.T) {
TranslationsPreInit()
LoadConfig("config.json")
InitTranslations(Cfg.LocalizationSettings)
b := []byte("test")
path := "tests/" + model.NewId()
if err := WriteFile(b, path); err != nil {
t.Fatal(err)
}
if err := RemoveFile(path); err != nil {
t.Fatal(err)
}
if _, err := ReadFile(path); err == nil {
t.Fatal("should've removed file")
}
if err := WriteFile(b, "tests2/foo"); err != nil {
t.Fatal(err)
}
if err := WriteFile(b, "tests2/bar"); err != nil {
t.Fatal(err)
}
if err := WriteFile(b, "tests2/asdf"); err != nil {
t.Fatal(err)
}
if err := RemoveDirectory("tests2"); err != nil {
t.Fatal(err)
}
}
func TestRemoveDirectory(t *testing.T) {
TranslationsPreInit()
LoadConfig("config.json")
InitTranslations(Cfg.LocalizationSettings)
b := []byte("test")
if err := WriteFile(b, "tests2/foo"); err != nil {
t.Fatal(err)
}
if err := WriteFile(b, "tests2/bar"); err != nil {
t.Fatal(err)
}
if err := WriteFile(b, "tests2/aaa"); err != nil {
t.Fatal(err)
}
if err := RemoveDirectory("tests2"); err != nil {
t.Fatal(err)
}
if _, err := ReadFile("tests2/foo"); err == nil {
t.Fatal("should've removed file")
} else if _, err := ReadFile("tests2/bar"); err == nil {
t.Fatal("should've removed file")
} else if _, err := ReadFile("tests2/asdf"); err == nil {
t.Fatal("should've removed file")
}
}