@@ -7,14 +7,14 @@ SPDX-License-Identifier: Apache-2.0
77package ledger_test
88
99import (
10+ "bytes"
1011 "testing"
1112
1213 "github.com/hyperledger/fabric-protos-go-apiv2/common"
13- "github.com/stretchr/testify/assert"
14-
1514 "github.com/hyperledger/fabric-x-orderer/common/types"
15+ "github.com/hyperledger/fabric-x-orderer/node/consensus/state"
1616 "github.com/hyperledger/fabric-x-orderer/node/ledger"
17-
17+ "github.com/stretchr/testify/assert"
1818 "github.com/stretchr/testify/require"
1919)
2020
@@ -120,29 +120,38 @@ func TestNewFabricBatchFromBlock(t *testing.T) {
120120 expectedErr : "empty block metadata" ,
121121 },
122122 {
123- name : "missing shard party metadata 2 " ,
123+ name : "missing orderer metadata" ,
124124 block : & common.Block {
125125 Header : header ,
126126 Data : data ,
127- Metadata : & common.BlockMetadata {Metadata : [][]byte {{}, {}, {}, {}, {} }},
127+ Metadata : & common.BlockMetadata {Metadata : [][]byte {{}, {}, {}}},
128128 },
129- expectedErr : "missing shard party metadata" ,
129+ expectedErr : "missing orderer metadata" ,
130130 },
131131 {
132- name : "bad shard party metadata" ,
132+ name : "bad orderer metadata" ,
133133 block : & common.Block {
134134 Header : header ,
135135 Data : data ,
136136 Metadata : & common.BlockMetadata {Metadata : [][]byte {{}, {}, {}, {}, {}, {}}},
137137 },
138- expectedErr : "bad shard party metadata" ,
138+ expectedErr : "bad orderer metadata" ,
139+ },
140+ {
141+ name : "bad orderer metadata 2" ,
142+ block : & common.Block {
143+ Header : header ,
144+ Data : data ,
145+ Metadata : & common.BlockMetadata {Metadata : [][]byte {{}, {}, {}, {0x01 }, {}, {}}},
146+ },
147+ expectedErr : "bad orderer metadata" ,
139148 },
140149 {
141150 name : "good" ,
142151 block : & common.Block {
143152 Header : header ,
144153 Data : data ,
145- Metadata : & common.BlockMetadata {Metadata : [][]byte {{}, {}, {}, {}, {}, { 0x01 , 0x02 , 0x03 , 0x04 }}},
154+ Metadata : & common.BlockMetadata {Metadata : [][]byte {{}, {}, {}, {0x01 , 0x02 , 0x03 , 0x04 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x05 }, { }}},
146155 },
147156 expectedErr : "" ,
148157 },
@@ -156,11 +165,29 @@ func TestNewFabricBatchFromBlock(t *testing.T) {
156165 assert .NotNil (t , fb )
157166 assert .NoError (t , err )
158167 assert .Equal (t , types .BatchSequence (7 ), fb .Seq ())
159- assert .Equal (t , types .PartyID (0x102 ), fb .Primary ())
160- assert .Equal (t , types .ShardID (0x304 ), fb .Shard ())
168+ assert .Equal (t , types .ShardID (0x102 ), fb .Shard ())
169+ assert .Equal (t , types .PartyID (0x304 ), fb .Primary ())
170+ assert .Equal (t , types .ConfigSequence (0x05 ), fb .ConfigSequence ())
161171 assert .Len (t , fb .Requests (), 2 )
162172 assert .Equal (t , header .DataHash , fb .Digest ())
163173 }
164174 })
165175 }
166176}
177+
178+ func TestNewFabricBatchFromRequests (t * testing.T ) {
179+ bReqs := types .BatchedRequests ([][]byte {{0x08 }, {0x09 }})
180+ fb := ledger .NewFabricBatchFromRequests (2 , 3 , 4 , bReqs , 5 , []byte {0x06 })
181+ require .NotNil (t , fb )
182+ require .Equal (t , types .ShardID (2 ), fb .Shard ())
183+ require .Equal (t , types .PartyID (3 ), fb .Primary ())
184+ require .Equal (t , types .BatchSequence (4 ), fb .Seq ())
185+ require .True (t , bytes .Equal (bReqs .Digest (), fb .Digest ()))
186+ require .Equal (t , types .ConfigSequence (5 ), fb .ConfigSequence ())
187+ require .Equal (t , bReqs , fb .Requests ())
188+
189+ require .True (t , bytes .Equal ([]byte {0x06 }, fb .Header .GetPreviousHash ()))
190+
191+ require .Equal (t , "Sh,Pr,Sq,Dg: <2,3,4,f99be8ba3f263229e64cd89aded97556d208a7650bfd06be5979fbf748f94cbe>" , types .BatchIDToString (fb ))
192+ require .True (t , types .BatchIDEqual (fb , state .NewAvailableBatch (3 , 2 , 4 , bReqs .Digest ())))
193+ }
0 commit comments