Support lease filters

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
This commit is contained in:
Derek McGowan
2018-07-17 23:34:38 -07:00
parent 00a99c0472
commit 29b72d4ff0
4 changed files with 183 additions and 5 deletions

View File

@@ -109,14 +109,16 @@ func TestContentLeased(t *testing.T) {
func createLease(ctx context.Context, db *DB, name string) (context.Context, func() error, error) {
if err := db.Update(func(tx *bolt.Tx) error {
_, err := NewLeaseManager(tx).Create(ctx, name, nil)
_, err := NewLeaseManager(tx).Create(ctx, leases.WithID(name))
return err
}); err != nil {
return nil, nil, err
}
return leases.WithLease(ctx, name), func() error {
return db.Update(func(tx *bolt.Tx) error {
return NewLeaseManager(tx).Delete(ctx, name)
return NewLeaseManager(tx).Delete(ctx, leases.Lease{
ID: name,
})
})
}, nil
}
@@ -126,7 +128,7 @@ func checkContentLeased(ctx context.Context, db *DB, dgst digest.Digest) error {
if !ok {
return errors.New("no namespace in context")
}
lease, ok := leases.Lease(ctx)
lease, ok := leases.FromContext(ctx)
if !ok {
return errors.New("no lease in context")
}