Borg/pkg/compress/compress_test.go
google-labs-jules[bot] d27d9f3a37 feat: Improve test coverage and refactor for testability
This commit introduces a significant refactoring of the `cmd` package to improve testability and increases test coverage across the application.

Key changes include:
- Refactored Cobra commands to use `RunE` for better error handling and testing.
- Extracted business logic from command handlers into separate, testable functions.
- Added comprehensive unit tests for the `cmd`, `compress`, `github`, `logger`, and `pwa` packages.
- Added tests for missing command-line arguments, as requested.
- Implemented the `borg all` command to clone all public repositories for a GitHub user or organization.
- Restored and improved the `collect pwa` functionality.
- Removed duplicate code and fixed various bugs.
2025-11-03 16:31:26 +00:00

59 lines
1.4 KiB
Go

package compress
import (
"bytes"
"testing"
)
func TestCompressDecompress(t *testing.T) {
testData := []byte("hello, world")
// Test gzip compression
compressedGz, err := Compress(testData, "gz")
if err != nil {
t.Fatalf("gzip compression failed: %v", err)
}
decompressedGz, err := Decompress(compressedGz)
if err != nil {
t.Fatalf("gzip decompression failed: %v", err)
}
if !bytes.Equal(testData, decompressedGz) {
t.Errorf("gzip decompressed data does not match original data")
}
// Test xz compression
compressedXz, err := Compress(testData, "xz")
if err != nil {
t.Fatalf("xz compression failed: %v", err)
}
decompressedXz, err := Decompress(compressedXz)
if err != nil {
t.Fatalf("xz decompression failed: %v", err)
}
if !bytes.Equal(testData, decompressedXz) {
t.Errorf("xz decompressed data does not match original data")
}
// Test no compression
compressedNone, err := Compress(testData, "none")
if err != nil {
t.Fatalf("no compression failed: %v", err)
}
if !bytes.Equal(testData, compressedNone) {
t.Errorf("no compression data does not match original data")
}
decompressedNone, err := Decompress(compressedNone)
if err != nil {
t.Fatalf("no compression decompression failed: %v", err)
}
if !bytes.Equal(testData, decompressedNone) {
t.Errorf("no compression decompressed data does not match original data")
}
}