@@ -510,3 +510,35 @@ func TestInstallNoDeps(t *testing.T) {
510
510
require .NoError (t , err )
511
511
requirejson .Query (t , stdout , ".[] | .library | .name" , "\" MD_Parola\" " )
512
512
}
513
+
514
+ func TestInstallWithGitUrl (t * testing.T ) {
515
+ env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
516
+ defer env .CleanUp ()
517
+
518
+ // Initialize configs to enable --git-url flag
519
+ envVar := cli .GetDefaultEnv ()
520
+ envVar ["ARDUINO_ENABLE_UNSAFE_LIBRARY_INSTALL" ] = "true"
521
+ _ , _ , err := cli .RunWithCustomEnv (envVar , "config" , "init" , "--dest-dir" , "." )
522
+ require .NoError (t , err )
523
+
524
+ libInstallDir := cli .SketchbookDir ().Join ("libraries" , "WiFi101" )
525
+ // Verifies library is not already installed
526
+ require .NoDirExists (t , libInstallDir .String ())
527
+
528
+ gitUrl := "https://github.com/arduino-libraries/WiFi101.git"
529
+
530
+ // Test git-url library install
531
+ stdout , _ , err := cli .Run ("lib" , "install" , "--git-url" , gitUrl )
532
+ require .NoError (t , err )
533
+ require .Contains (t , string (stdout ), "--git-url and --zip-path flags allow installing untrusted files, use it at your own risk." )
534
+
535
+ // Verifies library is installed in expected path
536
+ require .DirExists (t , libInstallDir .String ())
537
+
538
+ // Reinstall library
539
+ _ , _ , err = cli .Run ("lib" , "install" , "--git-url" , gitUrl )
540
+ require .NoError (t , err )
541
+
542
+ // Verifies library remains installed
543
+ require .DirExists (t , libInstallDir .String ())
544
+ }
0 commit comments