Skip to content

Commit 84c8115

Browse files
committed
[FAB-10686] testutil->testify core/ledger
Change-Id: Ia57715e5fab7c5279f11a5ef418f12322478417a Signed-off-by: Matthew Sykes <sykesmat@us.ibm.com>
1 parent 6223621 commit 84c8115

File tree

5 files changed

+182
-203
lines changed

5 files changed

+182
-203
lines changed

core/ledger/kvledger/kv_ledger_provider_test.go

Lines changed: 58 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import (
3434
"github.com/hyperledger/fabric/protos/ledger/queryresult"
3535
putils "github.com/hyperledger/fabric/protos/utils"
3636
"github.com/spf13/viper"
37+
"github.com/stretchr/testify/assert"
3738
)
3839

3940
func TestLedgerProvider(t *testing.T) {
@@ -42,57 +43,57 @@ func TestLedgerProvider(t *testing.T) {
4243
numLedgers := 10
4344
provider := testutilNewProvider(t)
4445
existingLedgerIDs, err := provider.List()
45-
testutil.AssertNoError(t, err, "")
46-
testutil.AssertEquals(t, len(existingLedgerIDs), 0)
46+
assert.NoError(t, err)
47+
assert.Len(t, existingLedgerIDs, 0)
4748
genesisBlocks := make([]*common.Block, numLedgers)
4849
for i := 0; i < numLedgers; i++ {
4950
genesisBlock, _ := configtxtest.MakeGenesisBlock(constructTestLedgerID(i))
5051
genesisBlocks[i] = genesisBlock
5152
provider.Create(genesisBlock)
5253
}
5354
existingLedgerIDs, err = provider.List()
54-
testutil.AssertNoError(t, err, "")
55-
testutil.AssertEquals(t, len(existingLedgerIDs), numLedgers)
55+
assert.NoError(t, err)
56+
assert.Len(t, existingLedgerIDs, numLedgers)
5657

5758
provider.Close()
5859

5960
provider = testutilNewProvider(t)
6061
defer provider.Close()
6162
ledgerIds, _ := provider.List()
62-
testutil.AssertEquals(t, len(ledgerIds), numLedgers)
63+
assert.Len(t, ledgerIds, numLedgers)
6364
t.Logf("ledgerIDs=%#v", ledgerIds)
6465
for i := 0; i < numLedgers; i++ {
65-
testutil.AssertEquals(t, ledgerIds[i], constructTestLedgerID(i))
66+
assert.Equal(t, constructTestLedgerID(i), ledgerIds[i])
6667
}
6768
for i := 0; i < numLedgers; i++ {
6869
ledgerid := constructTestLedgerID(i)
6970
status, _ := provider.Exists(ledgerid)
70-
testutil.AssertEquals(t, status, true)
71+
assert.True(t, status)
7172
ledger, err := provider.Open(ledgerid)
72-
testutil.AssertNoError(t, err, "")
73+
assert.NoError(t, err)
7374
bcInfo, err := ledger.GetBlockchainInfo()
7475
ledger.Close()
75-
testutil.AssertNoError(t, err, "")
76-
testutil.AssertEquals(t, bcInfo.Height, uint64(1))
76+
assert.NoError(t, err)
77+
assert.Equal(t, uint64(1), bcInfo.Height)
7778

7879
// check that the genesis block was persisted in the provider's db
7980
s := provider.(*Provider).idStore
8081
gbBytesInProviderStore, err := s.db.Get(s.encodeLedgerKey(ledgerid))
81-
testutil.AssertNoError(t, err, "")
82+
assert.NoError(t, err)
8283
gb := &common.Block{}
83-
testutil.AssertNoError(t, proto.Unmarshal(gbBytesInProviderStore, gb), "")
84-
testutil.AssertEquals(t, gb, genesisBlocks[i])
84+
assert.NoError(t, proto.Unmarshal(gbBytesInProviderStore, gb))
85+
assert.True(t, proto.Equal(gb, genesisBlocks[i]), "proto messages are not equal")
8586
}
8687
gb, _ := configtxtest.MakeGenesisBlock(constructTestLedgerID(2))
8788
_, err = provider.Create(gb)
88-
testutil.AssertEquals(t, err, ErrLedgerIDExists)
89+
assert.Equal(t, ErrLedgerIDExists, err)
8990

9091
status, err := provider.Exists(constructTestLedgerID(numLedgers))
91-
testutil.AssertNoError(t, err, "Failed to check for ledger existence")
92-
testutil.AssertEquals(t, false, status)
92+
assert.NoError(t, err, "Failed to check for ledger existence")
93+
assert.Equal(t, status, false)
9394

9495
_, err = provider.Open(constructTestLedgerID(numLedgers))
95-
testutil.AssertEquals(t, err, ErrNonExistingLedgerID)
96+
assert.Equal(t, ErrNonExistingLedgerID, err)
9697
}
9798

9899
func TestRecovery(t *testing.T) {
@@ -115,10 +116,10 @@ func TestRecovery(t *testing.T) {
115116
provider = testutilNewProvider(t)
116117
// verify the underecoveryflag and open the ledger
117118
flag, err := provider.(*Provider).idStore.getUnderConstructionFlag()
118-
testutil.AssertNoError(t, err, "Failed to read the underconstruction flag")
119-
testutil.AssertEquals(t, flag, "")
119+
assert.NoError(t, err, "Failed to read the underconstruction flag")
120+
assert.Equal(t, "", flag)
120121
ledger, err = provider.Open(constructTestLedgerID(1))
121-
testutil.AssertNoError(t, err, "Failed to open the ledger")
122+
assert.NoError(t, err, "Failed to open the ledger")
122123
ledger.Close()
123124

124125
// Case 0: assume a crash happens before the genesis block of ledger 2 is committed
@@ -128,10 +129,10 @@ func TestRecovery(t *testing.T) {
128129

129130
// construct a new provider to invoke recovery
130131
provider = testutilNewProvider(t)
131-
testutil.AssertNoError(t, err, "Provider failed to recover an underConstructionLedger")
132+
assert.NoError(t, err, "Provider failed to recover an underConstructionLedger")
132133
flag, err = provider.(*Provider).idStore.getUnderConstructionFlag()
133-
testutil.AssertNoError(t, err, "Failed to read the underconstruction flag")
134-
testutil.AssertEquals(t, flag, "")
134+
assert.NoError(t, err, "Failed to read the underconstruction flag")
135+
assert.Equal(t, "", flag)
135136

136137
}
137138

@@ -144,20 +145,20 @@ func TestMultipleLedgerBasicRW(t *testing.T) {
144145
for i := 0; i < numLedgers; i++ {
145146
bg, gb := testutil.NewBlockGenerator(t, constructTestLedgerID(i), false)
146147
l, err := provider.Create(gb)
147-
testutil.AssertNoError(t, err, "")
148+
assert.NoError(t, err)
148149
ledgers[i] = l
149150
txid := util.GenerateUUID()
150151
s, _ := l.NewTxSimulator(txid)
151152
err = s.SetState("ns", "testKey", []byte(fmt.Sprintf("testValue_%d", i)))
152153
s.Done()
153-
testutil.AssertNoError(t, err, "")
154+
assert.NoError(t, err)
154155
res, err := s.GetTxSimulationResults()
155-
testutil.AssertNoError(t, err, "")
156+
assert.NoError(t, err)
156157
pubSimBytes, _ := res.GetPubSimulationBytes()
157158
b := bg.NextBlock([][]byte{pubSimBytes})
158159
err = l.CommitWithPvtData(&lgr.BlockAndPvtData{Block: b})
159160
l.Close()
160-
testutil.AssertNoError(t, err, "")
161+
assert.NoError(t, err)
161162
}
162163

163164
provider.Close()
@@ -167,16 +168,16 @@ func TestMultipleLedgerBasicRW(t *testing.T) {
167168
ledgers = make([]lgr.PeerLedger, numLedgers)
168169
for i := 0; i < numLedgers; i++ {
169170
l, err := provider.Open(constructTestLedgerID(i))
170-
testutil.AssertNoError(t, err, "")
171+
assert.NoError(t, err)
171172
ledgers[i] = l
172173
}
173174

174175
for i, l := range ledgers {
175176
q, _ := l.NewQueryExecutor()
176177
val, err := q.GetState("ns", "testKey")
177178
q.Done()
178-
testutil.AssertNoError(t, err, "")
179-
testutil.AssertEquals(t, val, []byte(fmt.Sprintf("testValue_%d", i)))
179+
assert.NoError(t, err)
180+
assert.Equal(t, []byte(fmt.Sprintf("testValue_%d", i)), val)
180181
l.Close()
181182
}
182183
}
@@ -224,77 +225,78 @@ func TestLedgerBackup(t *testing.T) {
224225

225226
// remove the statedb, historydb, and block indexes (they are supposed to be auto created during opening of an existing ledger)
226227
// and rename the originalPath to restorePath
227-
testutil.AssertNoError(t, os.RemoveAll(ledgerconfig.GetStateLevelDBPath()), "")
228-
testutil.AssertNoError(t, os.RemoveAll(ledgerconfig.GetHistoryLevelDBPath()), "")
229-
testutil.AssertNoError(t, os.RemoveAll(filepath.Join(ledgerconfig.GetBlockStorePath(), fsblkstorage.IndexDir)), "")
230-
testutil.AssertNoError(t, os.Rename(originalPath, restorePath), "")
228+
assert.NoError(t, os.RemoveAll(ledgerconfig.GetStateLevelDBPath()))
229+
assert.NoError(t, os.RemoveAll(ledgerconfig.GetHistoryLevelDBPath()))
230+
assert.NoError(t, os.RemoveAll(filepath.Join(ledgerconfig.GetBlockStorePath(), fsblkstorage.IndexDir)))
231+
assert.NoError(t, os.Rename(originalPath, restorePath))
231232
defer env.cleanup()
232233

233234
// Instantiate the ledger from restore environment and this should behave exactly as it would have in the original environment
234235
provider = testutilNewProvider(t)
235236
defer provider.Close()
236237

237238
_, err := provider.Create(gb)
238-
testutil.AssertEquals(t, err, ErrLedgerIDExists)
239+
assert.Equal(t, ErrLedgerIDExists, err)
239240

240241
ledger, _ = provider.Open(ledgerid)
241242
defer ledger.Close()
242243

243244
block1Hash := block1.Header.Hash()
244245
block2Hash := block2.Header.Hash()
245246
bcInfo, _ := ledger.GetBlockchainInfo()
246-
testutil.AssertEquals(t, bcInfo, &common.BlockchainInfo{
247-
Height: 3, CurrentBlockHash: block2Hash, PreviousBlockHash: block1Hash})
247+
assert.Equal(t, &common.BlockchainInfo{
248+
Height: 3, CurrentBlockHash: block2Hash, PreviousBlockHash: block1Hash,
249+
}, bcInfo)
248250

249251
b0, _ := ledger.GetBlockByHash(gbHash)
250-
testutil.AssertEquals(t, b0, gb)
252+
assert.True(t, proto.Equal(b0, gb), "proto messages are not equal")
251253

252254
b1, _ := ledger.GetBlockByHash(block1Hash)
253-
testutil.AssertEquals(t, b1, block1)
255+
assert.True(t, proto.Equal(b1, block1), "proto messages are not equal")
254256

255257
b2, _ := ledger.GetBlockByHash(block2Hash)
256-
testutil.AssertEquals(t, b2, block2)
258+
assert.True(t, proto.Equal(b2, block2), "proto messages are not equal")
257259

258260
b0, _ = ledger.GetBlockByNumber(0)
259-
testutil.AssertEquals(t, b0, gb)
261+
assert.True(t, proto.Equal(b0, gb), "proto messages are not equal")
260262

261263
b1, _ = ledger.GetBlockByNumber(1)
262-
testutil.AssertEquals(t, b1, block1)
264+
assert.True(t, proto.Equal(b1, block1), "proto messages are not equal")
263265

264266
b2, _ = ledger.GetBlockByNumber(2)
265-
testutil.AssertEquals(t, b2, block2)
267+
assert.True(t, proto.Equal(b2, block2), "proto messages are not equal")
266268

267269
// get the tran id from the 2nd block, then use it to test GetTransactionByID()
268270
txEnvBytes2 := block1.Data.Data[0]
269271
txEnv2, err := putils.GetEnvelopeFromBlock(txEnvBytes2)
270-
testutil.AssertNoError(t, err, "Error upon GetEnvelopeFromBlock")
272+
assert.NoError(t, err, "Error upon GetEnvelopeFromBlock")
271273
payload2, err := putils.GetPayload(txEnv2)
272-
testutil.AssertNoError(t, err, "Error upon GetPayload")
274+
assert.NoError(t, err, "Error upon GetPayload")
273275
chdr, err := putils.UnmarshalChannelHeader(payload2.Header.ChannelHeader)
274-
testutil.AssertNoError(t, err, "Error upon GetChannelHeaderFromBytes")
276+
assert.NoError(t, err, "Error upon GetChannelHeaderFromBytes")
275277
txID2 := chdr.TxId
276278
processedTran2, err := ledger.GetTransactionByID(txID2)
277-
testutil.AssertNoError(t, err, "Error upon GetTransactionByID")
279+
assert.NoError(t, err, "Error upon GetTransactionByID")
278280
// get the tran envelope from the retrieved ProcessedTransaction
279281
retrievedTxEnv2 := processedTran2.TransactionEnvelope
280-
testutil.AssertEquals(t, retrievedTxEnv2, txEnv2)
282+
assert.Equal(t, txEnv2, retrievedTxEnv2)
281283

282284
qe, _ := ledger.NewQueryExecutor()
283285
value1, _ := qe.GetState("ns1", "key1")
284-
testutil.AssertEquals(t, value1, []byte("value4"))
286+
assert.Equal(t, []byte("value4"), value1)
285287

286288
hqe, err := ledger.NewHistoryQueryExecutor()
287-
testutil.AssertNoError(t, err, "")
289+
assert.NoError(t, err)
288290
itr, err := hqe.GetHistoryForKey("ns1", "key1")
289-
testutil.AssertNoError(t, err, "")
291+
assert.NoError(t, err)
290292
defer itr.Close()
291293

292294
result1, err := itr.Next()
293-
testutil.AssertNoError(t, err, "")
294-
testutil.AssertEquals(t, result1.(*queryresult.KeyModification).Value, []byte("value1"))
295+
assert.NoError(t, err)
296+
assert.Equal(t, []byte("value1"), result1.(*queryresult.KeyModification).Value)
295297
result2, err := itr.Next()
296-
testutil.AssertNoError(t, err, "")
297-
testutil.AssertEquals(t, result2.(*queryresult.KeyModification).Value, []byte("value4"))
298+
assert.NoError(t, err)
299+
assert.Equal(t, []byte("value4"), result2.(*queryresult.KeyModification).Value)
298300
}
299301

300302
func constructTestLedgerID(i int) string {
@@ -303,7 +305,7 @@ func constructTestLedgerID(i int) string {
303305

304306
func testutilNewProvider(t *testing.T) lgr.PeerLedgerProvider {
305307
provider, err := NewProvider()
306-
testutil.AssertNoError(t, err, "")
308+
assert.NoError(t, err)
307309
provider.Initialize(&lgr.Initializer{
308310
DeployedChaincodeInfoProvider: &mock.DeployedChaincodeInfoProvider{},
309311
})

0 commit comments

Comments
 (0)