MCPcopy
hub / github.com/cli/cli / TestManager_MigrateToBinaryExtension

Function TestManager_MigrateToBinaryExtension

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

Source from the content-addressed store, hash-verified

432}
433
434func TestManager_MigrateToBinaryExtension(t *testing.T) {
435 dataDir := t.TempDir()
436 updateDir := t.TempDir()
437 assert.NoError(t, stubExtension(filepath.Join(dataDir, "extensions", "gh-remote", "gh-remote")))
438 ios, _, stdout, stderr := iostreams.Test()
439
440 reg := httpmock.Registry{}
441 defer reg.Verify(t)
442 client := http.Client{Transport: &reg}
443 gc := &gitExecuter{client: &git.Client{}}
444
445 m := newTestManager(dataDir, updateDir, &client, gc, ios)
446 exts, err := m.list(false)
447 assert.NoError(t, err)
448 assert.Equal(t, 1, len(exts))
449 ext := exts[0]
450 ext.currentVersion = "old version"
451 ext.latestVersion = "new version"
452
453 rs, restoreRun := run.Stub()
454 defer restoreRun(t)
455
456 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)")
457 rs.Register(`git -C.*?gh-remote config --get-regexp \^.*`, 0, "remote.origin.gh-resolve base")
458
459 reg.Register(
460 httpmock.REST("GET", "repos/owner/gh-remote/releases/latest"),
461 httpmock.JSONResponse(
462 release{
463 Tag: "v1.0.2",
464 Assets: []releaseAsset{
465 {
466 Name: "gh-remote-windows-amd64.exe",
467 APIURL: "/release/cool",
468 },
469 },
470 }))
471 reg.Register(
472 httpmock.REST("GET", "repos/owner/gh-remote/releases/latest"),
473 httpmock.JSONResponse(
474 release{
475 Tag: "v1.0.2",
476 Assets: []releaseAsset{
477 {
478 Name: "gh-remote-windows-amd64.exe",
479 APIURL: "/release/cool",
480 },
481 },
482 }))
483 reg.Register(
484 httpmock.REST("GET", "release/cool"),
485 httpmock.StringResponse("FAKE UPGRADED BINARY"))
486
487 err = m.upgradeExtension(ext, false)
488 assert.NoError(t, err)
489
490 assert.Equal(t, "", stdout.String())
491 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