@@ -14,7 +14,6 @@ import (
1414 "github.com/stretchr/testify/assert"
1515 "go.uber.org/mock/gomock"
1616
17- "github.com/runfinch/finch/pkg/command"
1817 "github.com/runfinch/finch/pkg/config"
1918 "github.com/runfinch/finch/pkg/mocks"
2019)
@@ -133,96 +132,3 @@ func TestNerdctlCommand_withVMErrors(t *testing.T) {
133132 })
134133 }
135134}
136-
137- func TestNerdctlCommand_withEmptyArgs (t * testing.T ) {
138- t .Parallel ()
139-
140- testCases := []struct {
141- name string
142- cmdName string
143- args []string
144- }{
145- {
146- name : "finch run with no arguments" ,
147- cmdName : "container run" ,
148- args : []string {},
149- },
150- {
151- name : "finch compose with no arguments" ,
152- cmdName : "compose" ,
153- args : []string {},
154- },
155- {
156- name : "finch exec with no arguments" ,
157- cmdName : "exec" ,
158- args : []string {},
159- },
160- }
161-
162- for _ , tc := range testCases {
163- t .Run (tc .name , func (t * testing.T ) {
164- t .Parallel ()
165-
166- ctrl := gomock .NewController (t )
167- ecc := mocks .NewCommandCreator (ctrl )
168- ncc := mocks .NewNerdctlCmdCreator (ctrl )
169- ncsd := mocks .NewNerdctlCommandSystemDeps (ctrl )
170- logger := mocks .NewLogger (ctrl )
171- fs := afero .NewMemMapFs ()
172- fc := & config.Finch {}
173-
174- // Mock VM status check to return running
175- getVMStatusC := mocks .NewCommand (ctrl )
176- ncc .EXPECT ().CreateWithoutStdio ("ls" , "-f" , "{{.Status}}" , limaInstanceName ).Return (getVMStatusC )
177- getVMStatusC .EXPECT ().Output ().Return ([]byte ("Running" ), nil )
178- logger .EXPECT ().Debugf ("Status of virtual machine: %s" , "Running" )
179-
180- // Mock environment variable lookups (these happen in the run method)
181- envVars := []string {
182- "COSIGN_PASSWORD" , "AWS_ACCESS_KEY_ID" , "AWS_SECRET_ACCESS_KEY" ,
183- "AWS_SESSION_TOKEN" , "COMPOSE_FILE" , "SOURCE_DATE_EPOCH" ,
184- "AWS_ECR_DISABLE_CACHE" , "AWS_ECR_CACHE_DIR" , "AWS_ECR_IGNORE_CREDS_STORAGE" ,
185- }
186- for _ , envVar := range envVars {
187- ncsd .EXPECT ().LookupEnv (envVar ).Return ("" , false ).AnyTimes ()
188- }
189-
190- // Mock Windows-specific system calls (GetCmdArgs method calls these)
191- ncsd .EXPECT ().GetWd ().Return ("C:\\ test" , nil ).AnyTimes ()
192- ncsd .EXPECT ().FilePathAbs (gomock .Any ()).DoAndReturn (func (path string ) (string , error ) {
193- return path , nil
194- }).AnyTimes ()
195- ncsd .EXPECT ().FilePathToSlash (gomock .Any ()).DoAndReturn (func (path string ) string {
196- return path
197- }).AnyTimes ()
198- ncsd .EXPECT ().FilePathJoin (gomock .Any ()).DoAndReturn (func (_ ... string ) string {
199- return "/mnt/c/test"
200- }).AnyTimes ()
201-
202- // Mock the RunWithReplacingStdout method (used when --help is present)
203- ncc .EXPECT ().RunWithReplacingStdout (gomock .Any (), gomock .Any ()).DoAndReturn (
204- func (replacements []command.Replacement , args ... string ) error {
205- // Verify that --help was added to the arguments
206- found := false
207- for _ , arg := range args {
208- if arg == "--help" {
209- found = true
210- break
211- }
212- }
213- assert .True (t , found , "Expected --help to be added to arguments" )
214-
215- // Verify the replacement is correct (nerdctl -> finch)
216- assert .Len (t , replacements , 1 , "Expected one replacement" )
217- assert .Equal (t , "nerdctl" , replacements [0 ].Source , "Expected source to be 'nerdctl'" )
218- assert .Equal (t , "finch" , replacements [0 ].Target , "Expected target to be 'finch'" )
219-
220- return nil
221- })
222-
223- // This should not panic and should complete successfully
224- err := newNerdctlCommand (ncc , ecc , ncsd , logger , fs , fc ).run (tc .cmdName , tc .args )
225- assert .NoError (t , err )
226- })
227- }
228- }
0 commit comments