mirror of
https://github.com/safedep/pmg.git
synced 2026-08-03 07:24:09 +02:00
46 lines
1.2 KiB
Go
46 lines
1.2 KiB
Go
package config
|
|||
|
|
|
||
|
|
import (
|
||
|
|
"os"
|
||
|
|
"path/filepath"
|
||
|
|
"testing"
|
||
|
|
|
||
|
|
"github.com/stretchr/testify/assert"
|
||
|
|
)
|
||
|
|
|
||
|
|
func TestConfigIsNeverNil(t *testing.T) {
|
||
|
|
config := Get()
|
||
|
|
assert.NotNil(t, config)
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestConfigHasDefaultValues(t *testing.T) {
|
||
|
|
t.Run("with non-existent config directory", func(t *testing.T) {
|
||
|
|
t.Setenv("PMG_CONFIG_DIR", "/tmp/pmg-test/random-does-not-exist")
|
||
|
|
initConfig()
|
||
|
|
|
||
|
|
config := Get()
|
||
|
|
assert.Equal(t, true, config.Config.Transitive)
|
||
|
|
assert.Equal(t, 5, config.Config.TransitiveDepth)
|
||
|
|
assert.Equal(t, false, config.Config.IncludeDevDependencies)
|
||
|
|
assert.Equal(t, false, config.Config.Paranoid)
|
||
|
|
assert.Equal(t, []TrustedPackage{}, config.Config.TrustedPackages)
|
||
|
|
assert.Equal(t, "/tmp/pmg-test/random-does-not-exist", config.configDir)
|
||
|
|
assert.Equal(t, "/tmp/pmg-test/random-does-not-exist/config.yml", config.configFilePath)
|
||
|
|
})
|
||
|
|
|
||
|
|
t.Run("when no config directory is set", func(t *testing.T) {
|
||
|
|
t.Setenv("PMG_CONFIG_DIR", "")
|
||
|
|
initConfig()
|
||
|
|
|
||
|
|
config := Get()
|
||
|
|
|
||
|
|
userConfigDir, err := os.UserConfigDir()
|
||
|
|
if err != nil {
|
||
|
|
t.Fatal(err)
|
||
|
|
}
|
||
|
|
|
||
|
|
assert.Equal(t, filepath.Join(userConfigDir, "safedep/pmg"), config.configDir)
|
||
|
|
assert.Equal(t, filepath.Join(userConfigDir, "safedep/pmg/config.yml"), config.configFilePath)
|
||
|
|
})
|
||
|
|
}
|