From 4184e617ab92b8f41c2540bf55aa4d502778dcad Mon Sep 17 00:00:00 2001 From: Saiyam Pathak Date: Thu, 25 Jan 2024 18:33:37 +0530 Subject: [PATCH] chore: add test for wasmedge runtime extension Add tests for WasmEdge container runtime system extension. Signed-off-by: Saiyam Pathak Signed-off-by: Noel Georgi --- internal/integration/api/extensions_qemu.go | 33 +++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/internal/integration/api/extensions_qemu.go b/internal/integration/api/extensions_qemu.go index 9468f1b58d..a78592fc7f 100644 --- a/internal/integration/api/extensions_qemu.go +++ b/internal/integration/api/extensions_qemu.go @@ -746,6 +746,39 @@ func (suite *ExtensionsSuiteQEMU) TestExtensionsUtilLinuxTools() { suite.Require().Contains(stdout, "fstrim from util-linux") } +// TestExtensionsWasmEdge verifies wasmedge runtime class is working. +func (suite *ExtensionsSuiteQEMU) TestExtensionsWasmEdge() { + _, err := suite.Clientset.NodeV1().RuntimeClasses().Create(suite.ctx, &nodev1.RuntimeClass{ + ObjectMeta: metav1.ObjectMeta{ + Name: "wasmedge", + }, + Handler: "wasmedge", + }, metav1.CreateOptions{}) + defer suite.Clientset.NodeV1().RuntimeClasses().Delete(suite.ctx, "wasmedge", metav1.DeleteOptions{}) //nolint:errcheck + + suite.Require().NoError(err) + + _, err = suite.Clientset.CoreV1().Pods("default").Create(suite.ctx, &corev1.Pod{ + ObjectMeta: metav1.ObjectMeta{ + Name: "wasmedge-test", + }, + Spec: corev1.PodSpec{ + Containers: []corev1.Container{ + { + Name: "wasmedge-test", + Image: "wasmedge/example-wasi:latest", + }, + }, + }, + }, metav1.CreateOptions{}) + defer suite.Clientset.CoreV1().Pods("default").Delete(suite.ctx, "wasmedge-test", metav1.DeleteOptions{}) //nolint:errcheck + + suite.Require().NoError(err) + + // wait for the pod to be ready + suite.Require().NoError(suite.WaitForPodToBeRunning(suite.ctx, 5*time.Minute, "default", "wasmedge-test")) +} + func init() { allSuites = append(allSuites, &ExtensionsSuiteQEMU{}) }