github.com/m-lab/locate@v0.17.6/limits/config_test.go (about)

     1  package limits
     2  
     3  import (
     4  	"reflect"
     5  	"testing"
     6  	"time"
     7  )
     8  
     9  func TestParseConfig(t *testing.T) {
    10  	tests := []struct {
    11  		name    string
    12  		path    string
    13  		want    Agents
    14  		wantErr bool
    15  	}{
    16  		{
    17  			name: "success",
    18  			path: "testdata/config.yaml",
    19  			want: Agents{
    20  				"foo": NewCron("* * * * *", time.Minute),
    21  				"bar": NewCron("7,8 0,15,30,45 * * * * *", time.Minute),
    22  			},
    23  			wantErr: false,
    24  		},
    25  		{
    26  			name:    "file-error",
    27  			path:    "",
    28  			want:    nil,
    29  			wantErr: true,
    30  		},
    31  	}
    32  	for _, tt := range tests {
    33  		t.Run(tt.name, func(t *testing.T) {
    34  			got, err := ParseConfig(tt.path)
    35  			if (err != nil) != tt.wantErr {
    36  				t.Errorf("ParseConfig() error = %v, wantErr %v", err, tt.wantErr)
    37  				return
    38  			}
    39  			if !reflect.DeepEqual(got, tt.want) {
    40  				t.Errorf("ParseConfig() = %v, want %v", got, tt.want)
    41  			}
    42  		})
    43  	}
    44  }