Files
gluetun/internal/openvpn/parse/pem_test.go

52 lines
1000 B
Go
Raw Normal View History

package parse
import (
"errors"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func Test_extractPEM(t *testing.T) {
t.Parallel()
testCases := map[string]struct {
b []byte
name string
encodedData string
err error
}{
"no input": {
err: errors.New("cannot decode PEM encoded block"),
},
"bad input": {
b: []byte{1, 2, 3},
err: errors.New("cannot decode PEM encoded block"),
},
"valid data": {
2021-10-05 10:44:15 -07:00
name: "CERTIFICATE",
b: []byte(validCertPEM),
encodedData: validCertData,
},
}
for name, testCase := range testCases {
testCase := testCase
t.Run(name, func(t *testing.T) {
t.Parallel()
encodedData, err := extractPEM(testCase.b, testCase.name)
if testCase.err != nil {
require.Error(t, err)
assert.Equal(t, testCase.err.Error(), err.Error())
} else {
assert.NoError(t, err)
}
assert.Equal(t, testCase.encodedData, encodedData)
})
}
}