code.gitea.io/gitea@v1.22.3/modules/secret/secret_test.go (about)

     1  // Copyright 2019 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package secret
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/assert"
    10  )
    11  
    12  func TestEncryptDecrypt(t *testing.T) {
    13  	hex, err := EncryptSecret("foo", "baz")
    14  	assert.NoError(t, err)
    15  	str, _ := DecryptSecret("foo", hex)
    16  	assert.Equal(t, "baz", str)
    17  
    18  	hex, err = EncryptSecret("bar", "baz")
    19  	assert.NoError(t, err)
    20  	str, _ = DecryptSecret("foo", hex)
    21  	assert.NotEqual(t, "baz", str)
    22  
    23  	_, err = DecryptSecret("a", "b")
    24  	assert.ErrorContains(t, err, "invalid hex string")
    25  
    26  	_, err = DecryptSecret("a", "bb")
    27  	assert.ErrorContains(t, err, "the key (maybe SECRET_KEY?) might be incorrect: AesDecrypt ciphertext too short")
    28  
    29  	_, err = DecryptSecret("a", "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef")
    30  	assert.ErrorContains(t, err, "the key (maybe SECRET_KEY?) might be incorrect: AesDecrypt invalid decrypted base64 string")
    31  }