(t *testing.T)
| 109 | assert.NoError(t, err) |
| 110 | } |
| 111 | func TestGetAPIKey_NotFound(t *testing.T) { |
| 112 | db, mock, err := sqlmock.New() |
| 113 | assert.NoError(t, err) |
| 114 | defer func() { _ = db.Close() }() |
| 115 | |
| 116 | ds := Datasource{Conn: db} |
| 117 | |
| 118 | key := "non-existent-key" |
| 119 | keyPrefix := getKeyPrefix(key) |
| 120 | mock.ExpectQuery(regexp.QuoteMeta("SELECT api_key_id, key, name, owner_id, scopes, expires_at, created_at, last_used_at, is_revoked, revoked_at FROM ledgerforge.api_keys WHERE key_prefix = $1")). |
| 121 | WithArgs(keyPrefix). |
| 122 | WillReturnRows(sqlmock.NewRows([]string{"api_key_id", "key", "name", "owner_id", "scopes", "expires_at", "created_at", "last_used_at", "is_revoked", "revoked_at"})) |
| 123 | |
| 124 | apiKey, err := ds.GetAPIKey(context.Background(), key) |
| 125 | assert.Error(t, err) |
| 126 | assert.Nil(t, apiKey) |
| 127 | assert.Equal(t, ErrAPIKeyNotFound, err) |
| 128 | |
| 129 | err = mock.ExpectationsWereMet() |
| 130 | assert.NoError(t, err) |
| 131 | } |
| 132 | |
| 133 | func TestGetAPIKey_DatabaseError(t *testing.T) { |
| 134 | db, mock, err := sqlmock.New() |
nothing calls this directly
no test coverage detected