| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | 
							- // Copyright 2023 The Gogs Authors. All rights reserved.
 
- // Use of this source code is governed by a MIT-style
 
- // license that can be found in the LICENSE file.
 
- package database
 
- import (
 
- 	"context"
 
- 	"fmt"
 
- 	"os"
 
- 	"path/filepath"
 
- 	"testing"
 
- 	"github.com/stretchr/testify/assert"
 
- 	"github.com/stretchr/testify/require"
 
- 	"gogs.io/gogs/internal/conf"
 
- )
 
- func TestPublicKeys(t *testing.T) {
 
- 	if testing.Short() {
 
- 		t.Skip()
 
- 	}
 
- 	t.Parallel()
 
- 	ctx := context.Background()
 
- 	s := &PublicKeysStore{
 
- 		db: newTestDB(t, "PublicKeysStore"),
 
- 	}
 
- 	for _, tc := range []struct {
 
- 		name string
 
- 		test func(t *testing.T, ctx context.Context, s *PublicKeysStore)
 
- 	}{
 
- 		{"RewriteAuthorizedKeys", publicKeysRewriteAuthorizedKeys},
 
- 	} {
 
- 		t.Run(tc.name, func(t *testing.T) {
 
- 			t.Cleanup(func() {
 
- 				err := clearTables(t, s.db)
 
- 				require.NoError(t, err)
 
- 			})
 
- 			tc.test(t, ctx, s)
 
- 		})
 
- 		if t.Failed() {
 
- 			break
 
- 		}
 
- 	}
 
- }
 
- func publicKeysRewriteAuthorizedKeys(t *testing.T, ctx context.Context, s *PublicKeysStore) {
 
- 	// TODO: Use PublicKeys.Add to replace SQL hack when the method is available.
 
- 	publicKey := &PublicKey{
 
- 		OwnerID:     1,
 
- 		Name:        "test-key",
 
- 		Fingerprint: "12:f8:7e:78:61:b4:bf:e2:de:24:15:96:4e:d4:72:53",
 
- 		Content:     "test-key-content",
 
- 	}
 
- 	err := s.db.Create(publicKey).Error
 
- 	require.NoError(t, err)
 
- 	tempSSHRootPath := filepath.Join(os.TempDir(), "publicKeysRewriteAuthorizedKeys-tempSSHRootPath")
 
- 	conf.SetMockSSH(t, conf.SSHOpts{RootPath: tempSSHRootPath})
 
- 	err = s.RewriteAuthorizedKeys()
 
- 	require.NoError(t, err)
 
- 	authorizedKeys, err := os.ReadFile(authorizedKeysPath())
 
- 	require.NoError(t, err)
 
- 	assert.Contains(t, string(authorizedKeys), fmt.Sprintf("key-%d", publicKey.ID))
 
- 	assert.Contains(t, string(authorizedKeys), publicKey.Content)
 
- }
 
 
  |