[#857] config: allow to parse sizes with suffix
The code is taken from viper as `cast` package that we use doesn't have needed converter. Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
This commit is contained in:
parent
b8ba677c85
commit
a0abf10c8e
4 changed files with 100 additions and 0 deletions
|
@ -115,3 +115,22 @@ func TestNumbers(t *testing.T) {
|
|||
require.Zero(t, config.UintSafe(c, incorrect))
|
||||
})
|
||||
}
|
||||
|
||||
func TestSizeInBytes(t *testing.T) {
|
||||
const (
|
||||
kb = 1024
|
||||
mb = 1024 * kb
|
||||
gb = 1024 * mb
|
||||
tb = 1024 * gb
|
||||
)
|
||||
configtest.ForEachFileType("test/config", func(c *config.Config) {
|
||||
c = c.Sub("sizes")
|
||||
require.EqualValues(t, kb, config.SizeInBytesSafe(c, "size_kb"))
|
||||
require.EqualValues(t, 2*kb, config.SizeInBytesSafe(c, "size_kb_no_space"))
|
||||
require.EqualValues(t, 12*mb, config.SizeInBytesSafe(c, "size_mb"))
|
||||
require.EqualValues(t, 4*gb, config.SizeInBytesSafe(c, "size_gb"))
|
||||
require.EqualValues(t, 5*tb, config.SizeInBytesSafe(c, "size_tb"))
|
||||
require.EqualValues(t, 2048, config.SizeInBytesSafe(c, "size_bytes"))
|
||||
require.EqualValues(t, 123456, config.SizeInBytesSafe(c, "size_bytes_no_suffix"))
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue