@@ -182,3 +182,38 @@ func TestLibDepsOutput(t *testing.T) {
182
182
{"name":"WiFiNINA","version_required":"1.8.13","version_installed":"1.8.13"}]}`
183
183
require .JSONEq (t , expectedOutput , string (stdOut ))
184
184
}
185
+
186
+ func TestUpgradeLibraryWithDependencies (t * testing.T ) {
187
+ env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
188
+ defer env .CleanUp ()
189
+
190
+ // Updates index for cores and libraries
191
+ _ , _ , err := cli .Run ("core" , "update-index" )
192
+ require .NoError (t , err )
193
+ _ , _ , err = cli .Run ("lib" , "update-index" )
194
+ require .NoError (t , err )
195
+
196
+ // Install library
197
+ _ ,
_ ,
err = cli .
Run (
"lib" ,
"install" ,
"[email protected] " )
198
+ require .NoError (t , err )
199
+ stdOut ,
_ ,
err := cli .
Run (
"lib" ,
"deps" ,
"[email protected] " ,
"--format" ,
"json" )
200
+ require .NoError (t , err )
201
+ expectedOutput := `{"dependencies":[
202
+ {"name":"Arduino_ConnectionHandler","version_required":"0.3.3","version_installed":"0.3.3"},
203
+ {"name":"Arduino_DebugUtils","version_required":"1.3.0","version_installed":"1.3.0"},
204
+ {"name":"MKRGSM","version_required":"1.5.0","version_installed":"1.5.0"},
205
+ {"name":"MKRNB","version_required":"1.5.1","version_installed":"1.5.1"},
206
+ {"name":"WiFi101","version_required":"0.16.1","version_installed":"0.16.1"},
207
+ {"name":"WiFiNINA","version_required":"1.8.13","version_installed":"1.8.13"}]}`
208
+ require .JSONEq (t , expectedOutput , string (stdOut ))
209
+
210
+ // Test lib upgrade also install new dependencies of already installed library
211
+ _ , _ , err = cli .Run ("lib" , "upgrade" , "Arduino_ConnectionHandler" )
212
+ require .NoError (t , err )
213
+ stdOut , _ , err = cli .Run ("lib" , "deps" , "Arduino_ConnectionHandler" , "--format" , "json" )
214
+ require .NoError (t , err )
215
+
216
+ jsonOut := requirejson .Parse (t , stdOut )
217
+ dependency := jsonOut .Query (`.dependencies[] | select(.name=="MKRWAN")` )
218
+ require .Equal (t , dependency .Query (".version_required" ), dependency .Query (".version_installed" ))
219
+ }
0 commit comments