Nathan Trujillo
34e4a3a571
Merge branch 'master' of https://github.com/spf13/viper
...
# Conflicts:
# go.mod
# go.sum
# viper_test.go
2020-06-16 12:28:38 -07:00
Trevor Foster
3856c05f99
Fix: Getting the value of a StringToString pflag ( #874 )
...
* add parsing for stringToString flags
* add logic to return flags default if not val set, add a test
* extract parsing into single func
* add a few more cases
* return nil if unable to parse instead of panicing
* return map[string]interface in order to work with cast.ToStringMap
* mostly copy pflags implementation of the conversion to a stringtostring
2020-05-09 11:38:39 +02:00
Gustavo Bazan
97ee7adfef
Add support to save file with no extension ( #813 )
...
* Add support to save file with no extension
The support introduced for files with no file extension is only partial as trying to save the config file would fail with `<file name> requires valid extension`
This adds support to saving such files
2020-02-20 00:41:04 +01:00
Pedro Silva
9cd571279d
Extensionless files only allowed when config type is set ( #827 )
...
* Only consider files without extension if the config type is explicitly specified
* Hides unused variable in test
* First check for config type then for file without extension
2020-01-16 19:23:50 +01:00
Mark Sagi-Kazar
eabbc68a3e
Fix file path lookup
2019-12-06 17:29:42 +01:00
Mark Sagi-Kazar
4ad4c8df70
Add string replacer interface and env key replacer option
2019-12-06 14:13:46 +01:00
Mark Sagi-Kazar
a842b8f618
Replace SetKeyDelimiter with functional options
2019-12-06 14:01:42 +01:00
Mark Sagi-Kazar
a73303ee89
Add key delimiter setter
2019-12-06 14:01:42 +01:00
Mark Sagi-Kazar
2fd264d3d1
Fix misspell
2019-12-06 13:00:52 +01:00
Mark Sagi-Kazar
8b7fbcaa4b
Fix golint
2019-12-06 13:00:52 +01:00
Mark Sagi-Kazar
7b5adba788
Fix whitespace
2019-12-06 13:00:52 +01:00
Mark Sagi-Kazar
e316012b4d
Fix gofmt
2019-12-06 13:00:52 +01:00
Matti R
351bfe9719
loop through ini sections
...
pass tests
write out ini file & tests
go fmt
Update viper_test.go
fix test
gofmt
2019-12-06 09:02:54 +01:00
javaducky
3a19b6e0d9
Review updates to utilize afero for file checks and updated checks on unit tests
2019-12-06 08:36:52 +01:00
javaducky
a708479794
Updating SafeWriteConfig and SafeWriteConfigAs to match documented behavior.
...
Methods should throw an error if the config file already exists or if no configpath is configured when not explicitly requesting a write path.
2019-12-06 08:36:52 +01:00
Benoit Masson
4e1ebbdaba
Added tests to TestIsSet()
...
Added tests for:
- nested elements
- environment values
- flags (currently fails => IsSet() always returns true,
due to the default value of the flag)
2019-11-29 21:16:13 +01:00
Pedro Silva
d1c60d9e69
Support config files with no extensions ( #722 )
...
* Support config files with no extensions
* Update README informing config files without extension are supported
2019-11-06 14:54:13 +01:00
Mark Sagi-Kazar
71509d2887
Revert the effective changes of #673
2019-09-28 12:02:57 +02:00
Mark Sagi-Kazar
398adc5a7d
Add breaking test that requires reverting #673
2019-09-28 12:02:57 +02:00
inkychris
99520c81d8
Implemented ability to unmarshal keys containing dots to structs.
...
Changed formatting of test objects for better git diffing and readibility.
Fixed failing tests on Windows.
2019-09-11 16:03:08 +02:00
Christian Muehlhaeuser
33bf76add3
Simplify code
...
Removed unnecessary conversions.
2019-07-29 18:37:00 +02:00
Christian Muehlhaeuser
1b33e8258e
Add error handling
...
Added error handling around ineffectual err assignments. Please review
thoroughly.
2019-07-28 14:50:13 +02:00
CodeLingo Bot
275a36d0a0
Fix function comments based on best practices from Effective Go
...
Signed-off-by: CodeLingo Bot <bot@codelingo.io>
2019-07-13 12:11:16 +02:00
AGirard
b8221cf4ee
Add GetIntSlice helper method
2019-07-13 12:04:36 +02:00
Márk Sági-Kazár
ad5ed02fa4
Add support for int slice flags ( #637 )
...
* Add support for int slice flags
* Add int slice test to unmarshal
2019-06-11 16:51:57 -04:00
mexisme
3620d3d9e1
Support .env
format files ( #528 )
...
* Support `.env` format files
* Missing "dotenv" from SupportedExtns
2019-06-11 16:47:43 -04:00
Anthony Fok
2bd2732789
Use GetInt64 for largenum in viper_test.go
...
to prevent overflow error on 32-bit platforms.
Fixes #704
2019-05-24 11:53:49 -06:00
Anthony Fok
93066f92c6
Fix typo in viper_test.go: lagrenum → largenum
2019-05-24 07:40:12 -06:00
Mitch Connors
7a605a50e6
Uint Support ( #681 )
...
* add GetUint/GetUint32/GetUint64
* Add Get(string) support for uint.
2019-04-08 10:06:45 -04:00
Bjørn Erik Pedersen
6d33b5a963
Make the map in MergeConfigMap case insensitive
2018-12-07 11:03:36 +01:00
Bjørn Erik Pedersen
41cd1c3aa3
Restrict Travis to >= Go 1.11, use Go Modules, and get the test to pass
2018-12-05 17:13:47 +01:00
Bjørn Erik Pedersen
3535c75fa8
Add MergeConfigMap
...
Fixes #605
2018-12-05 17:13:47 +01:00
Bjørn Erik Pedersen
06c7c0d9b3
Use assert.EqualValues for slice checking
2018-11-19 10:38:40 +01:00
Benoit Masson
ae103d7e59
Moved shared resources out of the loops in TestBindPFlagsStringSlice()
...
Common code and resources put out of the loops, to improve
efficiency and readability.
2018-11-07 12:08:59 +01:00
Benoit Masson
69647fb422
Fixed TestBindPFlagsStringSlice()
...
Replaced Visit() by VisitAll(), so that the Changed attribute of
the updated flag is correctly set.
2018-11-07 12:08:59 +01:00
Benoit Masson
cc7e906d88
Updated TestBindPFlagsStringSlice() to highlight a failure
...
When pflag marked as changed, the value is not detected
(and lower priority value used)
2018-11-07 12:08:59 +01:00
Márk Sági-Kazár
b7a3b95476
Lookup environment variables instead of checking if the value is empty
...
This commit adds an `AllowEmptyEnv` option that, default off, that when set will allow set, but empty, environment variables
Fixes #317
2018-11-06 22:53:21 +01:00
Nathan Trujillo
d09390e250
Add method GetStringEnv
which will interpolate values which look like environmental variables and return them;
2018-10-17 18:35:50 -07:00
Andrew Stuart
8e194e8ad2
Merge branch 'master' into mergefix/Issue284_Kubernetes_config
2018-09-28 01:05:04 -07:00
Andrew Stuart
0d783e7344
Use test log
2018-09-28 01:04:19 -07:00
Dr. Tobias Quathamer
0ac2068de9
Fix overflow error on 32 bit architectures ( #340 )
...
* Handle int64 separately for 32 bit architectures
* Remove tests which result in an overflow error on 32 bit architectures
2018-09-01 14:59:01 -06:00
Xavier Coulon
41f829b2c9
refactor test to avoid negative counter on WG
...
Signed-off-by: Xavier Coulon <xcoulon@redhat.com>
2018-08-06 09:29:13 +02:00
Xavier Coulon
e12d3d32d1
Merge branch 'master' into Issue284_Kubernetes_config
2018-08-06 08:18:53 +02:00
Chris Reeves
907c19d40d
Support customising mapstructure.DecoderConfig for Unmarshal
...
* Added a new `DecoderConfigOption` type allowing the user to write custom
functions that can override the default mapstructure.DecoderConfig
settings
* Added a new `DecodeHook` function which returns
a `DecoderConfigOption`. This allows the user to easily set their own
Decode hooks when Unmarshaling
* Updated Unmarshal, UnmarshalKey and defaultDecoderConfig to support variadic
trailing `DecoderConfigOption` functions to allow for customisation of
the default mapstructure.DecoderConfig
* Added a test case with example usage
2018-08-03 14:57:45 +02:00
Xavier Coulon
c1250e5dd7
apply review comments
...
use masks for checking the events.
Signed-off-by: Xavier Coulon <xcoulon@redhat.com>
2018-07-13 10:30:23 +02:00
Xavier Coulon
242f4890f5
Refactor with WaitGroup and check channel is open
...
Signed-off-by: Xavier Coulon <xcoulon@redhat.com>
2018-05-24 10:09:29 +02:00
Travis Jeffery
15738813a0
Add GetInt32
2018-05-07 09:10:07 +02:00
Bjørn Erik Pedersen
b5e8006cbe
Undexport GetConfigFile
...
It was exported in previous commit, but we have GetConfigFileUsed -- so use that.
2018-03-19 19:50:19 +01:00
Bjørn Erik Pedersen
00ed41cdba
Export and fix GetConfigFile
2018-03-19 19:12:24 +01:00
Xavier Coulon
e0f7631cf3
WatchConfig and Kubernetes ( #284 )
...
Support override of symlink to config file
Include tests for WatchConfig of regular files, as well
as config file which links to a folder which is itself a
link to another folder in the same "watch dir" (the way
Kubernetes exposes config files from ConfigMaps mounted
on a volume in a Pod)
Also:
- Add synchronization with WaitGroup to ensure that the WatchConfig
is properly started before returning
- Remove the watcher when the Config file is removed.
Fixes #284
Signed-off-by: Xavier Coulon <xcoulon@redhat.com>
2018-01-03 10:37:18 +01:00