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

Function TestCreateAPIKey_DatabaseError

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

Source from the content-addressed store, hash-verified

43}
44
45func TestCreateAPIKey_DatabaseError(t *testing.T) {
46 db, mock, err := sqlmock.New()
47 assert.NoError(t, err)
48 defer func() { _ = db.Close() }()
49
50 ds := Datasource{Conn: db}
51
52 name := "Test API Key"
53 ownerID := "owner123"
54 scopes := []string{"read", "write"}
55 expiresAt := time.Now().Add(24 * time.Hour)
56
57 mock.ExpectExec("INSERT INTO ledgerforge.api_keys").
58 WithArgs(sqlmock.AnyArg(), sqlmock.AnyArg(), sqlmock.AnyArg(), name, ownerID, pq.StringArray(scopes), sqlmock.AnyArg(), sqlmock.AnyArg(), sqlmock.AnyArg(), false).
59 WillReturnError(sql.ErrConnDone)
60
61 apiKey, err := ds.CreateAPIKey(context.Background(), name, ownerID, scopes, expiresAt)
62 assert.Error(t, err)
63 assert.Nil(t, apiKey)
64 assert.Equal(t, sql.ErrConnDone, err)
65
66 err = mock.ExpectationsWereMet()
67 assert.NoError(t, err)
68}
69
70func TestGetAPIKey_Success(t *testing.T) {
71 db, mock, err := sqlmock.New()

Callers

nothing calls this directly

Calls 3

CreateAPIKeyMethod · 0.95
CloseMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected