mirror of
https://github.com/ultravioletrs/cocos.git
synced 2026-08-07 23:31:55 +00:00
899bfb0ec5
* on the fly compression Signed-off-by: Sammy Oina <sammyoina@gmail.com> * rename file-hash to checksum Signed-off-by: Sammy Oina <sammyoina@gmail.com> * check error properly Signed-off-by: Sammy Oina <sammyoina@gmail.com> * fix lint Signed-off-by: Sammy Oina <sammyoina@gmail.com> * fix connection handling Signed-off-by: Sammy Oina <sammyoina@gmail.com> --------- Signed-off-by: Sammy Oina <sammyoina@gmail.com>
83 lines
2.0 KiB
Go
83 lines
2.0 KiB
Go
// Copyright (c) Ultraviolet
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
package algorithm_test
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/ultravioletrs/cocos/agent/algorithm"
|
|
"github.com/ultravioletrs/cocos/internal"
|
|
)
|
|
|
|
func TestZipDirectory(t *testing.T) {
|
|
cases := []struct {
|
|
name string
|
|
directories []string
|
|
files []string
|
|
expected []string
|
|
}{
|
|
{
|
|
name: "empty directory",
|
|
directories: []string{"testdata"},
|
|
},
|
|
{
|
|
name: "single file",
|
|
files: []string{"file1.txt"},
|
|
},
|
|
{
|
|
name: "directory with single file",
|
|
directories: []string{"testdata"},
|
|
expected: []string{"testdata/file1.txt"},
|
|
},
|
|
{
|
|
name: "directory with multiple files",
|
|
directories: []string{"testdata"},
|
|
expected: []string{
|
|
"testdata/file1.txt",
|
|
"testdata/file2.txt",
|
|
"testdata/file3.txt",
|
|
},
|
|
},
|
|
{
|
|
name: "nested directories",
|
|
directories: []string{"testdata", "testdata/nested"},
|
|
expected: []string{
|
|
"testdata/nested/file1.txt",
|
|
"testdata/nested/file2.txt",
|
|
"testdata/nested/file3.txt",
|
|
},
|
|
},
|
|
}
|
|
|
|
for _, tc := range cases {
|
|
t.Run(tc.name, func(t *testing.T) {
|
|
if err := os.Mkdir(algorithm.ResultsDir, 0o755); err != nil {
|
|
t.Fatalf("error creating results directory: %s", err.Error())
|
|
}
|
|
defer func() {
|
|
if err := os.RemoveAll(algorithm.ResultsDir); err != nil {
|
|
t.Fatalf("error removing results directory and its contents: %s", err.Error())
|
|
}
|
|
}()
|
|
|
|
for _, dir := range tc.directories {
|
|
if dir != "" {
|
|
if err := os.Mkdir(algorithm.ResultsDir+"/"+dir, 0o755); err != nil {
|
|
t.Fatalf("error creating test directory: %s", err.Error())
|
|
}
|
|
}
|
|
}
|
|
for _, file := range tc.files {
|
|
if _, err := os.Create(algorithm.ResultsDir + "/" + file); err != nil {
|
|
t.Fatalf("error creating test file: %s", err.Error())
|
|
}
|
|
}
|
|
|
|
if _, err := internal.ZipDirectoryToMemory(algorithm.ResultsDir); err != nil {
|
|
t.Errorf("ZipDirectory() error = %v", err)
|
|
}
|
|
})
|
|
}
|
|
}
|