forked from toolshed/abra
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			overview-c
			...
			fix-abra-d
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 6c3bf01c8c | 
| @ -34,7 +34,7 @@ func LoadAbraConfig() Abra { | |||||||
| 		return Abra{} | 		return Abra{} | ||||||
| 	} | 	} | ||||||
| 	log.Debugf("config file loaded from: %s", configFile) | 	log.Debugf("config file loaded from: %s", configFile) | ||||||
| 	config.configPath = configFile | 	config.configPath = filepath.Dir(configFile) | ||||||
| 	return config | 	return config | ||||||
| } | } | ||||||
|  |  | ||||||
| @ -88,16 +88,22 @@ func (a Abra) GetAbraDir() string { | |||||||
| 	return os.ExpandEnv("$HOME/.abra") | 	return os.ExpandEnv("$HOME/.abra") | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func (a Abra) GetServersDir() string   { return path.Join(a.GetAbraDir(), "servers") } | ||||||
|  | func (a Abra) GetRecipesDir() string   { return path.Join(a.GetAbraDir(), "recipes") } | ||||||
|  | func (a Abra) GetVendorDir() string    { return path.Join(a.GetAbraDir(), "vendor") } | ||||||
|  | func (a Abra) GetBackupDir() string    { return path.Join(a.GetAbraDir(), "backups") } | ||||||
|  | func (a Abra) GetCatalogueDir() string { return path.Join(a.GetAbraDir(), "catalogue") } | ||||||
|  |  | ||||||
| var config = LoadAbraConfig() | var config = LoadAbraConfig() | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
| 	ABRA_DIR                 = config.GetAbraDir() | 	ABRA_DIR                 = config.GetAbraDir() | ||||||
| 	SERVERS_DIR              = path.Join(ABRA_DIR, "servers") | 	SERVERS_DIR              = config.GetServersDir() | ||||||
| 	RECIPES_DIR              = path.Join(ABRA_DIR, "recipes") | 	RECIPES_DIR              = config.GetRecipesDir() | ||||||
| 	VENDOR_DIR               = path.Join(ABRA_DIR, "vendor") | 	VENDOR_DIR               = config.GetVendorDir() | ||||||
| 	BACKUP_DIR               = path.Join(ABRA_DIR, "backups") | 	BACKUP_DIR               = config.GetBackupDir() | ||||||
| 	CATALOGUE_DIR            = path.Join(ABRA_DIR, "catalogue") | 	CATALOGUE_DIR            = config.GetCatalogueDir() | ||||||
| 	RECIPES_JSON             = path.Join(ABRA_DIR, "catalogue", "recipes.json") | 	RECIPES_JSON             = path.Join(config.GetCatalogueDir(), "recipes.json") | ||||||
| 	REPOS_BASE_URL           = "https://git.coopcloud.tech/coop-cloud" | 	REPOS_BASE_URL           = "https://git.coopcloud.tech/coop-cloud" | ||||||
| 	CATALOGUE_JSON_REPO_NAME = "recipes-catalogue-json" | 	CATALOGUE_JSON_REPO_NAME = "recipes-catalogue-json" | ||||||
| 	SSH_URL_TEMPLATE         = "ssh://git@git.coopcloud.tech:2222/coop-cloud/%s.git" | 	SSH_URL_TEMPLATE         = "ssh://git@git.coopcloud.tech:2222/coop-cloud/%s.git" | ||||||
|  | |||||||
| @ -71,8 +71,7 @@ func TestLoadAbraConfigGetAbraDir(t *testing.T) { | |||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		cfg := LoadAbraConfig() | 		cfg := LoadAbraConfig() | ||||||
| 		log.Println(cfg.GetAbraDir()) | 		wantAbraDir := filepath.Join(wd, "testdata/abraconfig1/foobar") | ||||||
| 		wantAbraDir := filepath.Join(wd, "testdata/abraconfig1/abra.yaml/foobar") |  | ||||||
| 		if cfg.GetAbraDir() != wantAbraDir { | 		if cfg.GetAbraDir() != wantAbraDir { | ||||||
| 			t.Errorf("\nwant: %s\ngot:  %s", wantAbraDir, cfg.GetAbraDir()) | 			t.Errorf("\nwant: %s\ngot:  %s", wantAbraDir, cfg.GetAbraDir()) | ||||||
| 		} | 		} | ||||||
| @ -101,3 +100,34 @@ func TestLoadAbraConfigGetAbraDir(t *testing.T) { | |||||||
| 		} | 		} | ||||||
| 	}) | 	}) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func TestLoadAbraConfigServersDir(t *testing.T) { | ||||||
|  | 	wd, err := os.Getwd() | ||||||
|  | 	if err != nil { | ||||||
|  | 		log.Fatal(err) | ||||||
|  | 	} | ||||||
|  | 	t.Setenv("ABRA_DIR", "") | ||||||
|  |  | ||||||
|  | 	t.Run("default", func(t *testing.T) { | ||||||
|  | 		cfg := LoadAbraConfig() | ||||||
|  | 		wantServersDir := os.ExpandEnv("$HOME/.abra/servers") | ||||||
|  | 		if cfg.GetServersDir() != wantServersDir { | ||||||
|  | 			t.Errorf("\nwant: %s\ngot:  %s", wantServersDir, cfg.GetServersDir()) | ||||||
|  | 		} | ||||||
|  | 	}) | ||||||
|  |  | ||||||
|  | 	t.Run("from config file", func(t *testing.T) { | ||||||
|  | 		t.Cleanup(func() { os.Chdir(wd) }) | ||||||
|  | 		err = os.Chdir(filepath.Join(wd, "testdata/abraconfig1")) | ||||||
|  | 		if err != nil { | ||||||
|  | 			log.Fatal(err) | ||||||
|  | 		} | ||||||
|  |  | ||||||
|  | 		cfg := LoadAbraConfig() | ||||||
|  | 		log.Println(cfg) | ||||||
|  | 		wantServersDir := filepath.Join(wd, "testdata/abraconfig1/foobar/servers") | ||||||
|  | 		if cfg.GetServersDir() != wantServersDir { | ||||||
|  | 			t.Errorf("\nwant: %s\ngot:  %s", wantServersDir, cfg.GetServersDir()) | ||||||
|  | 		} | ||||||
|  | 	}) | ||||||
|  | } | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user