github.com/vulppine/fotoDen@v0.3.0/tool/tool_test.go (about)

     1  package tool
     2  
     3  import (
     4  	"fmt"
     5  	"io/ioutil"
     6  	"os"
     7  	"path"
     8  	"testing"
     9  
    10  	"github.com/vulppine/fotoDen/generator"
    11  )
    12  
    13  // TestGenerateFolder
    14  //
    15  // Incidentally, this covers the GenerateItems() function too,
    16  // so there's no need to test that one here.
    17  
    18  /*func TestGenerateFolder(t *testing.T) {
    19  	generator.CurrentConfig = generator.DefaultConfig
    20  
    21  	dir := t.TempDir()
    22  	genopts := GeneratorOptions{
    23  		ImageGen: false,
    24  	}
    25  
    26  	err := GenerateFolder("without_images", path.Join(dir, "without_images"), genopts)
    27  	if err != nil {
    28  		t.Errorf("Error - GenerateFolder (no images): " + fmt.Sprint(err))
    29  	}
    30  
    31  	f, _ := ioutil.ReadDir(path.Join(dir, "without_images"))
    32  	t.Log(generator.GetArrayOfFilesAndFolders(f))
    33  	j, _ := ioutil.ReadFile(path.Join(dir, "without_images", "folderInfo.json"))
    34  	t.Log(string(j))
    35  
    36  	genopts = GeneratorOptions{
    37  		Source:   "../test_images",
    38  		Copy:     true,
    39  		Gensizes: true,
    40  		ImageGen: true,
    41  		Sort:     true,
    42  	}
    43  
    44  	err = GenerateFolder("with_images", path.Join(dir, "with_images"), genopts)
    45  	if err != nil {
    46  		t.Errorf("Error - GenerateFolder (with images): " + fmt.Sprint(err))
    47  	}
    48  
    49  	f, _ = ioutil.ReadDir(path.Join(dir, "with_images"))
    50  	t.Log(generator.GetArrayOfFilesAndFolders(f))
    51  	f, _ = ioutil.ReadDir(path.Join(dir, "with_images", "img"))
    52  	t.Log(generator.GetArrayOfFilesAndFolders(f))
    53  	f, _ = ioutil.ReadDir(path.Join(dir, "with_images", "img", "thumb"))
    54  	t.Log(generator.GetArrayOfFilesAndFolders(f))
    55  	f, _ = ioutil.ReadDir(path.Join(dir, "with_images", "img", "large"))
    56  	t.Log(generator.GetArrayOfFilesAndFolders(f))
    57  	f, _ = ioutil.ReadDir(path.Join(dir, "with_images", "img", "src"))
    58  	t.Log(generator.GetArrayOfFilesAndFolders(f))
    59  	j, _ = ioutil.ReadFile(path.Join(dir, "with_images", "folderInfo.json"))
    60  	t.Log(string(j))
    61  	j, _ = ioutil.ReadFile(path.Join(dir, "with_images", "itemsInfo.json"))
    62  	t.Log(string(j))
    63  }*/
    64  
    65  // holy shit, CRUD??? who could've ever guessed
    66  
    67  func TestImageCRUD(t *testing.T) {
    68  	generator.CurrentConfig = generator.DefaultConfig
    69  
    70  	dir := t.TempDir()
    71  
    72  	items, err := generator.GenerateItemInfo("../test_images")
    73  	if err != nil {
    74  		t.Errorf("Error - generator.GenerateItemInfo" + fmt.Sprint(err))
    75  	}
    76  
    77  	err = items.WriteItemsInfo(path.Join(dir, "itemsInfo.json"))
    78  	if err != nil {
    79  		t.Errorf("Error - generator.WriteItemInfo" + fmt.Sprint(err))
    80  	}
    81  
    82  	func() {
    83  		wd, _ := os.Getwd()
    84  		defer os.Chdir(wd)
    85  		os.Chdir(dir)
    86  		MakeAlbumDirectoryStructure(dir)
    87  	}()
    88  
    89  	genopts := GeneratorOptions{
    90  		Source:   "../test_images",
    91  		Copy:     true,
    92  		Gensizes: true,
    93  		Sort:     true,
    94  	}
    95  
    96  	err = UpdateImages(dir, genopts)
    97  	if err != nil {
    98  		t.Errorf("Error - UpdateImages" + fmt.Sprint(err))
    99  	}
   100  	t.Log(func() string {
   101  		j, _ := ioutil.ReadFile(path.Join(dir, "itemsInfo.json"))
   102  		return string(j)
   103  	}())
   104  
   105  	err = DeleteImage(dir, items.ItemsInFolder[0])
   106  	if err != nil {
   107  		t.Errorf("Error - DeleteImage" + fmt.Sprint(err))
   108  	}
   109  	t.Log(func() string {
   110  		j, _ := ioutil.ReadFile(path.Join(dir, "itemsInfo.json"))
   111  		return string(j)
   112  	}())
   113  
   114  	err = InsertImage(dir, "sort", genopts, items.ItemsInFolder[0])
   115  	if err != nil {
   116  		t.Errorf("Error - InsertImage" + fmt.Sprint(err))
   117  	}
   118  	t.Log(func() string {
   119  		j, _ := ioutil.ReadFile(path.Join(dir, "itemsInfo.json"))
   120  		return string(j)
   121  	}())
   122  }