fix: issues discovered by invocation validation tests
This commit is contained in:
@@ -162,7 +162,7 @@ func (t *Token) IsValidNow() bool {
|
||||
// IsValidNow verifies that the token can be used at the given time, based on expiration or "not before" fields.
|
||||
// This does NOT do any other kind of verifications.
|
||||
func (t *Token) IsValidAt(ti time.Time) bool {
|
||||
if t.expiration == nil && ti.After(*t.expiration) {
|
||||
if t.expiration != nil && ti.After(*t.expiration) {
|
||||
return false
|
||||
}
|
||||
if t.notBefore != nil && ti.Before(*t.notBefore) {
|
||||
|
||||
@@ -94,7 +94,7 @@ func TestToken_ExecutionAllowed(t *testing.T) {
|
||||
|
||||
args := invocationtest.EmptyArguments
|
||||
prf := invocationtest.Proof(t, dlg1TknCIDStr, expiredDlg0TknCIDStr, rootTknCIDStr)
|
||||
testFails(t, invocation.ErrDelegationExpired, []string{"seg0"}, args, prf)
|
||||
testFails(t, invocation.ErrTokenInvalidNow, []string{"seg0"}, args, prf)
|
||||
})
|
||||
|
||||
t.Run("fails - referenced delegation inactive", func(t *testing.T) {
|
||||
@@ -102,7 +102,7 @@ func TestToken_ExecutionAllowed(t *testing.T) {
|
||||
|
||||
args := invocationtest.EmptyArguments
|
||||
prf := invocationtest.Proof(t, dlg1TknCIDStr, inactiveDlg0TknCIDStr, rootTknCIDStr)
|
||||
testFails(t, invocation.ErrDelegationInactive, []string{"seg0"}, args, prf)
|
||||
testFails(t, invocation.ErrTokenInvalidNow, []string{"seg0"}, args, prf)
|
||||
})
|
||||
|
||||
t.Run("fails - last (or only) delegation not root", func(t *testing.T) {
|
||||
@@ -126,7 +126,7 @@ func TestToken_ExecutionAllowed(t *testing.T) {
|
||||
|
||||
args := invocationtest.EmptyArguments
|
||||
prf := invocationtest.Proof(t, dlg0TknCIDStr, rootTknCIDStr)
|
||||
testFails(t, invocation.ErrNotIssuedToInvoker, []string{"seg0"}, args, prf)
|
||||
testFails(t, invocation.ErrBrokenChain, []string{"seg0"}, args, prf)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -26,6 +26,8 @@ func (t *Token) verifyProofs(delegations []*delegation.Token) error {
|
||||
aud = t.subject
|
||||
}
|
||||
|
||||
fmt.Println("Subject:", t.subject, ", Audience:", aud)
|
||||
|
||||
var last *delegation.Token
|
||||
|
||||
// control from the invocation to the root
|
||||
|
||||
Reference in New Issue
Block a user