chore: add test for wasmedge runtime extension

Add tests for WasmEdge container runtime system extension.

Signed-off-by: Saiyam Pathak <saiyam911@gmail.com>
Signed-off-by: Noel Georgi <git@frezbo.dev>
This commit is contained in:
Saiyam Pathak 2024-01-25 18:33:37 +05:30 committed by Noel Georgi
parent 95ea3a6c65
commit 4184e617ab
No known key found for this signature in database
GPG Key ID: 21A9F444075C9E36

View File

@ -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{})
}