109 lines
2.9 KiB
Go
109 lines
2.9 KiB
Go
/*
|
|
* Copyright (C) 2020 Philipp Haefelfinger (http://www.haefelfinger.ch/). All Rights Reserved.
|
|
* This application is licensed under GPLv2. See the LICENSE file in the root directory of the project.
|
|
*/
|
|
|
|
package localFileStructure
|
|
|
|
import "testing"
|
|
|
|
func Test_ScanLocalFileStructure_should_find_testfile(t *testing.T) {
|
|
supportedExtensions := make([]string, 0)
|
|
supportedExtensions = append(supportedExtensions, "jpg")
|
|
|
|
images, err := ScanLocalFileStructure("../../../test/", supportedExtensions, make([]string, 0), 0)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if len(images) != 2 { // 1x folder, 1x image
|
|
t.Error("Did not find expected testfiles. Expected at least one!")
|
|
}
|
|
|
|
containsTestImage := false
|
|
for _, img := range images {
|
|
if img.Name == "testimage.jpg" {
|
|
containsTestImage = true
|
|
}
|
|
}
|
|
|
|
if !containsTestImage {
|
|
t.Errorf("Did not find the expected testimage.")
|
|
}
|
|
}
|
|
|
|
func Test_ScanLocalFileStructure_should_find_testfile_with_trimmed_folder(t *testing.T) {
|
|
supportedExtensions := make([]string, 0)
|
|
supportedExtensions = append(supportedExtensions, "jpg")
|
|
|
|
images, err := ScanLocalFileStructure("../../../test/", supportedExtensions, make([]string, 0), 1)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if len(images) != 2 { // 1x folder, 1x image
|
|
t.Error("Did not find expected testfiles. Expected at least one!")
|
|
}
|
|
|
|
containsTestImage := false
|
|
containsFolder := false
|
|
for _, img := range images {
|
|
if img.Name == "testimage.jpg" && img.Key == "root/testimage.jpg" && !img.IsDir {
|
|
containsTestImage = true
|
|
}
|
|
|
|
if img.IsDir && img.Key == "root" {
|
|
containsFolder = true
|
|
}
|
|
}
|
|
|
|
if !containsTestImage {
|
|
t.Errorf("Did not find the expected testimage.")
|
|
}
|
|
if !containsFolder {
|
|
t.Errorf("There should be a virtual 'root' folder present.")
|
|
}
|
|
|
|
}
|
|
|
|
func Test_ScanLocalFileStructure_should_ignore_test_directory(t *testing.T) {
|
|
supportedExtensions := make([]string, 0)
|
|
supportedExtensions = append(supportedExtensions, "jpg")
|
|
|
|
ignores := make([]string, 0)
|
|
ignores = append(ignores, "images")
|
|
images, err := ScanLocalFileStructure("../../../test/", supportedExtensions, ignores, 0)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if len(images) != 0 {
|
|
t.Error("Did find expected testfiles. Expected no files as test folder is excluded!")
|
|
}
|
|
}
|
|
|
|
func Test_ScanLocalFileStructure_should_not_find_jpg_when_only_png_supported(t *testing.T) {
|
|
supportedExtensions := make([]string, 0)
|
|
supportedExtensions = append(supportedExtensions, "png")
|
|
|
|
images, err := ScanLocalFileStructure("../../../test/", supportedExtensions, make([]string, 0), 0)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if len(images) != 1 {
|
|
t.Error("Did find expected testfiles. Expected no files as extension is not supported!")
|
|
}
|
|
|
|
containsTestImage := false
|
|
for _, img := range images {
|
|
if img.Name == "testimage.jpg" {
|
|
containsTestImage = true
|
|
}
|
|
}
|
|
|
|
if containsTestImage {
|
|
t.Errorf("Did find the testimage. This should not happen as png is searched but jpg found")
|
|
}
|
|
}
|