mirror of
https://github.com/kubescape/kubescape.git
synced 2026-02-14 18:09:55 +00:00
Description: This pull request introduces a new test case TestGetFrameworkCmdWithNonExistentFramework in the framework_test.go file. The purpose of this test case is to verify the behavior of the getFrameworkCmd function when it's run with a non-existent framework argument. In this test case, we: Create a mock Kubescape interface and a ScanInfo object Call the getFrameworkCmd function with the mock interface and ScanInfo object Run the command with a non-existent framework argument Check that there is an error and the error message is "bad argument: account ID must be a valid UUID" This test case enhances the test coverage of the getFrameworkCmd function and ensures that it correctly handles non-existent framework arguments. Signed-off-by: Umair <58398786+Umair0343@users.noreply.github.com>
61 lines
2.0 KiB
Go
61 lines
2.0 KiB
Go
package scan
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
"github.com/kubescape/kubescape/v3/core/cautils"
|
|
"github.com/kubescape/kubescape/v3/core/mocks"
|
|
"github.com/spf13/cobra"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestGetFrameworkCmd(t *testing.T) {
|
|
// Create a mock Kubescape interface
|
|
mockKubescape := &mocks.MockIKubescape{}
|
|
scanInfo := cautils.ScanInfo{
|
|
AccountID: "new",
|
|
}
|
|
|
|
cmd := getFrameworkCmd(mockKubescape, &scanInfo)
|
|
|
|
// Verify the command name and short description
|
|
assert.Equal(t, "framework <framework names list> [`<glob pattern>`/`-`] [flags]", cmd.Use)
|
|
assert.Equal(t, fmt.Sprintf("The framework you wish to use. Run '%[1]s list frameworks' for the list of supported frameworks", cautils.ExecName()), cmd.Short)
|
|
assert.Equal(t, frameworkExample, cmd.Example)
|
|
|
|
err := cmd.Args(&cobra.Command{}, []string{})
|
|
expectedErrorMessage := "requires at least one framework name"
|
|
assert.Equal(t, expectedErrorMessage, err.Error())
|
|
|
|
err = cmd.Args(&cobra.Command{}, []string{"nsa,mitre"})
|
|
assert.Nil(t, err)
|
|
|
|
err = cmd.Args(&cobra.Command{}, []string{"nsa,mitre,"})
|
|
expectedErrorMessage = "usage: <framework-0>,<framework-1>"
|
|
assert.Equal(t, expectedErrorMessage, err.Error())
|
|
|
|
err = cmd.RunE(&cobra.Command{}, []string{})
|
|
expectedErrorMessage = "bad argument: accound ID must be a valid UUID"
|
|
assert.Equal(t, expectedErrorMessage, err.Error())
|
|
}
|
|
|
|
func TestGetFrameworkCmdWithNonExistentFramework(t *testing.T) {
|
|
// Create a mock Kubescape interface
|
|
mockKubescape := &mocks.MockIKubescape{}
|
|
scanInfo := cautils.ScanInfo{
|
|
AccountID: "new",
|
|
}
|
|
|
|
// Call the GetFrameworkCmd function
|
|
cmd := getFrameworkCmd(mockKubescape, &scanInfo)
|
|
|
|
// Run the command with a non-existent framework argument
|
|
err := cmd.RunE(&cobra.Command{}, []string{"framework", "nsa,mitre"})
|
|
|
|
// Check that there is an error and the error message is as expected
|
|
expectedErrorMessage := "bad argument: accound ID must be a valid UUID"
|
|
assert.Error(t, err)
|
|
assert.Equal(t, expectedErrorMessage, err.Error())
|
|
}
|