dylandreimerink
33bcdc91ea
Added support for accessing slices ( #861 )
...
* Added support for accessing slices
* Processed PR feedback
- renamed searchMapWithPathPrefixes to searchIndexableWithPathPrefixes
- moved source type specific search logic to speparate functions
- Inverted if statments to avoid the arrow pattern
* Quickly return from searchSliceWithPathPrefixes and searchMapWithPathPrefixes functions without intermediate variables
2020-10-04 20:07:34 +02:00
Mark Sagi-Kazar
82c2ddf493
Fix tests broken by mapstructure update
...
Mapstructure so far returned nil for empty string slices.
In a recent version this bug has been fixed:
https://github.com/mitchellh/mapstructure/pull/155
Incidentally, this was a bug in Viper too:
GetStringSlice and Unmarshal returned with different values.
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
2020-09-30 15:03:37 +02:00
Mark Sagi-Kazar
cfcfed504d
refactor: add setenv helper for tests
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
2020-09-30 13:15:51 +02:00
Gabriel Aszalos
b655224c01
Allow BindEnv to register multiple environment variables.
...
This change modifies BindEnv to permit a list of environment variable
names in order to support multiple env. vars. for the same config key.
When this form is used, env. keys take precedence in the written order.
Closes #971
2020-09-30 12:44:21 +02:00
Dan Rollo
a0285163e1
ensure BindPFlag() detects a nil flag parameter before wrapping in pflagValue.
2020-09-23 19:29:16 +02:00
Mark Sagi-Kazar
a5152092c6
Improve lint rules
...
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
2020-09-11 17:53:37 +02: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
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