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

Function TestClientPushDefault

git/client_test.go:955–1015  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

953}
954
955func TestClientPushDefault(t *testing.T) {
956 tests := []struct {
957 name string
958 commandResult commandResult
959 wantPushDefault PushDefault
960 wantError *GitError
961 }{
962 {
963 name: "push default is not set",
964 commandResult: commandResult{
965 ExitStatus: 1,
966 Stderr: "error: key does not contain a section: remote.pushDefault",
967 },
968 wantPushDefault: PushDefaultSimple,
969 wantError: nil,
970 },
971 {
972 name: "push default is set to current",
973 commandResult: commandResult{
974 ExitStatus: 0,
975 Stdout: "current",
976 },
977 wantPushDefault: PushDefaultCurrent,
978 wantError: nil,
979 },
980 {
981 name: "push default errors",
982 commandResult: commandResult{
983 ExitStatus: 128,
984 Stderr: "fatal: git error",
985 },
986 wantPushDefault: "",
987 wantError: &GitError{
988 ExitCode: 128,
989 Stderr: "fatal: git error",
990 },
991 },
992 }
993 for _, tt := range tests {
994 t.Run(tt.name, func(t *testing.T) {
995 cmdCtx := createMockedCommandContext(t, mockedCommands{
996 `path/to/git config push.default`: tt.commandResult,
997 },
998 )
999 client := Client{
1000 GitPath: "path/to/git",
1001 commandContext: cmdCtx,
1002 }
1003 pushDefault, err := client.PushDefault(context.Background())
1004 if tt.wantError != nil {
1005 var gitError *GitError
1006 require.ErrorAs(t, err, &gitError)
1007 assert.Equal(t, tt.wantError.ExitCode, gitError.ExitCode)
1008 assert.Equal(t, tt.wantError.Stderr, gitError.Stderr)
1009 } else {
1010 require.NoError(t, err)
1011 }
1012 assert.Equal(t, tt.wantPushDefault, pushDefault)

Callers

nothing calls this directly

Calls 4

PushDefaultMethod · 0.95
EqualMethod · 0.80
RunMethod · 0.65

Tested by

no test coverage detected