Skip to content

Commit

Permalink
Add tests for scaledJob identifier
Browse files Browse the repository at this point in the history
Signed-off-by: Yoon Park <[email protected]>
  • Loading branch information
yoongon committed Jul 8, 2023
1 parent 3fd8e6c commit 0cc56d2
Showing 1 changed file with 93 additions and 31 deletions.
124 changes: 93 additions & 31 deletions apis/keda/v1alpha1/identifier_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,39 +14,37 @@ type testData struct {
soKind string
}

var tests = []testData{
{
name: "all lowercase",
expectedIdentifier: "scaledobject.namespace.name",
soName: "name",
soNamespace: "namespace",
soKind: "scaledobject",
},
{
name: "all uppercase",
expectedIdentifier: "scaledobject.namespace.name",
soName: "NAME",
soNamespace: "NAMESPACE",
soKind: "SCALEDOBJECT",
},
{
name: "camel case",
expectedIdentifier: "scaledobject.namespace.name",
soName: "name",
soNamespace: "namespace",
soKind: "scaledobject",
},
{
name: "missing namespace",
expectedIdentifier: "scaledobject..name",
soName: "name",
soKind: "scaledobject",
},
}

func TestGeneratedIdentifierForScaledObject(t *testing.T) {
tests := []testData{
{
name: "all lowercase",
expectedIdentifier: "scaledobject.namespace.name",
soName: "name",
soNamespace: "namespace",
soKind: "scaledobject",
},
{
name: "all uppercase",
expectedIdentifier: "scaledobject.namespace.name",
soName: "NAME",
soNamespace: "NAMESPACE",
soKind: "SCALEDOBJECT",
},
{
name: "camel case",
expectedIdentifier: "scaledobject.namespace.name",
soName: "name",
soNamespace: "namespace",
soKind: "scaledobject",
},
{
name: "missing namespace",
expectedIdentifier: "scaledobject..name",
soName: "name",
soKind: "scaledobject",
},
}
for _, test := range tests {
test := test
t.Run(test.name, func(t *testing.T) {
expectedIdentifier := test.expectedIdentifier
genericIdentifier := GenerateIdentifier(test.soKind, test.soNamespace, test.soName)
Expand Down Expand Up @@ -79,3 +77,67 @@ func TestGeneratedIdentifierForScaledObject(t *testing.T) {
})
}
}

func TestGeneratedIdentifierForScaledJob(t *testing.T) {
tests := []testData{
{
name: "all lowercase",
expectedIdentifier: "scaledjob.namespace.name",
soName: "name",
soNamespace: "namespace",
soKind: "scaledjob",
},
{
name: "all uppercase",
expectedIdentifier: "scaledjob.namespace.name",
soName: "NAME",
soNamespace: "NAMESPACE",
soKind: "SCALEDJOB",
},
{
name: "camel case",
expectedIdentifier: "scaledjob.namespace.name",
soName: "name",
soNamespace: "namespace",
soKind: "scaledjob",
},
{
name: "missing namespace",
expectedIdentifier: "scaledjob..name",
soName: "name",
soKind: "scaledjob",
},
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
expectedIdentifier := test.expectedIdentifier
genericIdentifier := GenerateIdentifier(test.soKind, test.soNamespace, test.soName)

scaledJob := &ScaledJob{
ObjectMeta: metav1.ObjectMeta{
Name: test.soName,
Namespace: test.soNamespace,
},
}
scaledJobIdentifier := scaledJob.GenerateIdentifier()

withTriggers, err := AsDuckWithTriggers(scaledJob)
if err != nil {
t.Errorf("got error while converting to WithTriggers object: %s", err)
}
withTriggersIdentifier := withTriggers.GenerateIdentifier()

if expectedIdentifier != genericIdentifier {
t.Errorf("genericIdentifier=%q doesn't equal the expectedIdentifier=%q", genericIdentifier, expectedIdentifier)
}

if expectedIdentifier != scaledJobIdentifier {
t.Errorf("scaledJobIdentifier=%q doesn't equal the expectedIdentifier=%q", scaledJobIdentifier, expectedIdentifier)
}

if expectedIdentifier != withTriggersIdentifier {
t.Errorf("withTriggersIdentifier=%q doesn't equal the expectedIdentifier=%q", withTriggersIdentifier, expectedIdentifier)
}
})
}
}

0 comments on commit 0cc56d2

Please sign in to comment.