Ejemplo n.º 1
0
			previewBlockInfo, err := ledgerPtr.GetTXBatchPreviewBlockInfo(1, []*protos.Transaction{tx}, []byte("proof"))
			Expect(err).To(BeNil())
			err = ledgerPtr.CommitTxBatch(1, []*protos.Transaction{tx}, nil, []byte("proof"))
			Expect(err).To(BeNil())
			commitedBlockInfo, err := ledgerPtr.GetBlockchainInfo()
			Expect(err).To(BeNil())
			Expect(previewBlockInfo).To(Equal(commitedBlockInfo))
		})
		It("can get a transaction by it's UUID", func() {
			uuid := util.GenerateUUID()
			tx, err := protos.NewTransaction(protos.ChaincodeID{Path: "testUrl"}, uuid, "anyfunction", []string{"param1, param2"})
			Expect(err).To(BeNil())
			err = ledgerPtr.CommitTxBatch(1, []*protos.Transaction{tx}, nil, []byte("proof"))
			Expect(err).To(BeNil())

			ledgerTransaction, err := ledgerPtr.GetTransactionByUUID(uuid)
			Expect(err).To(BeNil())
			Expect(tx).To(Equal(ledgerTransaction))
			state, _ := ledgerPtr.GetState("chaincode1", "key1", true)
			Expect(state).To(Equal([]byte("value1")))
			state, _ = ledgerPtr.GetState("chaincode2", "key2", true)
			Expect(state).To(Equal([]byte("value2")))
			state, _ = ledgerPtr.GetState("chaincode3", "key3", true)
			Expect(state).To(Equal([]byte("value3")))
		})
		It("rollsback the batch and compares values for TempStateHash", func() {
			var hash0, hash1 []byte
			var err error
			Expect(ledgerPtr.RollbackTxBatch(1)).To(BeNil())
			hash0, err = ledgerPtr.GetTempStateHash()
			Expect(err).To(BeNil())