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,
            }
        },
    }
}