You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.3 KiB
63 lines
1.3 KiB
package cmd
|
|
|
|
import (
|
|
"crypto/x509"
|
|
"log"
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
"gitlab.com/urkob/go-cert-gen/internal/io"
|
|
)
|
|
|
|
func TestExecute(t *testing.T) {
|
|
Execute()
|
|
}
|
|
|
|
func Test_getExtKeyUsage(t *testing.T) {
|
|
intKeyUsageSlice := make([]int, 0, 1)
|
|
intKeyUsageSlice = append(intKeyUsageSlice, int(x509.ExtKeyUsageClientAuth))
|
|
|
|
keyUsage := getExtKeyUsage(intKeyUsageSlice)
|
|
assert.Len(t, keyUsage, len(intKeyUsageSlice))
|
|
assert.Equal(t, keyUsage[0], x509.ExtKeyUsageClientAuth)
|
|
|
|
intKeyUsageSlice = make([]int, 0)
|
|
keyUsage = getExtKeyUsage(intKeyUsageSlice)
|
|
assert.Len(t, keyUsage, 0)
|
|
|
|
keyUsage = getExtKeyUsage(nil)
|
|
assert.Len(t, keyUsage, 0)
|
|
}
|
|
|
|
var testFile = "test-file.txt"
|
|
|
|
func init() {
|
|
wd, err := os.Getwd()
|
|
if err != nil {
|
|
log.Fatalf("os.Getwd: %s\n", err)
|
|
}
|
|
writer = io.NewWriter(wd)
|
|
}
|
|
|
|
func Test_exportPem(t *testing.T) {
|
|
defer func() {
|
|
os.Remove(testFile)
|
|
err := os.Remove(testFile)
|
|
require.NoError(t, err)
|
|
}()
|
|
|
|
data := []byte("test data")
|
|
outputPath, err := exportPem(testFile, data)
|
|
require.NoError(t, err)
|
|
require.NotEmpty(t, outputPath)
|
|
}
|
|
|
|
func Test_exportPemError(t *testing.T) {
|
|
data := []byte("test data")
|
|
outputPath, err := exportPem("", data)
|
|
require.Error(t, err)
|
|
require.Empty(t, outputPath)
|
|
}
|