open-vault/api/renewer_test.go

73 lines
959 B
Go

package api
import (
"testing"
"github.com/go-test/deep"
)
func TestRenewer_NewRenewer(t *testing.T) {
t.Parallel()
client, err := NewClient(DefaultConfig())
if err != nil {
t.Fatal(err)
}
cases := []struct {
name string
i *RenewerInput
e *Renewer
err bool
}{
{
"nil",
nil,
nil,
true,
},
{
"missing_secret",
&RenewerInput{
Secret: nil,
},
nil,
true,
},
{
"default_grace",
&RenewerInput{
Secret: &Secret{},
},
&Renewer{
secret: &Secret{},
},
false,
},
}
for _, tc := range cases {
t.Run(tc.name, func(t *testing.T) {
v, err := client.NewRenewer(tc.i)
if (err != nil) != tc.err {
t.Fatal(err)
}
if v == nil {
return
}
// Zero-out channels because reflect
v.client = nil
v.random = nil
v.doneCh = nil
v.renewCh = nil
v.stopCh = nil
if diff := deep.Equal(tc.e, v); diff != nil {
t.Error(diff)
}
})
}
}