MCPcopy
hub / github.com/cli/cli / TestManager_Create_go_binary

Function TestManager_Create_go_binary

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

Source from the content-addressed store, hash-verified

1313}
1314
1315func TestManager_Create_go_binary(t *testing.T) {
1316 tempDir := t.TempDir()
1317 t.Chdir(tempDir)
1318 err := os.MkdirAll("gh-test", 0755)
1319 require.NoError(t, err)
1320
1321 reg := httpmock.Registry{}
1322 defer reg.Verify(t)
1323 reg.Register(
1324 httpmock.GraphQL(`query UserCurrent\b`),
1325 httpmock.StringResponse(`{"data":{"viewer":{"login":"jillv"}}}`))
1326
1327 ios, _, stdout, stderr := iostreams.Test()
1328
1329 gc, gcOne := &mockGitClient{}, &mockGitClient{}
1330 gc.On("ForRepo", "gh-test").Return(gcOne).Once()
1331 gc.On("CommandOutput", []string{"init", "--quiet", "gh-test"}).Return("", nil).Once()
1332 gcOne.On("CommandOutput", []string{"add", "."}).Return("", nil).Once()
1333 gcOne.On("CommandOutput", []string{"commit", "-m", "initial commit"}).Return("", nil).Once()
1334
1335 updateDir := t.TempDir()
1336 m := newTestManager(".", updateDir, &http.Client{Transport: &reg}, gc, ios)
1337
1338 err = m.Create("gh-test", extensions.GoBinTemplateType)
1339 require.NoError(t, err)
1340
1341 files, err := os.ReadDir("gh-test")
1342 require.NoError(t, err)
1343 assert.Equal(t, []string{".github", ".gitignore", "main.go"}, fileNames(files))
1344
1345 gitignore, err := os.ReadFile(filepath.Join("gh-test", ".gitignore"))
1346 require.NoError(t, err)
1347 assert.Equal(t, heredoc.Doc(`
1348 /gh-test
1349 /gh-test.exe
1350 `), string(gitignore))
1351
1352 files, err = os.ReadDir(filepath.Join("gh-test", ".github", "workflows"))
1353 require.NoError(t, err)
1354 assert.Equal(t, []string{"release.yml"}, fileNames(files))
1355
1356 assert.Equal(t, heredoc.Doc(`
1357 [go mod init github.com/jillv/gh-test]
1358 [go mod tidy]
1359 [go build]
1360 `), stdout.String())
1361 assert.Equal(t, "", stderr.String())
1362 gc.AssertExpectations(t)
1363 gcOne.AssertExpectations(t)
1364}
1365
1366func TestManager_Create_other_binary(t *testing.T) {
1367 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.45

Tested by

no test coverage detected