Align command tests with unstable API · Entire
Align command tests with unstable API
import (
"testing"
"github.com/soph/git-sync/internal/syncer"
"github.com/soph/git-sync/pkg/gitsync/unstable"
)
const testBranch = "master"
func TestSummarizeRuns(t *testing.T) {
runs := []runSummary{
{
WallMillis: 100,
Result: syncer.Result{
Result: unstable.Result{
RelayMode: "bootstrap",
Batching: false,
Measurement: syncer.Measurement{
Measurement: unstable.Measurement{
ElapsedMillis: 90,
PeakAllocBytes: 10,
PeakHeapInuseBytes: 20,
},
},
},
},
{
WallMillis: 140,
Result: syncer.Result{
Result: unstable.Result{
RelayMode: "bootstrap-batch",
Batching: true,
BatchCount: 3,
PlannedBatchCount: 4,
Measurement: syncer.Measurement{
Measurement: unstable.Measurement{
ElapsedMillis: 130,
PeakAllocBytes: 50,
PeakHeapInuseBytes: 60,
}
},
},
},
}
}
}
func TestMarshalOutput_JSONShape(t *testing.T) {
data, err := marshalOutput(syncer.FetchResult{
SourceURL: "https://example.com/source.git",
RequestedMode: "auto",
Protocol: "v2",
Wants: []syncer.RefInfo{{Name: "refs/heads/main", Hash: plumbing.NewHash("1111111111111111111111111111111111111111")}},
Haves: []plumbing.Hash{plumbing.NewHash("2222222222222222222222222222222222222222")},
FetchedObjects: 42,
Measurement: syncer.Measurement{
Measurement: unstable.Measurement{
Enabled: true,
ElapsedMillis: 12,
PeakAllocBytes: 100,
}
},
}
}