From ea65b50000617252a646395189bfb815a82ca316 Mon Sep 17 00:00:00 2001 From: "A.Unger" Date: Wed, 22 Jul 2020 10:08:14 +0200 Subject: [PATCH] unit test getFailsafeIdentifier --- pkg/service/v0/service_test.go | 65 ++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 pkg/service/v0/service_test.go diff --git a/pkg/service/v0/service_test.go b/pkg/service/v0/service_test.go new file mode 100644 index 0000000000..fa8b2381e5 --- /dev/null +++ b/pkg/service/v0/service_test.go @@ -0,0 +1,65 @@ +package svc + +import ( + "context" + "testing" + + "github.com/owncloud/ocis-pkg/v2/middleware" + "github.com/owncloud/ocis-settings/pkg/proto/v0" + "github.com/stretchr/testify/assert" +) + +var ( + ctxWithUUID = context.WithValue(context.Background(), middleware.UUIDKey, "61445573-4dbe-4d56-88dc-88ab47aceba7") + ctxWithEmptyUUID = context.WithValue(context.Background(), middleware.UUIDKey, "") + emptyCtx = context.Background() + + scenarios = []struct { + name string + identifier *proto.Identifier + ctx context.Context + expect *proto.Identifier + }{ + { + name: "context with UUID; identifier = 'me'", + ctx: ctxWithUUID, + identifier: &proto.Identifier{ + AccountUuid: "me", + }, + expect: &proto.Identifier{ + AccountUuid: ctxWithUUID.Value(middleware.UUIDKey).(string), + }, + }, + { + name: "context without UUID; identifier = 'me'", + ctx: ctxWithEmptyUUID, + identifier: &proto.Identifier{ + AccountUuid: "me", + }, + expect: &proto.Identifier{ + AccountUuid: "", + }, + }, + { + name: "context with UUID; identifier not 'me'", + ctx: ctxWithUUID, + identifier: &proto.Identifier{}, + expect: &proto.Identifier{ + AccountUuid: "", + }, + }, + } +) + +func TestGetFailsafeIdentifier(t *testing.T) { + for _, s := range scenarios { + scenario := s + t.Run(scenario.name, func(t *testing.T) { + got := getFailsafeIdentifier(scenario.ctx, scenario.identifier) + assert.NotPanics(t, func() { + getFailsafeIdentifier(emptyCtx, scenario.identifier) + }) + assert.Equal(t, scenario.expect, got) + }) + } +}