forked from TrueCloudLab/frostfs-sdk-go
[#248] session: Add Issuer
method
There is a need to duplicate session token owner, e.g. in container created within the session. For such cases we need to have the ability to receive session issuer. Add `Container.Issuer` method. Transform `IssuedBy` to helper function. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
parent
c976332e20
commit
60ef026923
2 changed files with 35 additions and 18 deletions
|
@ -287,7 +287,7 @@ func TestContainerSignature(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestContainer_IssuedBy(t *testing.T) {
|
||||
func TestIssuedBy(t *testing.T) {
|
||||
var (
|
||||
token session.Container
|
||||
issuer user.ID
|
||||
|
@ -296,8 +296,23 @@ func TestContainer_IssuedBy(t *testing.T) {
|
|||
|
||||
user.IDFromKey(&issuer, signer.PublicKey)
|
||||
|
||||
require.False(t, token.IssuedBy(issuer))
|
||||
require.False(t, session.IssuedBy(token, issuer))
|
||||
|
||||
require.NoError(t, token.Sign(signer))
|
||||
require.True(t, token.IssuedBy(issuer))
|
||||
require.True(t, session.IssuedBy(token, issuer))
|
||||
}
|
||||
|
||||
func TestContainer_Issuer(t *testing.T) {
|
||||
var token session.Container
|
||||
signer := randSigner()
|
||||
|
||||
require.Zero(t, token.Issuer())
|
||||
|
||||
require.NoError(t, token.Sign(signer))
|
||||
|
||||
var issuer user.ID
|
||||
|
||||
user.IDFromKey(&issuer, signer.PublicKey)
|
||||
|
||||
require.True(t, token.Issuer().Equals(issuer))
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue