Fix flakey tests related to ACL token updates

pull/16545/head
Ronald Ekambi 2 years ago
parent 63204b5183
commit 76a5d2fac4

@ -109,22 +109,6 @@ func TestTokenUpdateCommand(t *testing.T) {
require.ElementsMatch(t, expected, token.NodeIdentities)
})
// update with append-node-identity
t.Run("append-node-identity", func(t *testing.T) {
token := run(t, []string{
"-http-addr=" + a.HTTPAddr(),
"-accessor-id=" + token.AccessorID,
"-token=root",
"-append-node-identity=third:node",
"-description=test token",
})
require.Len(t, token.NodeIdentities, 3)
require.Equal(t, "third", token.NodeIdentities[2].NodeName)
require.Equal(t, "node", token.NodeIdentities[2].Datacenter)
})
// update with policy by name
t.Run("policy-name", func(t *testing.T) {
token := run(t, []string{
@ -165,19 +149,6 @@ func TestTokenUpdateCommand(t *testing.T) {
require.Equal(t, "service", token.ServiceIdentities[0].ServiceName)
})
// update with append-service-identity
t.Run("append-service-identity", func(t *testing.T) {
token := run(t, []string{
"-http-addr=" + a.HTTPAddr(),
"-accessor-id=" + token.AccessorID,
"-token=root",
"-append-service-identity=web",
"-description=test token",
})
require.Len(t, token.ServiceIdentities, 2)
require.Equal(t, "web", token.ServiceIdentities[1].ServiceName)
})
// update with no description shouldn't delete the current description
t.Run("merge-description", func(t *testing.T) {
token := run(t, []string{
@ -219,13 +190,6 @@ func TestTokenUpdateCommandWithAppend(t *testing.T) {
)
require.NoError(t, err)
// create a token
token, _, err := client.ACL().TokenCreate(
&api.ACLToken{Description: "test", Policies: []*api.ACLTokenPolicyLink{{Name: policy.Name}}},
&api.WriteOptions{Token: "root"},
)
require.NoError(t, err)
//secondary policy
secondPolicy, _, policyErr := client.ACL().PolicyCreate(
&api.ACLPolicy{Name: "secondary-policy"},
@ -233,13 +197,6 @@ func TestTokenUpdateCommandWithAppend(t *testing.T) {
)
require.NoError(t, policyErr)
//third policy
thirdPolicy, _, policyErr := client.ACL().PolicyCreate(
&api.ACLPolicy{Name: "third-policy"},
&api.WriteOptions{Token: "root"},
)
require.NoError(t, policyErr)
run := func(t *testing.T, args []string) *api.ACLToken {
ui := cli.NewMockUi()
cmd := New(ui)
@ -255,7 +212,14 @@ func TestTokenUpdateCommandWithAppend(t *testing.T) {
// update with append-policy-name
t.Run("append-policy-name", func(t *testing.T) {
token := run(t, []string{
// create a token
token, _, err := client.ACL().TokenCreate(
&api.ACLToken{Description: "test", Policies: []*api.ACLTokenPolicyLink{{Name: policy.Name}}},
&api.WriteOptions{Token: "root"},
)
require.NoError(t, err)
responseToken := run(t, []string{
"-http-addr=" + a.HTTPAddr(),
"-accessor-id=" + token.AccessorID,
"-token=root",
@ -263,20 +227,77 @@ func TestTokenUpdateCommandWithAppend(t *testing.T) {
"-description=test token",
})
require.Len(t, token.Policies, 2)
require.Len(t, responseToken.Policies, 2)
})
// update with append-policy-id
t.Run("append-policy-id", func(t *testing.T) {
token := run(t, []string{
// create a token
token, _, err := client.ACL().TokenCreate(
&api.ACLToken{Description: "test", Policies: []*api.ACLTokenPolicyLink{{Name: policy.Name}}},
&api.WriteOptions{Token: "root"},
)
require.NoError(t, err)
responseToken := run(t, []string{
"-http-addr=" + a.HTTPAddr(),
"-accessor-id=" + token.AccessorID,
"-token=root",
"-append-policy-id=" + secondPolicy.ID,
"-description=test token",
})
require.Len(t, responseToken.Policies, 2)
})
// update with append-node-identity
t.Run("append-node-identity", func(t *testing.T) {
// create a token
token, _, err := client.ACL().TokenCreate(
&api.ACLToken{
Description: "test",
Policies: []*api.ACLTokenPolicyLink{{Name: policy.Name}},
NodeIdentities: []*api.ACLNodeIdentity{{NodeName: "namenode", Datacenter: "somewhere"}},
},
&api.WriteOptions{Token: "root"},
)
require.NoError(t, err)
responseToken := run(t, []string{
"-http-addr=" + a.HTTPAddr(),
"-accessor-id=" + token.AccessorID,
"-token=root",
"-append-policy-id=" + thirdPolicy.ID,
"-append-node-identity=third:node",
"-description=test token",
})
require.Len(t, token.Policies, 3)
require.Len(t, responseToken.NodeIdentities, 2)
require.Equal(t, "third", responseToken.NodeIdentities[1].NodeName)
require.Equal(t, "node", responseToken.NodeIdentities[1].Datacenter)
})
// update with append-service-identity
t.Run("append-service-identity", func(t *testing.T) {
// create a token
token, _, err := client.ACL().TokenCreate(
&api.ACLToken{
Description: "test",
Policies: []*api.ACLTokenPolicyLink{{Name: policy.Name}},
ServiceIdentities: []*api.ACLServiceIdentity{{ServiceName: "service"}},
},
&api.WriteOptions{Token: "root"},
)
require.NoError(t, err)
responseToken := run(t, []string{
"-http-addr=" + a.HTTPAddr(),
"-accessor-id=" + token.AccessorID,
"-token=root",
"-append-service-identity=web",
"-description=test token",
})
require.Len(t, responseToken.ServiceIdentities, 2)
require.Equal(t, "web", responseToken.ServiceIdentities[1].ServiceName)
})
}

Loading…
Cancel
Save