@@ -498,7 +498,7 @@ func TestSetDomainScheme(t *testing.T) {
498498 dir := t .TempDir ()
499499 t .Setenv ("XDG_CONFIG_HOME" , dir )
500500
501- if err := SetDomain ("forgejo.local:3000" , "tok" , "" , "forgejo" , "http " ); err != nil {
501+ if err := SetDomain ("forgejo.local:3000" , "tok" , "" , "forgejo" , "HTTP " ); err != nil {
502502 t .Fatalf ("SetDomain: %v" , err )
503503 }
504504
@@ -518,6 +518,22 @@ func TestSetDomainScheme(t *testing.T) {
518518 }
519519}
520520
521+ func TestSetDomainRejectsInvalidScheme (t * testing.T ) {
522+ dir := t .TempDir ()
523+ t .Setenv ("XDG_CONFIG_HOME" , dir )
524+
525+ err := SetDomain ("forgejo.local" , "tok" , "" , "forgejo" , "ftp" )
526+ if err == nil {
527+ t .Fatal ("expected invalid scheme error" )
528+ }
529+ if ! strings .Contains (err .Error (), "invalid scheme" ) {
530+ t .Errorf ("expected scheme error, got %v" , err )
531+ }
532+ if _ , statErr := os .Stat (filepath .Join (dir , "forge" , "config" )); ! os .IsNotExist (statErr ) {
533+ t .Errorf ("config should not be written for an invalid scheme, stat error: %v" , statErr )
534+ }
535+ }
536+
521537func TestLoadFileInvalidScheme (t * testing.T ) {
522538 dir := t .TempDir ()
523539 path := filepath .Join (dir , "config" )
0 commit comments