MCPcopy Create free account
hub / github.com/docker/docker-credential-helpers / Output

Method Output

client/client_test.go:33–81  ·  view source on GitHub ↗

Output returns responses from the remote credentials-helper. It mocks those responses based in the input in the mock.

()

Source from the content-addressed store, hash-verified

31// Output returns responses from the remote credentials-helper.
32// It mocks those responses based in the input in the mock.
33func (m *mockProgram) Output() ([]byte, error) {
34 in, err := io.ReadAll(m.input)
35 if err != nil {
36 return nil, err
37 }
38 inS := string(in)
39
40 switch m.arg {
41 case "erase":
42 switch inS {
43 case validServerAddress:
44 return nil, nil
45 default:
46 return []byte("program failed"), errProgramExited
47 }
48 case "get":
49 switch inS {
50 case validServerAddress:
51 return []byte(`{"Username": "foo", "Secret": "bar"}`), nil
52 case validServerAddress2:
53 return []byte(`{"Username": "<token>", "Secret": "abcd1234"}`), nil
54 case missingCredsAddress:
55 return []byte(credentials.NewErrCredentialsNotFound().Error()), errProgramExited
56 case invalidServerAddress:
57 return []byte("program failed"), errProgramExited
58 case "":
59 return []byte(credentials.NewErrCredentialsMissingServerURL().Error()), errProgramExited
60 }
61 case "store":
62 var c credentials.Credentials
63 err := json.NewDecoder(strings.NewReader(inS)).Decode(&c)
64 if err != nil {
65 return []byte("error storing credentials"), errProgramExited
66 }
67 switch c.ServerURL {
68 case validServerAddress:
69 return nil, nil
70 case validServerAddress2:
71 return nil, nil
72 default:
73 return []byte("error storing credentials"), errProgramExited
74 }
75 case "list":
76 return []byte(fmt.Sprintf(`{"%s": "%s"}`, validServerAddress, validUsername)), nil
77
78 }
79
80 return []byte(fmt.Sprintf("unknown argument %q with %q", m.arg, inS)), errProgramExited
81}
82
83// Input sets the input to send to a remote credentials-helper.
84func (m *mockProgram) Input(in io.Reader) {

Callers

nothing calls this directly

Calls 3

ErrorMethod · 0.45

Tested by

no test coverage detected