Files
grafana/pkg/services/serviceaccounts/manager/stats_test.go
T
Ieva ca1fd028a2 Service Accounts: Run service account creation in transaction (#94744)
* run service account creation DB queries in transaction

* extract the signed in user from the context

* undo unneeded change

* don't error out if a user is not found

* Update pkg/services/serviceaccounts/manager/service.go

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>

* Update pkg/services/serviceaccounts/manager/service.go

Co-authored-by: Karl Persson <kalle.persson@grafana.com>

---------

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-10-16 11:45:21 +01:00

47 lines
1.5 KiB
Go

package manager
import (
"context"
"testing"
"github.com/grafana/grafana/pkg/services/accesscontrol/actest"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/services/serviceaccounts"
)
func Test_UsageStats(t *testing.T) {
acSvc := actest.FakeService{}
pSvc := actest.FakePermissionsService{}
storeMock := newServiceAccountStoreFake()
svc := ServiceAccountsService{
acService: acSvc,
permissions: &pSvc,
store: storeMock,
log: log.NewNopLogger(),
secretScanService: &SecretsCheckerFake{},
secretScanEnabled: true,
secretScanInterval: 5,
}
err := svc.DeleteServiceAccount(context.Background(), 1, 1)
require.NoError(t, err)
storeMock.ExpectedStats = &serviceaccounts.Stats{
ServiceAccounts: 1,
ServiceAccountsWithNoRole: 1,
Tokens: 1,
ForcedExpiryEnabled: false,
}
stats, err := svc.getUsageMetrics(context.Background())
require.NoError(t, err)
assert.Len(t, stats, 5, stats)
assert.Equal(t, int64(1), stats["stats.serviceaccounts.count"].(int64))
assert.Equal(t, int64(1), stats["stats.serviceaccounts.role_none.count"].(int64))
assert.Equal(t, int64(1), stats["stats.serviceaccounts.tokens.count"].(int64))
assert.Equal(t, int64(1), stats["stats.serviceaccounts.secret_scan.enabled.count"].(int64))
assert.Equal(t, int64(0), stats["stats.serviceaccounts.forced_expiry_enabled.count"].(int64))
}