@@ -590,3 +590,35 @@ func TestInstallNoDeps(t *testing.T) {
590
590
require .NoError (t , err )
591
591
requirejson .Query (t , stdout , ".[] | .library | .name" , "\" MD_Parola\" " )
592
592
}
593
+
594
+ func TestInstallWithGitUrl (t * testing.T ) {
595
+ env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
596
+ defer env .CleanUp ()
597
+
598
+ // Initialize configs to enable --git-url flag
599
+ envVar := cli .GetDefaultEnv ()
600
+ envVar ["ARDUINO_ENABLE_UNSAFE_LIBRARY_INSTALL" ] = "true"
601
+ _ , _ , err := cli .RunWithCustomEnv (envVar , "config" , "init" , "--dest-dir" , "." )
602
+ require .NoError (t , err )
603
+
604
+ libInstallDir := cli .SketchbookDir ().Join ("libraries" , "WiFi101" )
605
+ // Verifies library is not already installed
606
+ require .NoDirExists (t , libInstallDir .String ())
607
+
608
+ gitUrl := "https://github.com/arduino-libraries/WiFi101.git"
609
+
610
+ // Test git-url library install
611
+ stdout , _ , err := cli .Run ("lib" , "install" , "--git-url" , gitUrl )
612
+ require .NoError (t , err )
613
+ require .Contains (t , string (stdout ), "--git-url and --zip-path flags allow installing untrusted files, use it at your own risk." )
614
+
615
+ // Verifies library is installed in expected path
616
+ require .DirExists (t , libInstallDir .String ())
617
+
618
+ // Reinstall library
619
+ _ , _ , err = cli .Run ("lib" , "install" , "--git-url" , gitUrl )
620
+ require .NoError (t , err )
621
+
622
+ // Verifies library remains installed
623
+ require .DirExists (t , libInstallDir .String ())
624
+ }
0 commit comments