mirror of
https://github.com/grafana/grafana.git
synced 2025-08-01 08:45:57 +08:00
56 lines
1.5 KiB
Go
56 lines
1.5 KiB
Go
package database
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"github.com/grafana/grafana/pkg/components/satokengen"
|
|
"github.com/grafana/grafana/pkg/services/org"
|
|
"github.com/grafana/grafana/pkg/services/serviceaccounts"
|
|
"github.com/grafana/grafana/pkg/services/serviceaccounts/tests"
|
|
)
|
|
|
|
func TestIntegrationStore_UsageStats(t *testing.T) {
|
|
if testing.Short() {
|
|
t.Skip("skipping test in short mode")
|
|
}
|
|
|
|
saToCreate := tests.TestUser{Login: "servicetestwithTeam@admin", IsServiceAccount: true}
|
|
db, store := setupTestDatabase(t)
|
|
sa := tests.SetupUserServiceAccount(t, db, store.cfg, saToCreate)
|
|
|
|
store.cfg.SATokenExpirationDayLimit = 4
|
|
|
|
keyName := t.Name()
|
|
key, err := satokengen.New(keyName)
|
|
require.NoError(t, err)
|
|
|
|
cmd := serviceaccounts.AddServiceAccountTokenCommand{
|
|
Name: keyName,
|
|
OrgId: sa.OrgID,
|
|
Key: key.HashedKey,
|
|
SecondsToLive: 0,
|
|
}
|
|
|
|
_, err = store.AddServiceAccountToken(context.Background(), sa.ID, &cmd)
|
|
require.NoError(t, err)
|
|
|
|
role := org.RoleNone
|
|
form := serviceaccounts.UpdateServiceAccountForm{
|
|
Role: &role,
|
|
}
|
|
_, err = store.UpdateServiceAccount(context.Background(), sa.OrgID, sa.ID, &form)
|
|
require.NoError(t, err)
|
|
|
|
stats, err := store.GetUsageMetrics(context.Background())
|
|
require.NoError(t, err)
|
|
|
|
assert.Equal(t, int64(1), stats.ServiceAccounts)
|
|
assert.Equal(t, int64(1), stats.ServiceAccountsWithNoRole)
|
|
assert.Equal(t, int64(1), stats.Tokens)
|
|
assert.Equal(t, true, stats.ForcedExpiryEnabled)
|
|
}
|