github.com/taubyte/tau-cli@v0.1.13-0.20240326000942-487f0d57edfc/singletons/config/projects_test.go (about) 1 package config_test 2 3 import ( 4 "fmt" 5 "path" 6 "testing" 7 8 "github.com/taubyte/tau-cli/singletons/config" 9 ) 10 11 func TestProjects(t *testing.T) { 12 cwd, deferment, err := initializeTest() 13 if err != nil { 14 t.Error(err) 15 return 16 } 17 defer deferment() 18 19 testProjectName := "test_project" 20 testProject := config.Project{ 21 DefaultProfile: "someProfile", 22 Location: path.Join(cwd, "test_project"), 23 } 24 25 projects := config.Projects() 26 27 err = projects.Set(testProjectName, testProject) 28 if err != nil { 29 t.Error(err) 30 return 31 } 32 33 project, err := projects.Get(testProjectName) 34 if err != nil { 35 t.Error(err) 36 return 37 } 38 39 if project != testProject { 40 t.Errorf("Expected %v, got %v", testProject, project) 41 return 42 } 43 44 expectedData := `projects: 45 test_project: 46 default_profile: someProfile 47 location: %s/test_project 48 ` 49 50 configData, err := readConfig() 51 if err != nil { 52 t.Error(err) 53 return 54 } 55 56 expectedData = fmt.Sprintf(expectedData, cwd) 57 58 if configData != expectedData { 59 t.Errorf("Expected %s, got %s", expectedData, configData) 60 return 61 } 62 }