User: Add tracing (#87028)
* Inject tracer in tests * Annotate with traces Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
This commit is contained in:
co-authored by
Gabriel MABILLE
parent
7f1b2ef205
commit
a2cba3d0b5
@@ -10,6 +10,7 @@ import (
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"github.com/grafana/grafana/pkg/infra/localcache"
|
||||
"github.com/grafana/grafana/pkg/infra/tracing"
|
||||
"github.com/grafana/grafana/pkg/services/org"
|
||||
"github.com/grafana/grafana/pkg/services/org/orgtest"
|
||||
"github.com/grafana/grafana/pkg/services/team/teamtest"
|
||||
@@ -25,6 +26,7 @@ func TestUserService(t *testing.T) {
|
||||
orgService: orgService,
|
||||
cacheService: localcache.ProvideService(),
|
||||
teamService: &teamtest.FakeService{},
|
||||
tracer: tracing.InitializeTracerForTest(),
|
||||
}
|
||||
userService.cfg = setting.NewCfg()
|
||||
|
||||
@@ -100,6 +102,7 @@ func TestUserService(t *testing.T) {
|
||||
orgService: orgService,
|
||||
cacheService: localcache.ProvideService(),
|
||||
teamService: teamtest.NewFakeService(),
|
||||
tracer: tracing.InitializeTracerForTest(),
|
||||
}
|
||||
usr := &user.SignedInUser{
|
||||
OrgID: 1,
|
||||
@@ -149,7 +152,10 @@ func TestUserService(t *testing.T) {
|
||||
|
||||
func TestService_Update(t *testing.T) {
|
||||
setup := func(opts ...func(svc *Service)) *Service {
|
||||
service := &Service{store: &FakeUserStore{}}
|
||||
service := &Service{
|
||||
store: &FakeUserStore{},
|
||||
tracer: tracing.InitializeTracerForTest(),
|
||||
}
|
||||
for _, o := range opts {
|
||||
o(service)
|
||||
}
|
||||
@@ -204,6 +210,33 @@ func TestService_Update(t *testing.T) {
|
||||
})
|
||||
}
|
||||
|
||||
func TestUpdateLastSeenAt(t *testing.T) {
|
||||
userStore := newUserStoreFake()
|
||||
orgService := orgtest.NewOrgServiceFake()
|
||||
userService := Service{
|
||||
store: userStore,
|
||||
orgService: orgService,
|
||||
cacheService: localcache.ProvideService(),
|
||||
teamService: &teamtest.FakeService{},
|
||||
tracer: tracing.InitializeTracerForTest(),
|
||||
}
|
||||
userService.cfg = setting.NewCfg()
|
||||
|
||||
t.Run("update last seen at", func(t *testing.T) {
|
||||
userStore.ExpectedSignedInUser = &user.SignedInUser{UserID: 1, OrgID: 1, Email: "email", Login: "login", Name: "name", LastSeenAt: time.Now().Add(-10 * time.Minute)}
|
||||
err := userService.UpdateLastSeenAt(context.Background(), &user.UpdateUserLastSeenAtCommand{UserID: 1, OrgID: 1})
|
||||
require.NoError(t, err)
|
||||
})
|
||||
|
||||
userService.cacheService.Flush()
|
||||
|
||||
t.Run("do not update last seen at", func(t *testing.T) {
|
||||
userStore.ExpectedSignedInUser = &user.SignedInUser{UserID: 1, OrgID: 1, Email: "email", Login: "login", Name: "name", LastSeenAt: time.Now().Add(-1 * time.Minute)}
|
||||
err := userService.UpdateLastSeenAt(context.Background(), &user.UpdateUserLastSeenAtCommand{UserID: 1, OrgID: 1})
|
||||
require.ErrorIs(t, err, user.ErrLastSeenUpToDate, err)
|
||||
})
|
||||
}
|
||||
|
||||
func TestMetrics(t *testing.T) {
|
||||
userStore := newUserStoreFake()
|
||||
orgService := orgtest.NewOrgServiceFake()
|
||||
@@ -213,6 +246,7 @@ func TestMetrics(t *testing.T) {
|
||||
orgService: orgService,
|
||||
cacheService: localcache.ProvideService(),
|
||||
teamService: &teamtest.FakeService{},
|
||||
tracer: tracing.InitializeTracerForTest(),
|
||||
}
|
||||
|
||||
t.Run("update user with role None", func(t *testing.T) {
|
||||
@@ -303,29 +337,3 @@ func (f *FakeUserStore) Count(ctx context.Context) (int64, error) {
|
||||
func (f *FakeUserStore) CountUserAccountsWithEmptyRole(ctx context.Context) (int64, error) {
|
||||
return f.ExpectedCountUserAccountsWithEmptyRoles, nil
|
||||
}
|
||||
|
||||
func TestUpdateLastSeenAt(t *testing.T) {
|
||||
userStore := newUserStoreFake()
|
||||
orgService := orgtest.NewOrgServiceFake()
|
||||
userService := Service{
|
||||
store: userStore,
|
||||
orgService: orgService,
|
||||
cacheService: localcache.ProvideService(),
|
||||
teamService: &teamtest.FakeService{},
|
||||
}
|
||||
userService.cfg = setting.NewCfg()
|
||||
|
||||
t.Run("update last seen at", func(t *testing.T) {
|
||||
userStore.ExpectedSignedInUser = &user.SignedInUser{UserID: 1, OrgID: 1, Email: "email", Login: "login", Name: "name", LastSeenAt: time.Now().Add(-10 * time.Minute)}
|
||||
err := userService.UpdateLastSeenAt(context.Background(), &user.UpdateUserLastSeenAtCommand{UserID: 1, OrgID: 1})
|
||||
require.NoError(t, err)
|
||||
})
|
||||
|
||||
userService.cacheService.Flush()
|
||||
|
||||
t.Run("do not update last seen at", func(t *testing.T) {
|
||||
userStore.ExpectedSignedInUser = &user.SignedInUser{UserID: 1, OrgID: 1, Email: "email", Login: "login", Name: "name", LastSeenAt: time.Now().Add(-1 * time.Minute)}
|
||||
err := userService.UpdateLastSeenAt(context.Background(), &user.UpdateUserLastSeenAtCommand{UserID: 1, OrgID: 1})
|
||||
require.ErrorIs(t, err, user.ErrLastSeenUpToDate, err)
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user