github.com/taubyte/tau-cli@v0.1.13-0.20240326000942-487f0d57edfc/singletons/config/profiles_test.go (about)

     1  package config_test
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/taubyte/tau-cli/singletons/config"
     7  )
     8  
     9  func TestProfiles(t *testing.T) {
    10  	_, deferment, err := initializeTest()
    11  	if err != nil {
    12  		t.Error(err)
    13  		return
    14  	}
    15  	defer deferment()
    16  
    17  	profiles := config.Profiles()
    18  
    19  	testProfileName := "prof1"
    20  	testProfile := config.Profile{
    21  		Provider: "github",
    22  		Token:    "123456",
    23  		Default:  false,
    24  	}
    25  
    26  	err = profiles.Set(testProfileName, testProfile)
    27  	if err != nil {
    28  		t.Error(err)
    29  		return
    30  	}
    31  
    32  	profile, err := profiles.Get(testProfileName)
    33  	if err != nil {
    34  		t.Error(err)
    35  		return
    36  	}
    37  
    38  	if profile.Name() != testProfileName {
    39  		t.Errorf("Expected profile name `%s`, got `%s`", testProfileName, profile.Name())
    40  		return
    41  	}
    42  
    43  	if profile.Provider != testProfile.Provider {
    44  		t.Errorf("Expected provider `%s`, got `%s`", testProfile.Provider, profile.Provider)
    45  		return
    46  	}
    47  
    48  	if profile.Token != testProfile.Token {
    49  		t.Errorf("Expected token `%s`, got `%s`", testProfile.Token, profile.Token)
    50  		return
    51  	}
    52  
    53  	if profile.Default != testProfile.Default {
    54  		t.Errorf("Expected default `%t`, got `%t`", testProfile.Default, profile.Default)
    55  		return
    56  	}
    57  
    58  	expectedData := `profiles:
    59      prof1:
    60          provider: github
    61          token: "123456"
    62          default: false
    63          git_username: ""
    64          git_email: ""
    65          network: ""
    66          history: []
    67  `
    68  
    69  	configData, err := readConfig()
    70  	if err != nil {
    71  		t.Error(err)
    72  		return
    73  	}
    74  
    75  	if configData != expectedData {
    76  		t.Errorf("Expected %s, got %s", expectedData, configData)
    77  		return
    78  	}
    79  }