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
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
Adam Sherwood
1a0c4a370c
Feature/write config ( #287 )
...
* Added method to write into TOML file.
* Added functionality to export configuration based on config type. The feature supports JSON and TOML.
* Added method to write into YAML file.
* Fixed the issue of incorrect defer and error checking order. The error checking must be first otherwise it will cause panic.
* Add WriteConfig methods
* Add support for toml
* Add shared write function and safe methods
* Fix incorrectly modified imports
* Remove extra comments
* Fix spelling
* Make marshal spelling consistent throughout
* Add support for remaining configuration types
This commit moves a significant portion of the code back to viper.go to
facilitate having access to the object when reading the files. The purpose is to
add properties to the viper object at read time, so that we can add the comments
back to the file when writing.
* Add tests for each written file type
* Modify test for updated HCL specification
* Modify to only support HCL write in Go 1.7
* Revert "Modify to only support HCL write in Go 1.7"
This reverts commit 12b34bc4eb92cbf8ebfd56b79519f448607e3e51.
* Need to truncate the file before writing
* Write all settings including overrides
* Use filename variable
* Lint remote.go
* Fix toml return count error
2017-12-06 23:26:31 -05:00
Kamil Wargula
8ef37cbca7
Fix incorrect name of function in README.md
...
Change `SetEnvReplacer` to `SetEnvKeyReplacer`
2017-10-20 12:40:09 +02:00
Paweł Szczur
0967fc9ace
Properly handle string slice values
2017-04-17 10:08:15 +02:00
Miguel Eduardo Gil Biraud
5d46e70da8
Fix UnmarshalKey handling of time.Duration
...
* Failing test for key unmarshaling with nested structs containing time.Duration
* Fix UnmarshalKey to use of defaultDecoderConfig
2017-04-10 11:26:50 +02:00
Kevin GEORGES
5ed0fc31f7
Fix MergeInConfig error return
...
UnsupportedConfigError was returned if config file not found
* Swap getConfigFile and getConfigType call
* Add a unit test
2016-12-13 10:38:49 +01:00