diff options
Diffstat (limited to 'client_options_test.go')
| -rw-r--r-- | client_options_test.go | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/client_options_test.go b/client_options_test.go new file mode 100644 index 0000000..0d865f3 --- /dev/null +++ b/client_options_test.go @@ -0,0 +1,56 @@ +// SPDX-FileCopyrightText: 2023 M. Shulhan <ms@kilabit.info> +// SPDX-License-Identifier: GPL-3.0-or-later + +package duitku + +import ( + "encoding/json" + "testing" + + "github.com/shuLhan/share/lib/ini" + "github.com/shuLhan/share/lib/test" +) + +func TestLoadClientOptions(t *testing.T) { + var ( + tdata *test.Data + err error + ) + + tdata, err = test.LoadData(`testdata/client_options_test.txt`) + if err != nil { + t.Fatal(err) + } + + var ( + opts ClientOptions + tag string + data []byte + ) + + data = tdata.Input[`all.conf`] + + err = ini.Unmarshal(data, &opts) + if err != nil { + t.Fatal(err) + } + + err = opts.initAndValidate() + if err != nil { + t.Fatal(err) + } + + var ( + exp []byte + got []byte + ) + + got, err = json.MarshalIndent(&opts, ``, ` `) + if err != nil { + t.Fatal(err) + } + + tag = `all.json` + exp = tdata.Output[tag] + test.Assert(t, tag, string(exp), string(got)) +} |
