mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
123 lines
2.6 KiB
Go
123 lines
2.6 KiB
Go
|
|
// 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")
|
||
|
|
}
|
||
|
|
}
|