// createTestFile создаёт тестовый файл func createTestFile(t *testing.T) { binPath, err := utils.GetSelfPath() if err != nil { fmt.Errorf("Ошибка получения пути к приложению: %v\n", err) } testPath = filepath.Join(binPath, testDir) if err := removeTestFiles(); err != nil { fmt.Errorf("Ошибка удаления тестовых директорий: %v\n", err) } if err := os.MkdirAll(testPath, 0777); err != nil { fmt.Errorf("Ошибка создания тестовых директорий: %v\n", err) } sourceData = []byte{} decryptedData = []byte{} testFile = "" file1Name := "file1" file1Path := filepath.Join(testPath, file1Name) if err := ioutil.WriteFile(file1Path, []byte("file1data"), 0660); err != nil { t.Fatal(err) } testFile = file1Name if err := readData(&sourceData); err != nil { t.Fatal(err) } writeTestCerts(t) }
func TestCompress(t *testing.T) { defer func() { os.RemoveAll(testPath) }() createTestFiles(t) binPath, err := utils.GetSelfPath() if err != nil { t.Fatalf("Ошибка получения пути к приложению: %v", err) } outputPath := filepath.Join(binPath, "output.zip") testFilesFullPaths := []string{} for _, f := range testFiles { testFilesFullPaths = append(testFilesFullPaths, filepath.Join(testPath, f)) } if err := Compress(outputPath, testFilesFullPaths...); err != nil { t.Fatalf("Ошибка Compress(): %v", err) } if !utils.FileExists(outputPath) { t.Fatalf("Архив %s не существует", outputPath) } if err := removeTestFiles(); err != nil { fmt.Errorf("Ошибка удаления тестовых директорий: %v\n", err) } if err := Decompress(outputPath, "/"); err != nil { t.Fatalf("Ошибка Compress(): %v", err) } for _, path := range testFilesFullPaths { if !utils.FileExists(path) { t.Errorf("Файл %s должен быть распакован, но не найден.\n", path) } if err := readData(&decompressedData); err != nil { t.Error(err) } sourceLastElement := sourceData[len(sourceData)-1] decompressedLastElement := decompressedData[len(decompressedData)-1] if !reflect.DeepEqual(sourceLastElement, decompressedLastElement) { t.Errorf("Элементы не равны. \nИсходный : %v\nРаспакованный: %v\n") } } }
func TestMain(m *testing.M) { fmt.Println("todo переписать тесты") os.Exit(0) binPath, err := utils.GetSelfPath() if err != nil { fmt.Errorf("Ошибка получения пути к приложению: %v\n", err) } testPath = filepath.Join(binPath, testDir) if err := removeTestFiles(); err != nil { fmt.Errorf("Ошибка удаления тестовых директорий: %v\n", err) } if err := os.MkdirAll(testPath, 0777); err != nil { fmt.Errorf("Ошибка создания тестовых директорий: %v\n", err) } sourceData = [][]byte{} decompressedData = [][]byte{} os.Exit(m.Run()) }