Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Steinhardt <psteinhardt@gitlab.com>2023-04-28 10:08:26 +0300
committerPatrick Steinhardt <psteinhardt@gitlab.com>2023-04-28 10:08:26 +0300
commitd0eb94f3ff8fe6ce7d286d8fa45f60839faf4c76 (patch)
treedad00312f5b232b05ef903b92318a90974806dbe
parentcb032e35e1db91275365608857d435c7f68d7375 (diff)
protoregistry: Don't use separate package for testing registry
We're using a separate package to test the Proto registry. This is not needed, so let's remove the separate package so that we can also test internal functions that are not exposed to callers. While at it, enable testing with the SHA256 object format.
-rw-r--r--internal/praefect/protoregistry/protoregistry_test.go219
1 files changed, 111 insertions, 108 deletions
diff --git a/internal/praefect/protoregistry/protoregistry_test.go b/internal/praefect/protoregistry/protoregistry_test.go
index a048caa55..9e448c443 100644
--- a/internal/praefect/protoregistry/protoregistry_test.go
+++ b/internal/praefect/protoregistry/protoregistry_test.go
@@ -1,141 +1,142 @@
-package protoregistry_test
+package protoregistry
import (
"fmt"
"testing"
"github.com/stretchr/testify/require"
- "gitlab.com/gitlab-org/gitaly/v15/internal/praefect/protoregistry"
)
func TestNewProtoRegistry(t *testing.T) {
- expectedResults := map[string]map[string]protoregistry.OpType{
+ t.Parallel()
+
+ expectedResults := map[string]map[string]OpType{
"BlobService": {
- "GetBlob": protoregistry.OpAccessor,
- "GetBlobs": protoregistry.OpAccessor,
- "GetLFSPointers": protoregistry.OpAccessor,
+ "GetBlob": OpAccessor,
+ "GetBlobs": OpAccessor,
+ "GetLFSPointers": OpAccessor,
},
"CleanupService": {
- "ApplyBfgObjectMapStream": protoregistry.OpMutator,
+ "ApplyBfgObjectMapStream": OpMutator,
},
"CommitService": {
- "CommitIsAncestor": protoregistry.OpAccessor,
- "CommitLanguages": protoregistry.OpAccessor,
- "CommitStats": protoregistry.OpAccessor,
- "CommitsByMessage": protoregistry.OpAccessor,
- "CountCommits": protoregistry.OpAccessor,
- "CountDivergingCommits": protoregistry.OpAccessor,
- "FilterShasWithSignatures": protoregistry.OpAccessor,
- "FindAllCommits": protoregistry.OpAccessor,
- "FindCommit": protoregistry.OpAccessor,
- "FindCommits": protoregistry.OpAccessor,
- "GetTreeEntries": protoregistry.OpAccessor,
- "LastCommitForPath": protoregistry.OpAccessor,
- "ListCommitsByOid": protoregistry.OpAccessor,
- "ListFiles": protoregistry.OpAccessor,
- "ListLastCommitsForTree": protoregistry.OpAccessor,
- "RawBlame": protoregistry.OpAccessor,
- "TreeEntry": protoregistry.OpAccessor,
+ "CommitIsAncestor": OpAccessor,
+ "CommitLanguages": OpAccessor,
+ "CommitStats": OpAccessor,
+ "CommitsByMessage": OpAccessor,
+ "CountCommits": OpAccessor,
+ "CountDivergingCommits": OpAccessor,
+ "FilterShasWithSignatures": OpAccessor,
+ "FindAllCommits": OpAccessor,
+ "FindCommit": OpAccessor,
+ "FindCommits": OpAccessor,
+ "GetTreeEntries": OpAccessor,
+ "LastCommitForPath": OpAccessor,
+ "ListCommitsByOid": OpAccessor,
+ "ListFiles": OpAccessor,
+ "ListLastCommitsForTree": OpAccessor,
+ "RawBlame": OpAccessor,
+ "TreeEntry": OpAccessor,
},
"ConflictsService": {
- "ListConflictFiles": protoregistry.OpAccessor,
- "ResolveConflicts": protoregistry.OpMutator,
+ "ListConflictFiles": OpAccessor,
+ "ResolveConflicts": OpMutator,
},
"DiffService": {
- "CommitDelta": protoregistry.OpAccessor,
- "CommitDiff": protoregistry.OpAccessor,
- "DiffStats": protoregistry.OpAccessor,
- "RawDiff": protoregistry.OpAccessor,
- "RawPatch": protoregistry.OpAccessor,
+ "CommitDelta": OpAccessor,
+ "CommitDiff": OpAccessor,
+ "DiffStats": OpAccessor,
+ "RawDiff": OpAccessor,
+ "RawPatch": OpAccessor,
},
"NamespaceService": {
- "AddNamespace": protoregistry.OpMutator,
- "NamespaceExists": protoregistry.OpAccessor,
- "RemoveNamespace": protoregistry.OpMutator,
- "RenameNamespace": protoregistry.OpMutator,
+ "AddNamespace": OpMutator,
+ "NamespaceExists": OpAccessor,
+ "RemoveNamespace": OpMutator,
+ "RenameNamespace": OpMutator,
},
"ObjectPoolService": {
- "CreateObjectPool": protoregistry.OpMutator,
- "DeleteObjectPool": protoregistry.OpMutator,
- "DisconnectGitAlternates": protoregistry.OpMutator,
- "LinkRepositoryToObjectPool": protoregistry.OpMutator,
+ "CreateObjectPool": OpMutator,
+ "DeleteObjectPool": OpMutator,
+ "DisconnectGitAlternates": OpMutator,
+ "LinkRepositoryToObjectPool": OpMutator,
},
"OperationService": {
- "UserApplyPatch": protoregistry.OpMutator,
- "UserCherryPick": protoregistry.OpMutator,
- "UserCommitFiles": protoregistry.OpMutator,
- "UserCreateBranch": protoregistry.OpMutator,
- "UserCreateTag": protoregistry.OpMutator,
- "UserDeleteBranch": protoregistry.OpMutator,
- "UserDeleteTag": protoregistry.OpMutator,
- "UserFFBranch": protoregistry.OpMutator,
- "UserMergeBranch": protoregistry.OpMutator,
- "UserMergeToRef": protoregistry.OpMutator,
- "UserRevert": protoregistry.OpMutator,
- "UserSquash": protoregistry.OpMutator,
- "UserUpdateBranch": protoregistry.OpMutator,
- "UserUpdateSubmodule": protoregistry.OpMutator,
+ "UserApplyPatch": OpMutator,
+ "UserCherryPick": OpMutator,
+ "UserCommitFiles": OpMutator,
+ "UserCreateBranch": OpMutator,
+ "UserCreateTag": OpMutator,
+ "UserDeleteBranch": OpMutator,
+ "UserDeleteTag": OpMutator,
+ "UserFFBranch": OpMutator,
+ "UserMergeBranch": OpMutator,
+ "UserMergeToRef": OpMutator,
+ "UserRevert": OpMutator,
+ "UserSquash": OpMutator,
+ "UserUpdateBranch": OpMutator,
+ "UserUpdateSubmodule": OpMutator,
},
"RefService": {
- "DeleteRefs": protoregistry.OpMutator,
- "FindAllBranchNames": protoregistry.OpAccessor,
- "FindAllBranches": protoregistry.OpAccessor,
- "FindAllRemoteBranches": protoregistry.OpAccessor,
- "FindAllTagNames": protoregistry.OpAccessor,
- "FindAllTags": protoregistry.OpAccessor,
- "FindBranch": protoregistry.OpAccessor,
- "FindDefaultBranchName": protoregistry.OpAccessor,
- "FindLocalBranches": protoregistry.OpAccessor,
- "GetTagMessages": protoregistry.OpAccessor,
- "ListBranchNamesContainingCommit": protoregistry.OpAccessor,
- "ListTagNamesContainingCommit": protoregistry.OpAccessor,
- "RefExists": protoregistry.OpAccessor,
+ "DeleteRefs": OpMutator,
+ "FindAllBranchNames": OpAccessor,
+ "FindAllBranches": OpAccessor,
+ "FindAllRemoteBranches": OpAccessor,
+ "FindAllTagNames": OpAccessor,
+ "FindAllTags": OpAccessor,
+ "FindBranch": OpAccessor,
+ "FindDefaultBranchName": OpAccessor,
+ "FindLocalBranches": OpAccessor,
+ "GetTagMessages": OpAccessor,
+ "ListBranchNamesContainingCommit": OpAccessor,
+ "ListTagNamesContainingCommit": OpAccessor,
+ "RefExists": OpAccessor,
},
"RemoteService": {
- "FindRemoteRepository": protoregistry.OpAccessor,
- "FindRemoteRootRef": protoregistry.OpAccessor,
- "UpdateRemoteMirror": protoregistry.OpAccessor,
+ "FindRemoteRepository": OpAccessor,
+ "FindRemoteRootRef": OpAccessor,
+ "UpdateRemoteMirror": OpAccessor,
},
"RepositoryService": {
- "ApplyGitattributes": protoregistry.OpMutator,
- "BackupCustomHooks": protoregistry.OpAccessor,
- "CalculateChecksum": protoregistry.OpAccessor,
- "CreateBundle": protoregistry.OpAccessor,
- "CreateFork": protoregistry.OpMutator,
- "CreateRepository": protoregistry.OpMutator,
- "CreateRepositoryFromBundle": protoregistry.OpMutator,
- "CreateRepositoryFromSnapshot": protoregistry.OpMutator,
- "CreateRepositoryFromURL": protoregistry.OpMutator,
- "FetchBundle": protoregistry.OpMutator,
- "FetchRemote": protoregistry.OpMutator,
- "FetchSourceBranch": protoregistry.OpMutator,
- "FindLicense": protoregistry.OpAccessor,
- "FindMergeBase": protoregistry.OpAccessor,
- "Fsck": protoregistry.OpAccessor,
- "GetArchive": protoregistry.OpAccessor,
- "GetInfoAttributes": protoregistry.OpAccessor,
- "GetRawChanges": protoregistry.OpAccessor,
- "GetSnapshot": protoregistry.OpAccessor,
- "HasLocalBranches": protoregistry.OpAccessor,
- "OptimizeRepository": protoregistry.OpMaintenance,
- "PruneUnreachableObjects": protoregistry.OpMaintenance,
- "RepositoryExists": protoregistry.OpAccessor,
- "RepositorySize": protoregistry.OpAccessor,
- "RestoreCustomHooks": protoregistry.OpMutator,
- "SearchFilesByContent": protoregistry.OpAccessor,
- "SearchFilesByName": protoregistry.OpAccessor,
- "WriteRef": protoregistry.OpMutator,
+ "ApplyGitattributes": OpMutator,
+ "BackupCustomHooks": OpAccessor,
+ "CalculateChecksum": OpAccessor,
+ "CreateBundle": OpAccessor,
+ "CreateFork": OpMutator,
+ "CreateRepository": OpMutator,
+ "CreateRepositoryFromBundle": OpMutator,
+ "CreateRepositoryFromSnapshot": OpMutator,
+ "CreateRepositoryFromURL": OpMutator,
+ "FetchBundle": OpMutator,
+ "FetchRemote": OpMutator,
+ "FetchSourceBranch": OpMutator,
+ "FindLicense": OpAccessor,
+ "FindMergeBase": OpAccessor,
+ "Fsck": OpAccessor,
+ "GetArchive": OpAccessor,
+ "GetInfoAttributes": OpAccessor,
+ "GetRawChanges": OpAccessor,
+ "GetSnapshot": OpAccessor,
+ "HasLocalBranches": OpAccessor,
+ "OptimizeRepository": OpMaintenance,
+ "PruneUnreachableObjects": OpMaintenance,
+ "RepositoryExists": OpAccessor,
+ "RepositorySize": OpAccessor,
+ "RestoreCustomHooks": OpMutator,
+ "SearchFilesByContent": OpAccessor,
+ "SearchFilesByName": OpAccessor,
+ "WriteRef": OpMutator,
},
"SmartHTTPService": {
- "InfoRefsReceivePack": protoregistry.OpAccessor,
- "InfoRefsUploadPack": protoregistry.OpAccessor,
- "PostReceivePack": protoregistry.OpMutator,
- "PostUploadPackWithSidechannel": protoregistry.OpAccessor,
+ "InfoRefsReceivePack": OpAccessor,
+ "InfoRefsUploadPack": OpAccessor,
+ "PostReceivePack": OpMutator,
+ "PostUploadPackWithSidechannel": OpAccessor,
},
"SSHService": {
- "SSHReceivePack": protoregistry.OpMutator,
- "SSHUploadArchive": protoregistry.OpAccessor,
- "SSHUploadPack": protoregistry.OpAccessor,
+ "SSHReceivePack": OpMutator,
+ "SSHUploadArchive": OpAccessor,
+ "SSHUploadPack": OpAccessor,
},
}
@@ -143,17 +144,19 @@ func TestNewProtoRegistry(t *testing.T) {
for methodName, opType := range methods {
method := fmt.Sprintf("/gitaly.%s/%s", serviceName, methodName)
- methodInfo, err := protoregistry.GitalyProtoPreregistered.LookupMethod(method)
+ methodInfo, err := GitalyProtoPreregistered.LookupMethod(method)
require.NoError(t, err)
require.Equalf(t, opType, methodInfo.Operation, "expect %s:%s to have the correct op type", serviceName, methodName)
require.Equal(t, method, methodInfo.FullMethodName())
- require.False(t, protoregistry.GitalyProtoPreregistered.IsInterceptedMethod(method), method)
+ require.False(t, GitalyProtoPreregistered.IsInterceptedMethod(method), method)
}
}
}
func TestNewProtoRegistry_IsInterceptedMethod(t *testing.T) {
+ t.Parallel()
+
for service, methods := range map[string][]string{
"ServerService": {
"ServerInfo",
@@ -173,8 +176,8 @@ func TestNewProtoRegistry_IsInterceptedMethod(t *testing.T) {
for _, method := range methods {
t.Run(method, func(t *testing.T) {
fullMethodName := fmt.Sprintf("/gitaly.%s/%s", service, method)
- require.True(t, protoregistry.GitalyProtoPreregistered.IsInterceptedMethod(fullMethodName))
- methodInfo, err := protoregistry.GitalyProtoPreregistered.LookupMethod(fullMethodName)
+ require.True(t, GitalyProtoPreregistered.IsInterceptedMethod(fullMethodName))
+ methodInfo, err := GitalyProtoPreregistered.LookupMethod(fullMethodName)
require.Empty(t, methodInfo)
require.Error(t, err, "full method name not found:")
})