blob: b52de4a29af7f6c24bc1b3a918d61ada53342994 [file]
package task
import (
"context"
"strings"
"testing"
"testing/synctest"
"golang.org/x/build/internal/workflowtest"
)
func TestSyncPrivate(t *testing.T) {
synctest.Test(t, func(t *testing.T) {
fakeRepo := NewFakeRepo(t, "fake")
masterCommit := fakeRepo.CommitOnBranch("master", map[string]string{
"hello": "there",
})
fakeRepo.Branch("public", masterCommit)
publicCommit := fakeRepo.CommitOnBranch("public", map[string]string{
"general": "kenobi",
})
sync := &PrivateMasterSyncTask{
Git: &Git{},
PrivateGerritURL: fakeRepo.dir.dir, // kind of wild that this works
Ref: "public",
}
wd := sync.NewDefinition()
w := workflowtest.Start(t, wd, map[string]any{})
workflowtest.Run(t, context.Background(), w, nil)
fakeRepo.runGit("switch", "master")
newMasterCommit := strings.TrimSpace(string(fakeRepo.runGit("rev-parse", "HEAD")))
// newMasterCommit := fakeRepo.ReadBranchHead(context.Background(), )
if newMasterCommit != publicCommit {
t.Fatalf("unexpected master commit: got %q, want %q", newMasterCommit, publicCommit)
}
})
}