4d5a39e622
The only caller of this method was removed in a recent commit along with replication.
90 lines
2.2 KiB
Go
90 lines
2.2 KiB
Go
package structs
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestStructs_ACL_Convert(t *testing.T) {
|
|
|
|
acl := &ACL{
|
|
ID: "guid",
|
|
Name: "AN ACL for testing",
|
|
Type: "client",
|
|
Rules: `service "" { policy "read" }`,
|
|
}
|
|
|
|
token := acl.Convert()
|
|
require.Equal(t, "", token.AccessorID)
|
|
require.Equal(t, acl.ID, token.SecretID)
|
|
require.Equal(t, acl.Type, token.Type)
|
|
require.Equal(t, acl.Name, token.Description)
|
|
require.Nil(t, token.Policies)
|
|
require.False(t, token.Local)
|
|
require.Equal(t, acl.Rules, token.Rules)
|
|
require.Equal(t, acl.CreateIndex, token.CreateIndex)
|
|
require.Equal(t, acl.ModifyIndex, token.ModifyIndex)
|
|
require.NotEmpty(t, token.Hash)
|
|
}
|
|
|
|
func TestStructs_ACLToken_Convert(t *testing.T) {
|
|
|
|
t.Run("Management", func(t *testing.T) {
|
|
token := &ACLToken{
|
|
AccessorID: "6c4eb178-c7f3-4620-b899-91eb8696c265",
|
|
SecretID: "67c29ecd-cabc-42e0-a20e-771e9a1ab70c",
|
|
Description: "new token",
|
|
Policies: []ACLTokenPolicyLink{
|
|
{
|
|
ID: ACLPolicyGlobalManagementID,
|
|
},
|
|
},
|
|
Type: ACLTokenTypeManagement,
|
|
}
|
|
|
|
acl, err := token.Convert()
|
|
require.NoError(t, err)
|
|
require.Equal(t, token.SecretID, acl.ID)
|
|
require.Equal(t, token.Type, acl.Type)
|
|
require.Equal(t, token.Description, acl.Name)
|
|
require.Equal(t, "", acl.Rules)
|
|
})
|
|
|
|
t.Run("Client", func(t *testing.T) {
|
|
token := &ACLToken{
|
|
AccessorID: "6c4eb178-c7f3-4620-b899-91eb8696c265",
|
|
SecretID: "67c29ecd-cabc-42e0-a20e-771e9a1ab70c",
|
|
Description: "new token",
|
|
Policies: nil,
|
|
Type: ACLTokenTypeClient,
|
|
Rules: `acl = "read"`,
|
|
}
|
|
|
|
acl, err := token.Convert()
|
|
require.NoError(t, err)
|
|
require.Equal(t, token.SecretID, acl.ID)
|
|
require.Equal(t, token.Type, acl.Type)
|
|
require.Equal(t, token.Description, acl.Name)
|
|
require.Equal(t, token.Rules, acl.Rules)
|
|
})
|
|
|
|
t.Run("Unconvertible", func(t *testing.T) {
|
|
token := &ACLToken{
|
|
AccessorID: "6c4eb178-c7f3-4620-b899-91eb8696c265",
|
|
SecretID: "67c29ecd-cabc-42e0-a20e-771e9a1ab70c",
|
|
Description: "new token",
|
|
Policies: []ACLTokenPolicyLink{
|
|
{
|
|
ID: ACLPolicyGlobalManagementID,
|
|
},
|
|
},
|
|
}
|
|
|
|
acl, err := token.Convert()
|
|
require.Error(t, err)
|
|
require.Nil(t, acl)
|
|
})
|
|
|
|
}
|