gitea

Зеркало из https://github.com/go-gitea/gitea
Форк
0
/
legacy_test.go 
57 строк · 1.2 Кб
1
// Copyright 2022 The Gitea Authors. All rights reserved.
2
// SPDX-License-Identifier: MIT
3

4
package util
5

6
import (
7
	"crypto/aes"
8
	"crypto/rand"
9
	"fmt"
10
	"os"
11
	"testing"
12
	"time"
13

14
	"github.com/stretchr/testify/assert"
15
)
16

17
func TestCopyFile(t *testing.T) {
18
	testContent := []byte("hello")
19

20
	tmpDir := os.TempDir()
21
	now := time.Now()
22
	srcFile := fmt.Sprintf("%s/copy-test-%d-src.txt", tmpDir, now.UnixMicro())
23
	dstFile := fmt.Sprintf("%s/copy-test-%d-dst.txt", tmpDir, now.UnixMicro())
24

25
	_ = os.Remove(srcFile)
26
	_ = os.Remove(dstFile)
27
	defer func() {
28
		_ = os.Remove(srcFile)
29
		_ = os.Remove(dstFile)
30
	}()
31

32
	err := os.WriteFile(srcFile, testContent, 0o777)
33
	assert.NoError(t, err)
34
	err = CopyFile(srcFile, dstFile)
35
	assert.NoError(t, err)
36
	dstContent, err := os.ReadFile(dstFile)
37
	assert.NoError(t, err)
38
	assert.Equal(t, testContent, dstContent)
39
}
40

41
func TestAESGCM(t *testing.T) {
42
	t.Parallel()
43

44
	key := make([]byte, aes.BlockSize)
45
	_, err := rand.Read(key)
46
	assert.NoError(t, err)
47

48
	plaintext := []byte("this will be encrypted")
49

50
	ciphertext, err := AESGCMEncrypt(key, plaintext)
51
	assert.NoError(t, err)
52

53
	decrypted, err := AESGCMDecrypt(key, ciphertext)
54
	assert.NoError(t, err)
55

56
	assert.Equal(t, plaintext, decrypted)
57
}
58

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.