mirror of
https://github.com/kubernetes-sigs/external-dns.git
synced 2026-05-05 14:46:10 +02:00
fix(aes-encryption): crypto.GenerateNonce write tests
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
This commit is contained in:
parent
f8777a0ab2
commit
ca517446cc
@ -17,8 +17,12 @@ limitations under the License.
|
||||
package endpoint
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
"io"
|
||||
"testing"
|
||||
|
||||
"crypto/rand"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
@ -56,3 +60,33 @@ func TestEncrypt(t *testing.T) {
|
||||
t.Error("Decryption of text didn't result in expected plaintext result.")
|
||||
}
|
||||
}
|
||||
|
||||
func TestGenerateNonceSuccess(t *testing.T) {
|
||||
nonce, err := GenerateNonce()
|
||||
require.NoError(t, err)
|
||||
require.NotEmpty(t, nonce)
|
||||
|
||||
// Test nonce length
|
||||
decodedNonce, err := base64.StdEncoding.DecodeString(string(nonce))
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, standardGcmNonceSize, len(decodedNonce))
|
||||
}
|
||||
|
||||
func TestGenerateNonceError(t *testing.T) {
|
||||
// Save the original rand.Reader
|
||||
originalRandReader := rand.Reader
|
||||
defer func() { rand.Reader = originalRandReader }()
|
||||
|
||||
// Replace rand.Reader with a faulty reader
|
||||
rand.Reader = &faultyReader{}
|
||||
|
||||
nonce, err := GenerateNonce()
|
||||
require.Error(t, err)
|
||||
require.Nil(t, nonce)
|
||||
}
|
||||
|
||||
type faultyReader struct{}
|
||||
|
||||
func (f *faultyReader) Read(p []byte) (n int, err error) {
|
||||
return 0, io.ErrUnexpectedEOF
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user