config: introduce NewFromValues
This commit is contained in:
parent
2c8d8d810f
commit
05b01a57c9
@ -3,6 +3,7 @@
|
|||||||
package config
|
package config
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
@ -77,6 +78,29 @@ func NewConfig() *Configuration {
|
|||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NewFromValues returns a new *config.Configuration instance as if it had
|
||||||
|
// been read from the .gitconfig specified by "gitconfig" parameter.
|
||||||
|
//
|
||||||
|
// NOTE: this method should only be called during testing.
|
||||||
|
func NewFromValues(gitconfig map[string]string) *Configuration {
|
||||||
|
config := &Configuration{
|
||||||
|
gitConfig: make(map[string]string, 0),
|
||||||
|
}
|
||||||
|
|
||||||
|
buf := bytes.NewBuffer([]byte{})
|
||||||
|
for k, v := range gitconfig {
|
||||||
|
fmt.Fprintf(buf, "%s=%s\n", k, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
config.readGitConfig(
|
||||||
|
string(buf.Bytes()),
|
||||||
|
map[string]bool{},
|
||||||
|
false,
|
||||||
|
)
|
||||||
|
|
||||||
|
return config
|
||||||
|
}
|
||||||
|
|
||||||
func (c *Configuration) Getenv(key string) string {
|
func (c *Configuration) Getenv(key string) string {
|
||||||
c.envVarsMutex.Lock()
|
c.envVarsMutex.Lock()
|
||||||
defer c.envVarsMutex.Unlock()
|
defer c.envVarsMutex.Unlock()
|
||||||
|
Loading…
Reference in New Issue
Block a user