mirror of
https://github.com/openfaas/faasd.git
synced 2025-06-10 08:56:47 +00:00
Signed-off-by: Nitishkumar Singh <nitishkumarsingh71@gmail.com> Included Test cases for utils Signed-off-by: Nitishkumar Singh <nitishkumarsingh71@gmail.com> Multi namespace handling in invoke Signed-off-by: Nitishkumar Singh <nitishkumarsingh71@gmail.com> List Namespaces capability included Signed-off-by: Nitishkumar Singh <nitishkumarsingh71@gmail.com> remove faasd namespace from list result Signed-off-by: Nitishkumar Singh <nitishkumarsingh71@gmail.com> Create Secret Folder Path Signed-off-by: Nitishkumar Singh <nitishkumarsingh71@gmail.com> Filter only namespaces with openfass label Signed-off-by: Nitishkumar Singh <nitishkumarsingh71@gmail.com> Include Testcase for utility function Signed-off-by: Nitishkumar Singh <nitishkumarsingh71@gmail.com> move default function secets to openfaas-fn namespace secrets Signed-off-by: Nitishkumar Singh <nitishkumarsingh71@gmail.com> Corrected issue with secret moving Signed-off-by: Nitishkumar Singh <nitishkumarsingh71@gmail.com>
76 lines
2.2 KiB
Go
76 lines
2.2 KiB
Go
package handlers
|
|
|
|
import (
|
|
"fmt"
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
|
|
faasd "github.com/openfaas/faasd/pkg"
|
|
)
|
|
|
|
func Test_getRequestNamespace(t *testing.T) {
|
|
tables := []struct {
|
|
name string
|
|
requestNamespace string
|
|
expectedNamespace string
|
|
}{
|
|
{name: "RequestNamespace is not provided", requestNamespace: "", expectedNamespace: faasd.FunctionNamespace},
|
|
{name: "RequestNamespace is provided", requestNamespace: "user-namespace", expectedNamespace: "user-namespace"},
|
|
}
|
|
|
|
for _, tc := range tables {
|
|
t.Run(tc.name, func(t *testing.T) {
|
|
actualNamespace := getRequestNamespace(tc.requestNamespace)
|
|
if actualNamespace != tc.expectedNamespace {
|
|
t.Errorf("Got: %s, expected %s", actualNamespace, tc.expectedNamespace)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func Test_getNamespaceSecretMountPath(t *testing.T) {
|
|
userSecretPath := "/var/openfaas/secrets"
|
|
tables := []struct {
|
|
name string
|
|
requestNamespace string
|
|
expectedSecretPath string
|
|
}{
|
|
{name: "Default Namespace is provided", requestNamespace: faasd.FunctionNamespace, expectedSecretPath: "/var/openfaas/secrets/" + faasd.FunctionNamespace},
|
|
{name: "User Namespace is provided", requestNamespace: "user-namespace", expectedSecretPath: "/var/openfaas/secrets/user-namespace"},
|
|
}
|
|
|
|
for _, tc := range tables {
|
|
t.Run(tc.name, func(t *testing.T) {
|
|
actualNamespace := getNamespaceSecretMountPath(userSecretPath, tc.requestNamespace)
|
|
if actualNamespace != tc.expectedSecretPath {
|
|
t.Errorf("Got: %s, expected %s", actualNamespace, tc.expectedSecretPath)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func Test_readNamespaceFromQuery(t *testing.T) {
|
|
tables := []struct {
|
|
name string
|
|
queryNamespace string
|
|
expectedNamespace string
|
|
}{
|
|
{name: "No Namespace is provided", queryNamespace: "", expectedNamespace: ""},
|
|
{name: "User Namespace is provided", queryNamespace: "user-namespace", expectedNamespace: "user-namespace"},
|
|
}
|
|
|
|
for _, tc := range tables {
|
|
t.Run(tc.name, func(t *testing.T) {
|
|
|
|
url := fmt.Sprintf("/test?namespace=%s", tc.queryNamespace)
|
|
r := httptest.NewRequest(http.MethodGet, url, nil)
|
|
|
|
actualNamespace := readNamespaceFromQuery(r)
|
|
if actualNamespace != tc.expectedNamespace {
|
|
t.Errorf("Got: %s, expected %s", actualNamespace, tc.expectedNamespace)
|
|
}
|
|
})
|
|
}
|
|
}
|