// Copyright (c) HashiCorp, Inc. // SPDX-License-Identifier: MPL-2.0 package config import ( "path/filepath" "reflect" "strings" "testing" ) const FixturePath = "../test-fixtures" func TestLoadConfig(t *testing.T) { config, err := LoadConfig(filepath.Join(FixturePath, "config.hcl")) if err != nil { t.Fatalf("err: %s", err) } expected := &DefaultConfig{ TokenHelper: "foo", } if !reflect.DeepEqual(expected, config) { t.Fatalf("bad: %#v", config) } } func TestLoadConfig_noExist(t *testing.T) { config, err := LoadConfig("nope/not-once/.never") if err != nil { t.Fatal(err) } if config.TokenHelper != "" { t.Errorf("expected %q to be %q", config.TokenHelper, "") } } func TestParseConfig_badKeys(t *testing.T) { _, err := ParseConfig(` token_helper = "/token" nope = "true" `) if err == nil { t.Fatal("expected error") } if !strings.Contains(err.Error(), `invalid key "nope" on line 3`) { t.Errorf("bad error: %s", err.Error()) } }