MCPcopy Create free account
hub / github.com/devaccuracy/ledgerforge / TestCreateAPIKey_Success

Function TestCreateAPIKey_Success

database/api_key_test.go:15–43  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

13)
14
15func TestCreateAPIKey_Success(t *testing.T) {
16 db, mock, err := sqlmock.New()
17 assert.NoError(t, err)
18 defer func() { _ = db.Close() }()
19
20 ds := Datasource{Conn: db}
21
22 name := "Test API Key"
23 ownerID := "owner123"
24 scopes := []string{"read", "write"}
25 expiresAt := time.Now().Add(24 * time.Hour)
26
27 mock.ExpectExec("INSERT INTO ledgerforge.api_keys").
28 WithArgs(sqlmock.AnyArg(), sqlmock.AnyArg(), sqlmock.AnyArg(), name, ownerID, pq.StringArray(scopes), sqlmock.AnyArg(), sqlmock.AnyArg(), sqlmock.AnyArg(), false).
29 WillReturnResult(sqlmock.NewResult(1, 1))
30
31 apiKey, err := ds.CreateAPIKey(context.Background(), name, ownerID, scopes, expiresAt)
32 assert.NoError(t, err)
33 assert.NotNil(t, apiKey)
34 assert.Equal(t, name, apiKey.Name)
35 assert.Equal(t, ownerID, apiKey.OwnerID)
36 assert.Equal(t, scopes, apiKey.Scopes)
37 assert.NotEmpty(t, apiKey.APIKeyID)
38 assert.NotEmpty(t, apiKey.Key)
39 assert.False(t, apiKey.IsRevoked)
40
41 err = mock.ExpectationsWereMet()
42 assert.NoError(t, err)
43}
44
45func TestCreateAPIKey_DatabaseError(t *testing.T) {
46 db, mock, err := sqlmock.New()

Callers

nothing calls this directly

Calls 2

CreateAPIKeyMethod · 0.95
CloseMethod · 0.45

Tested by

no test coverage detected