mirror of
https://github.com/kubescape/kubescape.git
synced 2026-04-15 06:58:11 +00:00
Wrote new tests for the following files: - controllink.go - display.go - fileutils.go - getter/getpoliciesutils.go - getter/utils.go Signed-off-by: VaibhavMalik4187 <vaibhavmalik2018@gmail.com>
455 lines
7.0 KiB
Go
455 lines
7.0 KiB
Go
package cautils
|
|
|
|
import (
|
|
"io"
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/kubescape/go-logger"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestStartSpinner(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
loggerLevel string
|
|
enabled bool
|
|
}{
|
|
{
|
|
name: "TestStartSpinner - disabled",
|
|
loggerLevel: "warning",
|
|
enabled: false,
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
logger.L().SetLevel(tt.loggerLevel)
|
|
StartSpinner()
|
|
if !tt.enabled {
|
|
if spinner != nil {
|
|
t.Errorf("spinner should be nil")
|
|
}
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestFailureDisplay(t *testing.T) {
|
|
tests := []struct {
|
|
text string
|
|
want string
|
|
}{
|
|
{
|
|
text: "Test",
|
|
want: "Test",
|
|
},
|
|
{
|
|
text: "",
|
|
want: "",
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.text, func(t *testing.T) {
|
|
// Redirect stdout to a buffer
|
|
rescueStdout := os.Stdout
|
|
r, w, _ := os.Pipe()
|
|
os.Stdout = w
|
|
|
|
FailureDisplay(os.Stdout, tt.text)
|
|
|
|
w.Close()
|
|
got, _ := io.ReadAll(r)
|
|
os.Stdout = rescueStdout
|
|
|
|
assert.Equal(t, tt.want, string(got))
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestWarningDisplay(t *testing.T) {
|
|
tests := []struct {
|
|
text string
|
|
want string
|
|
}{
|
|
{
|
|
text: "Test",
|
|
want: "Test",
|
|
},
|
|
{
|
|
text: "",
|
|
want: "",
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.text, func(t *testing.T) {
|
|
// Redirect stdout to a buffer
|
|
rescueStdout := os.Stdout
|
|
r, w, _ := os.Pipe()
|
|
os.Stdout = w
|
|
|
|
WarningDisplay(os.Stdout, tt.text)
|
|
|
|
w.Close()
|
|
got, _ := io.ReadAll(r)
|
|
os.Stdout = rescueStdout
|
|
|
|
assert.Equal(t, tt.want, string(got))
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestFailureTextDisplay(t *testing.T) {
|
|
tests := []struct {
|
|
text string
|
|
want string
|
|
}{
|
|
{
|
|
text: "Test",
|
|
want: "Test",
|
|
},
|
|
{
|
|
text: "",
|
|
want: "",
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.text, func(t *testing.T) {
|
|
// Redirect stdout to a buffer
|
|
rescueStdout := os.Stdout
|
|
r, w, _ := os.Pipe()
|
|
os.Stdout = w
|
|
|
|
FailureTextDisplay(os.Stdout, tt.text)
|
|
|
|
w.Close()
|
|
got, _ := io.ReadAll(r)
|
|
os.Stdout = rescueStdout
|
|
|
|
assert.Equal(t, tt.want, string(got))
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestInfoDisplay(t *testing.T) {
|
|
tests := []struct {
|
|
text string
|
|
want string
|
|
}{
|
|
{
|
|
text: "Test",
|
|
want: "Test",
|
|
},
|
|
{
|
|
text: "",
|
|
want: "",
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.text, func(t *testing.T) {
|
|
// Redirect stdout to a buffer
|
|
rescueStdout := os.Stdout
|
|
r, w, _ := os.Pipe()
|
|
os.Stdout = w
|
|
|
|
InfoDisplay(os.Stdout, tt.text)
|
|
|
|
w.Close()
|
|
got, _ := io.ReadAll(r)
|
|
os.Stdout = rescueStdout
|
|
|
|
assert.Equal(t, tt.want, string(got))
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestInfoTextDisplay(t *testing.T) {
|
|
tests := []struct {
|
|
text string
|
|
want string
|
|
}{
|
|
{
|
|
text: "Test",
|
|
want: "Test",
|
|
},
|
|
{
|
|
text: "",
|
|
want: "",
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.text, func(t *testing.T) {
|
|
// Redirect stdout to a buffer
|
|
rescueStdout := os.Stdout
|
|
r, w, _ := os.Pipe()
|
|
os.Stdout = w
|
|
|
|
InfoTextDisplay(os.Stdout, tt.text)
|
|
|
|
w.Close()
|
|
got, _ := io.ReadAll(r)
|
|
os.Stdout = rescueStdout
|
|
|
|
assert.Equal(t, tt.want, string(got))
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestSimpleDisplay(t *testing.T) {
|
|
tests := []struct {
|
|
text string
|
|
want string
|
|
}{
|
|
{
|
|
text: "Test",
|
|
want: "Test",
|
|
},
|
|
{
|
|
text: "",
|
|
want: "",
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.text, func(t *testing.T) {
|
|
// Redirect stdout to a buffer
|
|
rescueStdout := os.Stdout
|
|
r, w, _ := os.Pipe()
|
|
os.Stdout = w
|
|
|
|
SimpleDisplay(os.Stdout, tt.text)
|
|
|
|
w.Close()
|
|
got, _ := io.ReadAll(r)
|
|
os.Stdout = rescueStdout
|
|
|
|
assert.Equal(t, tt.want, string(got))
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestSuccessDisplay(t *testing.T) {
|
|
tests := []struct {
|
|
text string
|
|
want string
|
|
}{
|
|
{
|
|
text: "Test",
|
|
want: "Test",
|
|
},
|
|
{
|
|
text: "",
|
|
want: "",
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.text, func(t *testing.T) {
|
|
// Redirect stdout to a buffer
|
|
rescueStdout := os.Stdout
|
|
r, w, _ := os.Pipe()
|
|
os.Stdout = w
|
|
|
|
SuccessDisplay(os.Stdout, tt.text)
|
|
|
|
w.Close()
|
|
got, _ := io.ReadAll(r)
|
|
os.Stdout = rescueStdout
|
|
|
|
assert.Equal(t, tt.want, string(got))
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestDescriptionDisplay(t *testing.T) {
|
|
tests := []struct {
|
|
text string
|
|
want string
|
|
}{
|
|
{
|
|
text: "Test",
|
|
want: "Test",
|
|
},
|
|
{
|
|
text: "",
|
|
want: "",
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.text, func(t *testing.T) {
|
|
// Redirect stdout to a buffer
|
|
rescueStdout := os.Stdout
|
|
r, w, _ := os.Pipe()
|
|
os.Stdout = w
|
|
|
|
DescriptionDisplay(os.Stdout, tt.text)
|
|
|
|
w.Close()
|
|
got, _ := io.ReadAll(r)
|
|
os.Stdout = rescueStdout
|
|
|
|
assert.Equal(t, tt.want, string(got))
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestBoldDisplay(t *testing.T) {
|
|
tests := []struct {
|
|
text string
|
|
want string
|
|
}{
|
|
{
|
|
text: "Test",
|
|
want: "Test",
|
|
},
|
|
{
|
|
text: "",
|
|
want: "",
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.text, func(t *testing.T) {
|
|
// Redirect stdout to a buffer
|
|
rescueStdout := os.Stdout
|
|
r, w, _ := os.Pipe()
|
|
os.Stdout = w
|
|
|
|
BoldDisplay(os.Stdout, tt.text)
|
|
|
|
w.Close()
|
|
got, _ := io.ReadAll(r)
|
|
os.Stdout = rescueStdout
|
|
|
|
assert.Equal(t, tt.want, string(got))
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestLineDisplay(t *testing.T) {
|
|
tests := []struct {
|
|
text string
|
|
want string
|
|
}{
|
|
{
|
|
text: "Test",
|
|
want: "Test",
|
|
},
|
|
{
|
|
text: "",
|
|
want: "",
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.text, func(t *testing.T) {
|
|
// Redirect stdout to a buffer
|
|
rescueStdout := os.Stdout
|
|
r, w, _ := os.Pipe()
|
|
os.Stdout = w
|
|
|
|
LineDisplay(os.Stdout, tt.text)
|
|
|
|
w.Close()
|
|
got, _ := io.ReadAll(r)
|
|
os.Stdout = rescueStdout
|
|
|
|
assert.Equal(t, tt.want, string(got))
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestSectionHeadingDisplay(t *testing.T) {
|
|
tests := []struct {
|
|
text string
|
|
want string
|
|
}{
|
|
{
|
|
text: "Test Section",
|
|
want: "\nTest Section\n────────────\n\n",
|
|
},
|
|
{
|
|
text: "",
|
|
want: "\n\n\n\n",
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.text, func(t *testing.T) {
|
|
// Redirect stdout to a buffer
|
|
rescueStdout := os.Stdout
|
|
r, w, _ := os.Pipe()
|
|
os.Stdout = w
|
|
|
|
SectionHeadingDisplay(os.Stdout, tt.text)
|
|
|
|
w.Close()
|
|
got, _ := io.ReadAll(r)
|
|
os.Stdout = rescueStdout
|
|
|
|
assert.Equal(t, tt.want, string(got))
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestStarDisplay(t *testing.T) {
|
|
tests := []struct {
|
|
text string
|
|
want string
|
|
}{
|
|
{
|
|
text: "Test",
|
|
want: "* Test",
|
|
},
|
|
{
|
|
text: "",
|
|
want: "* ",
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.text, func(t *testing.T) {
|
|
// Redirect stdout to a buffer
|
|
rescueStdout := os.Stdout
|
|
r, w, _ := os.Pipe()
|
|
os.Stdout = w
|
|
|
|
StarDisplay(os.Stdout, tt.text)
|
|
|
|
w.Close()
|
|
got, _ := io.ReadAll(r)
|
|
os.Stdout = rescueStdout
|
|
|
|
assert.Equal(t, tt.want, string(got))
|
|
})
|
|
}
|
|
}
|
|
|
|
// Returns a new instance of ProgressHandler with the given title.
|
|
func TestNewProgressHandler_(t *testing.T) {
|
|
tests := []struct {
|
|
title string
|
|
}{
|
|
{
|
|
title: "Test title",
|
|
},
|
|
{
|
|
title: "",
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.title, func(t *testing.T) {
|
|
progressHandler := NewProgressHandler(tt.title)
|
|
assert.NotNil(t, progressHandler)
|
|
|
|
assert.Equal(t, tt.title, progressHandler.title)
|
|
})
|
|
}
|
|
}
|