Skip to content
This repository has been archived by the owner on Jul 11, 2022. It is now read-only.

Commit

Permalink
rename defaults to overrides
Browse files Browse the repository at this point in the history
Signed-off-by: Jason McCallister <jason@craftcms.com>
  • Loading branch information
jasonmccallister committed Mar 26, 2020
1 parent 7e2a5c7 commit 46bfedc
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 27 deletions.
8 changes: 5 additions & 3 deletions config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@ package config

import "github.com/spf13/viper"

func ReadFile(file string, defaults map[string]interface{}) (*viper.Viper, error) {
// ReadFile takes a file and default arguments. The override arguments are then passed in as
// from the cli as flags or global defaults such as CPU, Memory, and Disk.
func ReadFile(file string, overrides map[string]interface{}) (*viper.Viper, error) {
v := viper.New()

// set all of the defaults
for key, value := range defaults {
// set all of the overrides
for key, value := range overrides {
v.SetDefault(key, value)
}

Expand Down
48 changes: 24 additions & 24 deletions config/config_test.go
Original file line number Diff line number Diff line change
@@ -1,36 +1,36 @@
package config

import (
"reflect"
"testing"
)

func TestReadFile(t *testing.T) {
type args struct {
file string
defaults map[string]interface{}
// Arrange
file := "./testdata/nitro-full.yaml"
overrides := map[string]interface{}{
"cpu": 2,
"disk": "20G",
"memory": "2G",
}
tests := []struct {
name string
args args
want []string
wantErr bool
}{
{
name:"",
},

// Act
config, err := ReadFile(file, overrides)
if err != nil {
t.Error(err)
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got, err := ReadFile(tt.args.file, tt.args.defaults)
if (err != nil) != tt.wantErr {
t.Errorf("ReadFile() error = %v, wantErr %v", err, tt.wantErr)
return
}

if !reflect.DeepEqual(got, tt.want) {
t.Errorf("ReadFile() got = %v, want %v", got, tt.want)
}
})
// Assert
if config.GetString("name") != "nitro-server" {
t.Errorf("expected %q to be %q; got %q instead", "name", "nitro-server", config.GetString("name"))
}
// check if the defaults are set
if config.GetInt("cpu") != 2 {
t.Errorf("expected %q to be %q; got %q instead", "cpu", 2, config.GetInt("cpu"))
}
if config.GetString("memory") != "2G" {
t.Errorf("expected %q to be %q; got %q instead", "memory", "2G", config.GetString("memory"))
}
if config.GetString("disk") != "20G" {
t.Errorf("expected %q to be %q; got %q instead", "disk", "20G", config.GetString("disk"))
}
}
File renamed without changes.
1 change: 1 addition & 0 deletions config/testdata/nitro-partial.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
name: nitro-partial

0 comments on commit 46bfedc

Please # to comment.