MCPcopy Create free account
hub / github.com/cli/cli / TestManager_MigrateToBinaryExtension

Function TestManager_MigrateToBinaryExtension

pkg/cmd/extension/manager_test.go:510–588  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

508}
509
510func TestManager_MigrateToBinaryExtension(t *testing.T) {
511 dataDir := t.TempDir()
512 updateDir := t.TempDir()
513 assert.NoError(t, stubExtension(filepath.Join(dataDir, "extensions", "gh-remote", "gh-remote")))
514 ios, _, stdout, stderr := iostreams.Test()
515
516 reg := httpmock.Registry{}
517 defer reg.Verify(t)
518 client := http.Client{Transport: &reg}
519 gc := &gitExecuter{client: &git.Client{}}
520
521 m := newTestManager(dataDir, updateDir, &client, gc, ios)
522 exts, err := m.list(false)
523 assert.NoError(t, err)
524 assert.Equal(t, 1, len(exts))
525 ext := exts[0]
526 ext.currentVersion = "old version"
527 ext.latestVersion = "new version"
528
529 rs, restoreRun := run.Stub()
530 defer restoreRun(t)
531
532 rs.Register(`git -C.*?gh-remote remote -v`, 0, "origin git@github.com:owner/gh-remote.git (fetch)\norigin git@github.com:owner/gh-remote.git (push)")
533 rs.Register(`git -C.*?gh-remote config --get-regexp \^.*`, 0, "remote.origin.gh-resolve base")
534
535 reg.Register(
536 httpmock.REST("GET", "repos/owner/gh-remote/releases/latest"),
537 httpmock.JSONResponse(
538 release{
539 Tag: "v1.0.2",
540 Assets: []releaseAsset{
541 {
542 Name: "gh-remote-windows-amd64.exe",
543 APIURL: "/release/cool",
544 },
545 },
546 }))
547 reg.Register(
548 httpmock.REST("GET", "repos/owner/gh-remote/releases/latest"),
549 httpmock.JSONResponse(
550 release{
551 Tag: "v1.0.2",
552 Assets: []releaseAsset{
553 {
554 Name: "gh-remote-windows-amd64.exe",
555 APIURL: "/release/cool",
556 },
557 },
558 }))
559 reg.Register(
560 httpmock.REST("GET", "release/cool"),
561 httpmock.StringResponse("FAKE UPGRADED BINARY"))
562
563 err = m.upgradeExtension(ext, false)
564 assert.NoError(t, err)
565
566 assert.Equal(t, "", stdout.String())
567 assert.Equal(t, "", stderr.String())

Callers

nothing calls this directly

Calls 14

VerifyMethod · 0.95
RegisterMethod · 0.95
TestFunction · 0.92
StubFunction · 0.92
RESTFunction · 0.92
JSONResponseFunction · 0.92
StringResponseFunction · 0.92
stubExtensionFunction · 0.85
newTestManagerFunction · 0.85
JoinMethod · 0.80
listMethod · 0.80
EqualMethod · 0.80

Tested by

no test coverage detected