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.
59 lines
1.4 KiB
Go
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")
|
|
}
|
|
}
|