Skip to content

Commit

Permalink
test: Add tests for different users from creator labels in util.go
Browse files Browse the repository at this point in the history
Signed-off-by: Jinsu Park <dev.umijs@gmail.com>
  • Loading branch information
umi0410 committed Jul 22, 2023
1 parent b6ea4d9 commit becb751
Showing 1 changed file with 55 additions and 0 deletions.
55 changes: 55 additions & 0 deletions workflow/util/util_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,17 @@ import (
"testing"
"time"

"github.com/go-jose/go-jose/v3/jwt"
"github.com/stretchr/testify/assert"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/fields"
"sigs.k8s.io/yaml"

"github.com/argoproj/argo-workflows/v3/server/auth"
"github.com/argoproj/argo-workflows/v3/server/auth/types"

"github.com/argoproj/argo-workflows/v3/pkg/apis/workflow"
wfv1 "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1"
argofake "github.com/argoproj/argo-workflows/v3/pkg/client/clientset/versioned/fake"
Expand Down Expand Up @@ -655,6 +659,57 @@ func TestFormulateResubmitWorkflow(t *testing.T) {
assert.Equal(t, "testObj", wf.OwnerReferences[0].Name)
}
})
t.Run("OverrideCreatorLabels", func(t *testing.T) {
wf := &wfv1.Workflow{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
common.LabelKeyCreator: "xxxx-xxxx-xxxx",
common.LabelKeyCreatorEmail: "foo.at.example.com",
common.LabelKeyCreatorPreferredUsername: "foo",
},
OwnerReferences: []metav1.OwnerReference{
{
APIVersion: "test",
Name: "testObj",
},
},
},
}
ctx := context.WithValue(context.Background(), auth.ClaimsKey, &types.Claims{
Claims: jwt.Claims{Subject: "yyyy-yyyy-yyyy-yyyy"},
Email: "bar.at.example.com",
PreferredUsername: "bar",
})
wf, err := FormulateResubmitWorkflow(ctx, wf, false, nil)
if assert.NoError(t, err) {
assert.Equal(t, "yyyy-yyyy-yyyy-yyyy", wf.Labels[common.LabelKeyCreator])
assert.Equal(t, "bar.at.example.com", wf.Labels[common.LabelKeyCreatorEmail])
assert.Equal(t, "bar", wf.Labels[common.LabelKeyCreatorPreferredUsername])
}
})
t.Run("UnlabelCreatorLabels", func(t *testing.T) {
wf := &wfv1.Workflow{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
common.LabelKeyCreator: "xxxx-xxxx-xxxx",
common.LabelKeyCreatorEmail: "foo.at.example.com",
common.LabelKeyCreatorPreferredUsername: "foo",
},
OwnerReferences: []metav1.OwnerReference{
{
APIVersion: "test",
Name: "testObj",
},
},
},
}
wf, err := FormulateResubmitWorkflow(context.Background(), wf, false, nil)
if assert.NoError(t, err) {
assert.Emptyf(t, wf.Labels[common.LabelKeyCreator], "should not %s label when a workflow is resubmitted by an unauthenticated request", common.LabelKeyCreator)
assert.Emptyf(t, wf.Labels[common.LabelKeyCreatorEmail], "should not %s label when a workflow is resubmitted by an unauthenticated request", common.LabelKeyCreatorEmail)
assert.Emptyf(t, wf.Labels[common.LabelKeyCreatorPreferredUsername], "should not %s label when a workflow is resubmitted by an unauthenticated request", common.LabelKeyCreatorPreferredUsername)
}
})
t.Run("OverrideParams", func(t *testing.T) {
wf := &wfv1.Workflow{
Spec: wfv1.WorkflowSpec{Arguments: wfv1.Arguments{
Expand Down

0 comments on commit becb751

Please sign in to comment.