@@ -199,3 +199,38 @@ func TestLibDepsOutput(t *testing.T) {
199
199
require .Equal (t , "WiFiNINA" , jsonDeps .Dependencies [6 ].Name )
200
200
require .Equal (t , jsonDeps .Dependencies [6 ].VersionInstalled , jsonDeps .Dependencies [6 ].VersionRequired )
201
201
}
202
+
203
+ func TestUpgradeLibraryWithDependencies (t * testing.T ) {
204
+ env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
205
+ defer env .CleanUp ()
206
+
207
+ // Updates index for cores and libraries
208
+ _ , _ , err := cli .Run ("core" , "update-index" )
209
+ require .NoError (t , err )
210
+ _ , _ , err = cli .Run ("lib" , "update-index" )
211
+ require .NoError (t , err )
212
+
213
+ // Install library
214
+ _ ,
_ ,
err = cli .
Run (
"lib" ,
"install" ,
"[email protected] " )
215
+ require .NoError (t , err )
216
+ stdOut ,
_ ,
err := cli .
Run (
"lib" ,
"deps" ,
"[email protected] " ,
"--format" ,
"json" )
217
+ require .NoError (t , err )
218
+ expectedOutput := `{"dependencies":[
219
+ {"name":"Arduino_ConnectionHandler","version_required":"0.3.3","version_installed":"0.3.3"},
220
+ {"name":"Arduino_DebugUtils","version_required":"1.3.0","version_installed":"1.3.0"},
221
+ {"name":"MKRGSM","version_required":"1.5.0","version_installed":"1.5.0"},
222
+ {"name":"MKRNB","version_required":"1.5.1","version_installed":"1.5.1"},
223
+ {"name":"WiFi101","version_required":"0.16.1","version_installed":"0.16.1"},
224
+ {"name":"WiFiNINA","version_required":"1.8.13","version_installed":"1.8.13"}]}`
225
+ require .JSONEq (t , expectedOutput , string (stdOut ))
226
+
227
+ // Test lib upgrade also install new dependencies of already installed library
228
+ _ , _ , err = cli .Run ("lib" , "upgrade" , "Arduino_ConnectionHandler" )
229
+ require .NoError (t , err )
230
+ stdOut , _ , err = cli .Run ("lib" , "deps" , "Arduino_ConnectionHandler" , "--format" , "json" )
231
+ require .NoError (t , err )
232
+
233
+ jsonOut := requirejson .Parse (t , stdOut )
234
+ dependency := jsonOut .Query (`.dependencies[] | select(.name=="MKRWAN")` )
235
+ require .Equal (t , dependency .Query (".version_required" ), dependency .Query (".version_installed" ))
236
+ }
0 commit comments