Skip to content

Commit 9217339

Browse files
committed
Move helper functions to common.go and add tests
1 parent cb43b52 commit 9217339

File tree

5 files changed

+45
-38
lines changed

5 files changed

+45
-38
lines changed

internal/framework/helpers/helpers.go

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package helpers
33

44
import (
55
"bytes"
6-
"crypto/rand"
76
"fmt"
87
"text/template"
98

@@ -88,18 +87,3 @@ func MustExecuteTemplate(templ *template.Template, data interface{}) []byte {
8887

8988
return buf.Bytes()
9089
}
91-
92-
// RandomPrimeNumber generates a random prime number of 64 bits.
93-
// It panics if it fails to generate a random prime number.
94-
func RandomPrimeNumber() int64 {
95-
primeNum, err := rand.Prime(rand.Reader, 64)
96-
if err != nil {
97-
panic(fmt.Errorf("failed to generate random prime number: %w", err))
98-
}
99-
return primeNum.Int64()
100-
}
101-
102-
// UniqueResourceName generates a unique resource name by appending a random prime number to the given name.
103-
func UniqueResourceName(name string) string {
104-
return fmt.Sprintf("%s-%d", name, RandomPrimeNumber())
105-
}

internal/framework/helpers/helpers_test.go

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -109,22 +109,3 @@ func TestMustExecuteTemplatePanics(t *testing.T) {
109109

110110
g.Expect(execute).To(Panic())
111111
}
112-
113-
func TestMustGenerateRandomPrimeNumer(t *testing.T) {
114-
t.Parallel()
115-
g := NewWithT(t)
116-
g.Expect(func() {
117-
_ = helpers.RandomPrimeNumber()
118-
}).ToNot(Panic())
119-
}
120-
121-
func TestMustReturnUniqueResourceName(t *testing.T) {
122-
t.Parallel()
123-
g := NewWithT(t)
124-
125-
name := "test-resource"
126-
uniqueName := helpers.UniqueResourceName(name)
127-
128-
g.Expect(uniqueName).To(HavePrefix(name))
129-
g.Expect(len(uniqueName)).To(BeNumerically(">", len(name)))
130-
}

tests/cel/clientsettingspolicy_test.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
gatewayv1alpha2 "sigs.k8s.io/gateway-api/apis/v1alpha2"
1010

1111
ngfAPIv1alpha1 "github.com/nginx/nginx-gateway-fabric/v2/apis/v1alpha1"
12-
ngfHelpers "github.com/nginx/nginx-gateway-fabric/v2/internal/framework/helpers"
1312
)
1413

1514
func TestClientSettingsPoliciesTargetRefKind(t *testing.T) {
@@ -137,8 +136,8 @@ func validateClientSettingsPolicy(t *testing.T, tt struct {
137136

138137
g.Expect(err).ToNot(HaveOccurred())
139138
policySpec := tt.policySpec
140-
policySpec.TargetRef.Name = gatewayv1alpha2.ObjectName(ngfHelpers.UniqueResourceName(TargetRef))
141-
policyName := ngfHelpers.UniqueResourceName(PolicyName)
139+
policySpec.TargetRef.Name = gatewayv1alpha2.ObjectName(UniqueResourceName(TargetRef))
140+
policyName := UniqueResourceName(PolicyName)
142141

143142
clientSettingsPolicy := &ngfAPIv1alpha1.ClientSettingsPolicy{
144143
ObjectMeta: controllerruntime.ObjectMeta{

tests/cel/common.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package cel
22

33
import (
4+
"crypto/rand"
5+
"fmt"
46
"testing"
57

68
"k8s.io/apimachinery/pkg/runtime"
@@ -55,3 +57,18 @@ func GetKubernetesClient(t *testing.T) (k8sClient client.Client, err error) {
5557
// Create a new client with the scheme and return it
5658
return client.New(k8sConfig, client.Options{Scheme: scheme})
5759
}
60+
61+
// RandomPrimeNumber generates a random prime number of 64 bits.
62+
// It panics if it fails to generate a random prime number.
63+
func RandomPrimeNumber() int64 {
64+
primeNum, err := rand.Prime(rand.Reader, 64)
65+
if err != nil {
66+
panic(fmt.Errorf("failed to generate random prime number: %w", err))
67+
}
68+
return primeNum.Int64()
69+
}
70+
71+
// UniqueResourceName generates a unique resource name by appending a random prime number to the given name.
72+
func UniqueResourceName(name string) string {
73+
return fmt.Sprintf("%s-%d", name, RandomPrimeNumber())
74+
}

tests/cel/common_test.go

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package cel
2+
3+
import (
4+
"testing"
5+
6+
. "github.com/onsi/gomega"
7+
)
8+
9+
func TestMustGenerateRandomPrimeNumer(t *testing.T) {
10+
t.Parallel()
11+
g := NewWithT(t)
12+
g.Expect(func() {
13+
_ = RandomPrimeNumber()
14+
}).ToNot(Panic())
15+
}
16+
17+
func TestMustReturnUniqueResourceName(t *testing.T) {
18+
t.Parallel()
19+
g := NewWithT(t)
20+
21+
name := "test-resource"
22+
uniqueName := UniqueResourceName(name)
23+
24+
g.Expect(uniqueName).To(HavePrefix(name))
25+
g.Expect(len(uniqueName)).To(BeNumerically(">", len(name)))
26+
}

0 commit comments

Comments
 (0)