你如何运行 fabric-java-sdk 1.0.1 端到端测试?
How do you run the fabric-java-sdk 1.0.1 end to end test?
如第 https://github.com/hyperledger/fabric-sdk-java 页所述
在 Cygwin 终端中,我从 Hyperledger Fabric 1.0.2 源构建了 Ubuntu 虚拟映像,构建了结构 Docker 图像并在终端中启动结构,如下所示:
cd /cygdrive/c/gocode
mkdir fabric_1.0.2
cd fabric_1.0.2
# get the sources to build VM in which we will build the Docker images
git clone https://github.com/hyperledger/fabric.git
git clone https://github.com/hyperledger/fabric-ca.git
# update the sources to latest version 1.0.2 tag
cd fabric-ca
git reset --hard cb117d85980799d24d6df2d3533f5598a552b259
cd ../fabric
git reset --hard 5fb31ddd24d6441b0d499b9bb211632800044512
# change to sub-folder where Vagrantfile is
cd devenv
# launch VM, it will update itself and install dependencies as per
# setup.sh referred to in Vagrantfile
vagrant up
# in case something kernel-related was updated:
vagrant reload
# log in to image:
vagrant ssh
# build fabric docker images
make docker
# build fabric-ca docker images
cd ../fabric-ca
make docker
exit
vagrant halt
# For fabric-java-sdk testing, add in Vagrantfile:
config.vm.network :forwarded_port, guest: 7056, host: 7056
config.vm.network :forwarded_port, guest: 7058, host: 7058
config.vm.network :forwarded_port, guest: 8051, host: 8051
config.vm.network :forwarded_port, guest: 8053, host: 8053
config.vm.network :forwarded_port, guest: 8054, host: 8054
config.vm.network :forwarded_port, guest: 8056, host: 8056
config.vm.network :forwarded_port, guest: 8058, host: 8058
config.vm.network :forwarded_port, guest: 7059, host: 7059
# Add in Vagrantfile between the two lines:
#####config.vm.synced_folder "..", "/opt/gopath/src/github.com/hyperledger/fabric"
config.vm.synced_folder "fabric-sdk-java/src/test/fixture/sdkintegration", "/opt/gopath/src/github.com/hyperledger/fabric/sdkintegration"
#####config.vm.synced_folder ENV.fetch('LOCALDEVDIR', ".."), "#{LOCALDEV}"
# under /cygdrive/c/gocode/fabric_1.0.2/fabric/devenv
git clone https://github.com/hyperledger/fabric-sdk-java.git
cd fabric-sdk-java
# reset to latest version 1.0.1
git reset --hard 11bd160a95fa8529d93582ec68556bb1c4652c21
vagrant up
vagrant box update
vagrant reload
vagrant ssh
# add JAVA_HOME environment variable
sudo vi /etc/profile
# add two lines:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
exit
vagrant ssh
# test we have our variable, Java and Maven:
echo $JAVA_HOME
java -version
mvn -version
cd sdkintegration
# launches fabric:
docker-compose down; rm -rf /var/hyperledger/*; docker-compose up --force-recreate
接下来我通过以下步骤构建了一些 fabric-java-sdk 工件,全部成功:
# open a new Cygwin terminal:
cd /cygdrive/c/gocode/fabric_1.0.2/fabric/devenv
vagrant ssh
# build the jar /vagrant/fabric-sdk-java/target/fabric-sdk-java-1.0.1.jar
cd /vagrant/fabric-sdk-java
mvn install
#### at this point in the other terminal with fabric running,
#### the following lines appear:
## peer0.org1.example.com | 2017-09-21 13:56:57.747 UTC [endorser] ProcessProposal -> DEBU 1a6 Entry
## peer0.org1.example.com | 2017-09-21 13:56:57.747 UTC [protoutils] ValidateProposalMessage -> DEBU 1a7 ValidateProposalMessage starts for signed proposal 0xc4202bb680
## peer0.org1.example.com | 2017-09-21 13:56:57.747 UTC [endorser] ProcessProposal -> DEBU 1a8 Exit
# build /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/java/build/libs/shim-client-1.0.jar
cd /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/java
gradle build
cd /opt/gopath/src/github.com/hyperledger/fabric/sdkintegration/javacc/example_cc
# ref
gradle -b build.gradle build
# add missing dependency in pom.xml:
<dependency>
<groupId>javax.json</groupId>
<artifactId>javax.json-api</artifactId>
<version>1.1.0-M1</version>
</dependency>
mvn dependency:resolve
mvn install
在这一点上,我对文档感到既困惑又困惑。 运行 端到端 Java 集成测试接下来我需要做什么?
有一整天的赏金,令我惊讶的是没有人 运行 放弃它。
答案在我的旧博客 post https://bertrandszoghy.wordpress.com/2017/05/12/fabric-sdk-java/
第二个航站楼 window 中缺少的是:
cd /vagrant/fabric-sdk-java
mvn failsafe:integration-test -DskipITs=false
结果:
测试 运行:18,失败:0,错误:0,跳过:2
如第 https://github.com/hyperledger/fabric-sdk-java 页所述 在 Cygwin 终端中,我从 Hyperledger Fabric 1.0.2 源构建了 Ubuntu 虚拟映像,构建了结构 Docker 图像并在终端中启动结构,如下所示:
cd /cygdrive/c/gocode
mkdir fabric_1.0.2
cd fabric_1.0.2
# get the sources to build VM in which we will build the Docker images
git clone https://github.com/hyperledger/fabric.git
git clone https://github.com/hyperledger/fabric-ca.git
# update the sources to latest version 1.0.2 tag
cd fabric-ca
git reset --hard cb117d85980799d24d6df2d3533f5598a552b259
cd ../fabric
git reset --hard 5fb31ddd24d6441b0d499b9bb211632800044512
# change to sub-folder where Vagrantfile is
cd devenv
# launch VM, it will update itself and install dependencies as per
# setup.sh referred to in Vagrantfile
vagrant up
# in case something kernel-related was updated:
vagrant reload
# log in to image:
vagrant ssh
# build fabric docker images
make docker
# build fabric-ca docker images
cd ../fabric-ca
make docker
exit
vagrant halt
# For fabric-java-sdk testing, add in Vagrantfile:
config.vm.network :forwarded_port, guest: 7056, host: 7056
config.vm.network :forwarded_port, guest: 7058, host: 7058
config.vm.network :forwarded_port, guest: 8051, host: 8051
config.vm.network :forwarded_port, guest: 8053, host: 8053
config.vm.network :forwarded_port, guest: 8054, host: 8054
config.vm.network :forwarded_port, guest: 8056, host: 8056
config.vm.network :forwarded_port, guest: 8058, host: 8058
config.vm.network :forwarded_port, guest: 7059, host: 7059
# Add in Vagrantfile between the two lines:
#####config.vm.synced_folder "..", "/opt/gopath/src/github.com/hyperledger/fabric"
config.vm.synced_folder "fabric-sdk-java/src/test/fixture/sdkintegration", "/opt/gopath/src/github.com/hyperledger/fabric/sdkintegration"
#####config.vm.synced_folder ENV.fetch('LOCALDEVDIR', ".."), "#{LOCALDEV}"
# under /cygdrive/c/gocode/fabric_1.0.2/fabric/devenv
git clone https://github.com/hyperledger/fabric-sdk-java.git
cd fabric-sdk-java
# reset to latest version 1.0.1
git reset --hard 11bd160a95fa8529d93582ec68556bb1c4652c21
vagrant up
vagrant box update
vagrant reload
vagrant ssh
# add JAVA_HOME environment variable
sudo vi /etc/profile
# add two lines:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
exit
vagrant ssh
# test we have our variable, Java and Maven:
echo $JAVA_HOME
java -version
mvn -version
cd sdkintegration
# launches fabric:
docker-compose down; rm -rf /var/hyperledger/*; docker-compose up --force-recreate
接下来我通过以下步骤构建了一些 fabric-java-sdk 工件,全部成功:
# open a new Cygwin terminal:
cd /cygdrive/c/gocode/fabric_1.0.2/fabric/devenv
vagrant ssh
# build the jar /vagrant/fabric-sdk-java/target/fabric-sdk-java-1.0.1.jar
cd /vagrant/fabric-sdk-java
mvn install
#### at this point in the other terminal with fabric running,
#### the following lines appear:
## peer0.org1.example.com | 2017-09-21 13:56:57.747 UTC [endorser] ProcessProposal -> DEBU 1a6 Entry
## peer0.org1.example.com | 2017-09-21 13:56:57.747 UTC [protoutils] ValidateProposalMessage -> DEBU 1a7 ValidateProposalMessage starts for signed proposal 0xc4202bb680
## peer0.org1.example.com | 2017-09-21 13:56:57.747 UTC [endorser] ProcessProposal -> DEBU 1a8 Exit
# build /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/java/build/libs/shim-client-1.0.jar
cd /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/java
gradle build
cd /opt/gopath/src/github.com/hyperledger/fabric/sdkintegration/javacc/example_cc
# ref
gradle -b build.gradle build
# add missing dependency in pom.xml:
<dependency>
<groupId>javax.json</groupId>
<artifactId>javax.json-api</artifactId>
<version>1.1.0-M1</version>
</dependency>
mvn dependency:resolve
mvn install
在这一点上,我对文档感到既困惑又困惑。 运行 端到端 Java 集成测试接下来我需要做什么?
有一整天的赏金,令我惊讶的是没有人 运行 放弃它。
答案在我的旧博客 post https://bertrandszoghy.wordpress.com/2017/05/12/fabric-sdk-java/
第二个航站楼 window 中缺少的是:
cd /vagrant/fabric-sdk-java
mvn failsafe:integration-test -DskipITs=false
结果: 测试 运行:18,失败:0,错误:0,跳过:2