diff --git a/examples/nodejs-simple/gameserver.yaml b/examples/nodejs-simple/gameserver.yaml index 361c386a4c..84eaea30f1 100644 --- a/examples/nodejs-simple/gameserver.yaml +++ b/examples/nodejs-simple/gameserver.yaml @@ -33,4 +33,8 @@ spec: containers: - name: nodejs-simple image: us-docker.pkg.dev/agones-images/examples/nodejs-simple-server:0.9 + resources: + requests: + memory: 100Mi + cpu: 100m # args: ["--timeout=0"] # Change the timeout here, if you like the nodejs server to run longer. diff --git a/test/e2e/examples_test.go b/test/e2e/examples_test.go index 0dc2121b40..80ca2b1150 100644 --- a/test/e2e/examples_test.go +++ b/test/e2e/examples_test.go @@ -21,6 +21,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" corev1 "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) @@ -132,3 +133,47 @@ func TestCppSimpleGameServerReady(t *testing.T) { // Assert that the GameServer is in the expected state assert.Equal(t, agonesv1.GameServerStateReady, readyGs.Status.State) } + +func TestNodeJSGameServerReady(t *testing.T) { + t.Parallel() + gs := &agonesv1.GameServer{ + ObjectMeta: metav1.ObjectMeta{ + GenerateName: "nodejs-simple-", + }, + Spec: agonesv1.GameServerSpec{ + Ports: []agonesv1.GameServerPort{{ + Name: "default", + PortPolicy: agonesv1.Dynamic, + ContainerPort: 7654, + Protocol: corev1.ProtocolUDP, + }}, + Health: agonesv1.Health{ + InitialDelaySeconds: 30, + PeriodSeconds: 30, + }, + Template: corev1.PodTemplateSpec{ + Spec: corev1.PodSpec{ + Containers: []corev1.Container{ + { + Name: "nodejs-simple", + Image: "us-docker.pkg.dev/agones-images/examples/nodejs-simple-server:0.9", + Resources: corev1.ResourceRequirements{ + Requests: corev1.ResourceList{ + corev1.ResourceMemory: resource.MustParse("100Mi"), + corev1.ResourceCPU: resource.MustParse("100m"), + }, + }, + }, + }, + }, + }, + }, + } + + // Use the e2e framework's function to create the GameServer and wait until it's ready + readyGs, err := framework.CreateGameServerAndWaitUntilReady(t, framework.Namespace, gs) + require.NoError(t, err) + + // Assert that the GameServer is in the expected state + assert.Equal(t, agonesv1.GameServerStateReady, readyGs.Status.State) +}