golang.org/x/build@v0.0.0-20240506185731-218518f32b70/internal/task/sync_private_test.go (about) 1 package task 2 3 import ( 4 "context" 5 "strings" 6 "testing" 7 "time" 8 9 "golang.org/x/build/internal/workflow" 10 ) 11 12 func TestSyncPrivate(t *testing.T) { 13 fakeRepo := NewFakeRepo(t, "fake") 14 masterCommit := fakeRepo.CommitOnBranch("master", map[string]string{ 15 "hello": "there", 16 }) 17 fakeRepo.Branch("public", masterCommit) 18 publicCommit := fakeRepo.CommitOnBranch("public", map[string]string{ 19 "general": "kenobi", 20 }) 21 22 sync := &PrivateMasterSyncTask{ 23 Git: &Git{}, 24 PrivateGerritURL: fakeRepo.dir.dir, // kind of wild that this works 25 Ref: "public", 26 } 27 28 wd := sync.NewDefinition() 29 w, err := workflow.Start(wd, map[string]any{}) 30 if err != nil { 31 t.Fatal(err) 32 } 33 ctx, cancel := context.WithTimeout(context.Background(), time.Minute) 34 defer cancel() 35 _, err = w.Run(ctx, &verboseListener{t: t}) 36 if err != nil { 37 t.Fatal(err) 38 } 39 40 fakeRepo.runGit("switch", "master") 41 newMasterCommit := strings.TrimSpace(string(fakeRepo.runGit("rev-parse", "HEAD"))) 42 // newMasterCommit := fakeRepo.ReadBranchHead(context.Background(), ) 43 44 if newMasterCommit != publicCommit { 45 t.Fatalf("unexpected master commit: got %q, want %q", newMasterCommit, publicCommit) 46 } 47 }