github.com/ForceCLI/config@v0.0.0-20230217143549-9149d42a3c99/config_test.go (about)

     1  package config_test
     2  
     3  import (
     4  	"fmt"
     5  	"github.com/ForceCLI/config"
     6  	"io/ioutil"
     7  	"os"
     8  	"testing"
     9  )
    10  
    11  func ExampleNewConfig() {
    12  	conf := config.NewConfig("myapp")
    13  	fmt.Println(conf.Base)
    14  	// Output: myapp
    15  }
    16  
    17  func ExampleConfig_Save() {
    18  	conf := config.NewConfig("myapp")
    19  	conf.Save("logins", "user@example.org", "12345")
    20  	password, _ := conf.Load("logins", "user@example.org")
    21  	fmt.Println(password)
    22  	// Output: 12345
    23  }
    24  
    25  func ExampleConfig_Load() {
    26  	conf := config.NewConfig("myapp")
    27  	conf.Save("logins", "user@example.org", "12345")
    28  	password, _ := conf.Load("logins", "user@example.org")
    29  	fmt.Println(password)
    30  	// Output: 12345
    31  }
    32  
    33  func ExampleConfig_List() {
    34  	conf := config.NewConfig("myapp")
    35  	conf.Save("logins", "user@example.org", "12345")
    36  	conf.Save("logins", "user2@example.org", "12345")
    37  	logins, _ := conf.List("logins")
    38  	fmt.Println(logins)
    39  	// Output: [user2@example.org user@example.org]
    40  }
    41  
    42  func ExampleConfig_Delete() {
    43  	conf := config.NewConfig("myapp")
    44  	conf.Save("logins", "user@example.org", "12345")
    45  	conf.Save("logins", "user2@example.org", "12345")
    46  	conf.Delete("logins", "user2@example.org")
    47  	logins, _ := conf.List("logins")
    48  	fmt.Println(logins)
    49  	// Output: [user@example.org]
    50  }
    51  
    52  func TestLocalConfig(t *testing.T) {
    53  	tempDir, _ := ioutil.TempDir("", "config-test")
    54  	os.Chdir(tempDir)
    55  	conf := config.NewConfig("myapp")
    56  	conf.SaveGlobal("logins", "user@example.org", "00000")
    57  	conf.SaveLocal("logins", "user@example.org", "12345")
    58  	password, _ := conf.LoadLocalOrGlobal("logins", "user@example.org")
    59  	os.RemoveAll(tempDir)
    60  	if password != "12345" {
    61  		t.Fatalf("Failed to read local config value")
    62  	}
    63  }