From 2eb2eba88cc8aab2d5eec49f7e33966014e876ba Mon Sep 17 00:00:00 2001 From: Vardhaman Surana <40083149+vardhaman-surana@users.noreply.github.com> Date: Thu, 26 Oct 2023 14:40:38 +0530 Subject: [PATCH] added function tests for fission cli (#2859) * added function tests for fission cli * code refactor --- test/e2e/cli/cli_test.go | 44 ++++++++++++++++++++++++++++++++++++++++ test/e2e/cli/hello.js | 6 ++++++ 2 files changed, 50 insertions(+) create mode 100644 test/e2e/cli/hello.js diff --git a/test/e2e/cli/cli_test.go b/test/e2e/cli/cli_test.go index 8c8b9f66ce..94999f0aed 100644 --- a/test/e2e/cli/cli_test.go +++ b/test/e2e/cli/cli_test.go @@ -56,4 +56,48 @@ func TestFissionCLI(t *testing.T) { require.Error(t, err) }) }) + + t.Run("function", func(t *testing.T) { + + envName := "test-func-env" + testFuncName := "hello" + + t.Run("create", func(t *testing.T) { + + _, err = cli.ExecCommand(f, ctx, "env", "create", "--name", envName, "--image", "fission/python-env") + require.NoError(t, err) + + _, err := cli.ExecCommand(f, ctx, "function", "create", "--name", testFuncName, "--code", "./hello.js", "--env", envName) + require.NoError(t, err) + + testFunc, err := fissionClient.CoreV1().Functions(metav1.NamespaceDefault).Get(ctx, testFuncName, metav1.GetOptions{}) + require.NoError(t, err) + require.NotNil(t, testFunc) + require.Equal(t, testFuncName, testFunc.Name) + require.Equal(t, envName, testFunc.Spec.Environment.Name) + }) + + t.Run("update", func(t *testing.T) { + _, err := cli.ExecCommand(f, ctx, "function", "update", "--name", testFuncName, "--labels", "env=test") + require.NoError(t, err) + + testFunc, err := fissionClient.CoreV1().Functions(metav1.NamespaceDefault).Get(ctx, testFuncName, metav1.GetOptions{}) + require.NoError(t, err) + require.NotNil(t, testFunc) + require.Equal(t, testFuncName, testFunc.Name) + require.NotNil(t, testFunc.Labels) + require.Equal(t, "test", testFunc.Labels["env"]) + }) + + t.Run("delete", func(t *testing.T) { + _, err := cli.ExecCommand(f, ctx, "function", "delete", "--name", testFuncName) + require.NoError(t, err) + + _, err = fissionClient.CoreV1().Functions(metav1.NamespaceDefault).Get(ctx, testFuncName, metav1.GetOptions{}) + require.Error(t, err) + _, err = cli.ExecCommand(f, ctx, "env", "delete", "--name", envName) + require.NoError(t, err) + }) + + }) } diff --git a/test/e2e/cli/hello.js b/test/e2e/cli/hello.js new file mode 100644 index 0000000000..c7853394ed --- /dev/null +++ b/test/e2e/cli/hello.js @@ -0,0 +1,6 @@ +module.exports = async function (context) { + return { + status: 200, + body: "Hello, Fission!\n" + }; +} \ No newline at end of file