Skip to content

Commit c9ed0f0

Browse files
sid200727claude
andcommitted
fix(storage): fix golangci-lint errors
- G115: safe int->uint64 conversion via safeUint64 helper - nlreturn: add blank lines before return in tcondition, wallet, wallet_test_utils - testifylint: use require.NoError for error assertions in querybuilder_test Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Siddhi Khandelwal <siddhi.200727@gmail.com>
1 parent 71bc83d commit c9ed0f0

5 files changed

Lines changed: 20 additions & 6 deletions

File tree

token/services/storage/db/sql/common/querybuilder_test.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
driver2 "github.com/hyperledger-labs/fabric-token-sdk/token/services/storage/db/driver"
1818
"github.com/hyperledger-labs/fabric-token-sdk/token/token"
1919
"github.com/stretchr/testify/assert"
20+
"github.com/stretchr/testify/require"
2021
)
2122

2223
func TestTransactionSql(t *testing.T) {
@@ -127,7 +128,7 @@ func TestTransactionSql(t *testing.T) {
127128
return
128129
}
129130
actualSql, actualArgs, err := evalSqlizer(sqlizer)
130-
assert.NoError(t, err)
131+
require.NoError(t, err)
131132
assert.Equal(t, tc.expectedSql, actualSql)
132133
compareArgs(t, tc.expectedArgs, actualArgs)
133134
})
@@ -244,7 +245,7 @@ func TestMovementConditions(t *testing.T) {
244245
for _, tc := range testCases {
245246
t.Run(tc.name, func(t *testing.T) {
246247
actualSql, actualArgs, err := evalSqlizer(HasMovementsParams(tc.params))
247-
assert.NoError(t, err)
248+
require.NoError(t, err)
248249
assert.Equal(t, tc.expectedSql, actualSql)
249250
compareArgs(t, tc.expectedArgs, actualArgs)
250251
})
@@ -327,7 +328,7 @@ func TestTokenSql(t *testing.T) {
327328
for _, tc := range testCases {
328329
t.Run(tc.name, func(t *testing.T) {
329330
actualSql, actualArgs, err := evalSqlizer(HasTokenDetails(tc.params, ""))
330-
assert.NoError(t, err)
331+
require.NoError(t, err)
331332
assert.Equal(t, tc.expectedSql, actualSql, tc.name)
332333
assert.Equal(t, tc.expectedArgs, actualArgs)
333334
})
@@ -337,7 +338,7 @@ func TestTokenSql(t *testing.T) {
337338
IDs: []*token.ID{{TxId: "a", Index: 1}},
338339
WalletID: "me",
339340
}, "A"))
340-
assert.NoError(t, err)
341+
require.NoError(t, err)
341342
assert.Equal(t, "(owner = $1 AND (wallet_id IN ($2) OR owner_wallet_id IN ($3)) AND ((A.tx_id = $4 AND A.idx = $5)) AND is_deleted = $6)", where, "join")
342343
assert.Len(t, args, 6)
343344
}
@@ -418,7 +419,7 @@ func TestTokenSqlNoJoin(t *testing.T) {
418419
for _, tc := range testCases {
419420
t.Run(tc.name, func(t *testing.T) {
420421
actualSql, actualArgs, err := evalSqlizer(HasTokenDetails(tc.params, ""))
421-
assert.NoError(t, err)
422+
require.NoError(t, err)
422423
assert.Equal(t, tc.expectedSql, actualSql, tc.name)
423424
assert.Equal(t, tc.expectedArgs, actualArgs)
424425
})

token/services/storage/db/sql/common/tcondition.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ func HasTokens(colTxID, colIdx string, ids ...*token.ID) sq.Sqlizer {
2222
for i, id := range ids {
2323
or[i] = sq.And{sq.Eq{colTxID: id.TxId}, sq.Eq{colIdx: id.Index}}
2424
}
25+
2526
return or
2627
}
2728

token/services/storage/db/sql/common/transactions.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,7 @@ func (db *TransactionStore) ClaimPendingTransactions(ctx context.Context, params
385385
sq.Lt{db.table.Transactions + ".stored_at": params.OlderThan},
386386
}).
387387
OrderBy(db.table.Transactions + ".stored_at ASC").
388-
Limit(uint64(params.Limit)).
388+
Limit(safeUint64(params.Limit)).
389389
PlaceholderFormat(db.pf).
390390
ToSql()
391391
if err != nil {
@@ -935,3 +935,13 @@ func (panicCI) TimeOffset(_ time.Duration, _ qcommon.Builder) {
935935
func (panicCI) InTuple(_ []qcommon.Serializable, _ []qcommon.Tuple, _ qcommon.Builder) {
936936
panic("InTuple not supported in pagination context")
937937
}
938+
939+
// safeUint64 converts a non-negative int to uint64.
940+
// Negative values are clamped to 0 to avoid wrapping.
941+
func safeUint64(n int) uint64 {
942+
if n < 0 {
943+
return 0
944+
}
945+
946+
return uint64(n)
947+
}

token/services/storage/db/sql/common/wallet.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ func (db *WalletStore) IdentityExists(ctx context.Context, identity token.Identi
134134
PlaceholderFormat(db.pf).ToSql()
135135
if err != nil {
136136
logger.Errorf("failed building query for wallet-identity [%s-%s]: %v", wID, idHash, err)
137+
137138
return false
138139
}
139140
result, err := common.QueryUnique[driver.WalletID](db.readDB, query, args...)

token/services/storage/db/sql/common/wallet_test_utils.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,5 +157,6 @@ func sqlPattern(pf sq.PlaceholderFormat, query string) string {
157157
if err != nil {
158158
return query
159159
}
160+
160161
return regexp.QuoteMeta(replaced)
161162
}

0 commit comments

Comments
 (0)