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

Function TestManager_Create_go_binary

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

Source from the content-addressed store, hash-verified

1389}
1390
1391func TestManager_Create_go_binary(t *testing.T) {
1392 tempDir := t.TempDir()
1393 t.Chdir(tempDir)
1394 err := os.MkdirAll("gh-test", 0755)
1395 require.NoError(t, err)
1396
1397 reg := httpmock.Registry{}
1398 defer reg.Verify(t)
1399 reg.Register(
1400 httpmock.GraphQL(`query UserCurrent\b`),
1401 httpmock.StringResponse(`{"data":{"viewer":{"login":"jillv"}}}`))
1402
1403 ios, _, stdout, stderr := iostreams.Test()
1404
1405 gc, gcOne := &mockGitClient{}, &mockGitClient{}
1406 gc.On("ForRepo", "gh-test").Return(gcOne).Once()
1407 gc.On("CommandOutput", []string{"init", "--quiet", "gh-test"}).Return("", nil).Once()
1408 gcOne.On("CommandOutput", []string{"add", "."}).Return("", nil).Once()
1409 gcOne.On("CommandOutput", []string{"commit", "-m", "initial commit"}).Return("", nil).Once()
1410
1411 updateDir := t.TempDir()
1412 m := newTestManager(".", updateDir, &http.Client{Transport: &reg}, gc, ios)
1413
1414 err = m.Create("gh-test", extensions.GoBinTemplateType)
1415 require.NoError(t, err)
1416
1417 files, err := os.ReadDir("gh-test")
1418 require.NoError(t, err)
1419 assert.Equal(t, []string{".github", ".gitignore", "main.go"}, fileNames(files))
1420
1421 gitignore, err := os.ReadFile(filepath.Join("gh-test", ".gitignore"))
1422 require.NoError(t, err)
1423 assert.Equal(t, heredoc.Doc(`
1424 /gh-test
1425 /gh-test.exe
1426 `), string(gitignore))
1427
1428 files, err = os.ReadDir(filepath.Join("gh-test", ".github", "workflows"))
1429 require.NoError(t, err)
1430 assert.Equal(t, []string{"release.yml"}, fileNames(files))
1431
1432 assert.Equal(t, heredoc.Doc(`
1433 [go mod init github.com/jillv/gh-test]
1434 [go mod tidy]
1435 [go build]
1436 `), stdout.String())
1437 assert.Equal(t, "", stderr.String())
1438 gc.AssertExpectations(t)
1439 gcOne.AssertExpectations(t)
1440}
1441
1442func TestManager_Create_other_binary(t *testing.T) {
1443 tempDir := t.TempDir()

Callers

nothing calls this directly

Calls 11

VerifyMethod · 0.95
RegisterMethod · 0.95
GraphQLFunction · 0.92
StringResponseFunction · 0.92
TestFunction · 0.92
newTestManagerFunction · 0.85
fileNamesFunction · 0.85
EqualMethod · 0.80
JoinMethod · 0.80
CreateMethod · 0.65
StringMethod · 0.65

Tested by

no test coverage detected