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:
authorJohn Cai <jcai@gitlab.com>2019-10-25 20:33:34 +0300
committerJohn Cai <jcai@gitlab.com>2019-10-25 20:33:34 +0300
commitd47b268af2db42d7fb4e1af7252f62ba7dcc27fe (patch)
tree7a931a517a9550e3549d24b81651a8fe32690ece
parent3b700822524aded160cc7a20573d1fac1ea62ca2 (diff)
Add auth tests to ensure auth is being exercised
-rw-r--r--internal/server/auth_test.go65
1 files changed, 65 insertions, 0 deletions
diff --git a/internal/server/auth_test.go b/internal/server/auth_test.go
index 462f5d80d..3ee2a340b 100644
--- a/internal/server/auth_test.go
+++ b/internal/server/auth_test.go
@@ -13,6 +13,8 @@ import (
"gitlab.com/gitlab-org/gitaly/internal/auth"
"gitlab.com/gitlab-org/gitaly/internal/config"
"gitlab.com/gitlab-org/gitaly/internal/testhelper"
+ "gitlab.com/gitlab-org/gitaly/proto/go/gitalypb"
+ "gitlab.com/gitlab-org/gitaly/streamio"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/credentials"
@@ -211,3 +213,66 @@ func runSecureServer(t *testing.T) (*grpc.Server, string) {
return srv, "localhost:9999"
}
+
+func TestUnaryNoAuth(t *testing.T) {
+ oldToken := config.Config.Auth.Token
+ config.Config.Auth.Token = "testtoken"
+ defer func() {
+ config.Config.Auth.Token = oldToken
+ }()
+
+ srv, path := runServer(t)
+ defer srv.Stop()
+
+ connOpts := []grpc.DialOption{
+ grpc.WithInsecure(),
+ }
+
+ conn, err := grpc.Dial(path, connOpts...)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ ctx, cancel := testhelper.Context()
+ defer cancel()
+
+ client := gitalypb.NewRepositoryServiceClient(conn)
+ _, err = client.CreateRepository(ctx, &gitalypb.CreateRepositoryRequest{Repository: &gitalypb.Repository{StorageName: "default", RelativePath: "new/project/path"}})
+
+ testhelper.RequireGrpcError(t, err, codes.Unauthenticated)
+}
+
+func TestStreamingNoAuth(t *testing.T) {
+ oldToken := config.Config.Auth.Token
+ config.Config.Auth.Token = "testtoken"
+ defer func() {
+ config.Config.Auth.Token = oldToken
+ }()
+
+ srv, path := runServer(t)
+ defer srv.Stop()
+
+ connOpts := []grpc.DialOption{
+ grpc.WithInsecure(),
+ }
+
+ conn, err := grpc.Dial(path, connOpts...)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ ctx, cancel := testhelper.Context()
+ defer cancel()
+
+ client := gitalypb.NewRepositoryServiceClient(conn)
+ stream, err := client.GetInfoAttributes(ctx, &gitalypb.GetInfoAttributesRequest{Repository: &gitalypb.Repository{StorageName: "default", RelativePath: "new/project/path"}})
+
+ require.NoError(t, err)
+
+ _, err = ioutil.ReadAll(streamio.NewReader(func() ([]byte, error) {
+ _, err = stream.Recv()
+ return nil, err
+ }))
+
+ testhelper.RequireGrpcError(t, err, codes.Unauthenticated)
+}