client: add Node.TTLDuration()

This commit is contained in:
Brian Waldon 2015-05-05 11:58:49 -07:00
parent 0b082b7bd4
commit ee9e336fd4
2 changed files with 28 additions and 0 deletions

View File

@ -274,6 +274,11 @@ func (n *Node) String() string {
return fmt.Sprintf("{Key: %s, CreatedIndex: %d, ModifiedIndex: %d, TTL: %d}", n.Key, n.CreatedIndex, n.ModifiedIndex, n.TTL) return fmt.Sprintf("{Key: %s, CreatedIndex: %d, ModifiedIndex: %d, TTL: %d}", n.Key, n.CreatedIndex, n.ModifiedIndex, n.TTL)
} }
// TTLDuration returns the Node's TTL as a time.Duration object
func (n *Node) TTLDuration() time.Duration {
return time.Duration(n.TTL) * time.Second
}
type httpKeysAPI struct { type httpKeysAPI struct {
client httpClient client httpClient
prefix string prefix string

View File

@ -1313,3 +1313,26 @@ func TestHTTPKeysAPIUpdateAction(t *testing.T) {
kAPI := httpKeysAPI{client: &actionAssertingHTTPClient{t: t, act: act}} kAPI := httpKeysAPI{client: &actionAssertingHTTPClient{t: t, act: act}}
kAPI.Update(context.Background(), "/foo", "bar") kAPI.Update(context.Background(), "/foo", "bar")
} }
func TestNodeTTLDuration(t *testing.T) {
tests := []struct {
node *Node
want time.Duration
}{
{
node: &Node{TTL: 0},
want: 0,
},
{
node: &Node{TTL: 97},
want: 97 * time.Second,
},
}
for i, tt := range tests {
got := tt.node.TTLDuration()
if tt.want != got {
t.Errorf("#%d: incorrect duration: want=%v got=%v", i, tt.want, got)
}
}
}