From ee686187e71b7cd32baf92a6f87edd8e77a326be Mon Sep 17 00:00:00 2001 From: GME Date: Wed, 27 Mar 2019 23:13:57 +0100 Subject: [PATCH] End Test Function --- .../query/Transaction/TransactionTest.java | 4 +- ...estNewVersion.java => DeleteUserTest.java} | 29 ++++--- .../blockchain/query/User/ReadUserTest.java | 3 +- .../query/User/RegisterUserTest.java | 58 +++++++------ .../query/User/UserPermissionTest.java | 82 ++++++++++++++++++ ...tNewVersion.java => DeleteWalletTest.java} | 21 +++-- .../query/Wallet/InitWalletTest.java | 84 +++++++++++++++++++ .../query/Wallet/QueryWalletByOwnerTest.java | 3 +- .../query/Wallet/QueryWalletByTypeTest.java | 50 +++++++++++ .../query/Wallet/QueryWalletHistory.java | 3 +- .../query/Wallet/ReadWalletTest.java | 4 +- .../query/Wallet/SetWalletSoldTest.java | 82 ++++++++++++++++++ .../query/Wallet/TransferWalletTest.java | 83 ++++++++++++++++++ 13 files changed, 454 insertions(+), 52 deletions(-) rename src/test/java/blockchain/query/User/{RegisterUserTestNewVersion.java => DeleteUserTest.java} (78%) create mode 100644 src/test/java/blockchain/query/User/UserPermissionTest.java rename src/test/java/blockchain/query/Wallet/{TransactionTestNewVersion.java => DeleteWalletTest.java} (84%) create mode 100644 src/test/java/blockchain/query/Wallet/InitWalletTest.java create mode 100644 src/test/java/blockchain/query/Wallet/QueryWalletByTypeTest.java create mode 100644 src/test/java/blockchain/query/Wallet/SetWalletSoldTest.java create mode 100644 src/test/java/blockchain/query/Wallet/TransferWalletTest.java diff --git a/src/test/java/blockchain/query/Transaction/TransactionTest.java b/src/test/java/blockchain/query/Transaction/TransactionTest.java index b36162c..201139e 100644 --- a/src/test/java/blockchain/query/Transaction/TransactionTest.java +++ b/src/test/java/blockchain/query/Transaction/TransactionTest.java @@ -54,8 +54,8 @@ public class TransactionTest { TransactionProposalRequest tpr = fabricClientWrapper.getClient().newTransactionProposalRequest(); ChaincodeID cid = ChaincodeID.newBuilder().setName(Config.CHAINCODE_NAME).build(); tpr.setChaincodeID(cid); - tpr.setFcn("invoke"); - tpr.setArgs(new String[]{"qerh654d5f5h46q4fdh6h65fh","qerh654d5f5h46q4fdh6h65fh2","2"}); //1 foutre to bitman + tpr.setFcn("transaction"); + tpr.setArgs(new String[]{"qerh654d5f5h46q4fdh6h65fh00","qerh654d5f5h46q4fdh6h65fh01","200"}); //1 foutre to bitman tpr.setProposalWaitTime(120000); Collection invokePropResp = channel.sendTransactionProposal(tpr); diff --git a/src/test/java/blockchain/query/User/RegisterUserTestNewVersion.java b/src/test/java/blockchain/query/User/DeleteUserTest.java similarity index 78% rename from src/test/java/blockchain/query/User/RegisterUserTestNewVersion.java rename to src/test/java/blockchain/query/User/DeleteUserTest.java index 05aa023..0b13636 100644 --- a/src/test/java/blockchain/query/User/RegisterUserTestNewVersion.java +++ b/src/test/java/blockchain/query/User/DeleteUserTest.java @@ -3,7 +3,6 @@ package blockchain.query.User; import blockchain.client.ChannelClientWrapper; import blockchain.client.FabricClientWrapper; import blockchain.configuration.Config; -import blockchain.query.QueryTest; import blockchain.user.UserContext; import blockchain.utility.Util; import org.apache.log4j.BasicConfigurator; @@ -14,18 +13,19 @@ import org.junit.Test; import java.util.Collection; import java.util.LinkedList; +import java.util.Set; @Ignore -public class RegisterUserTestNewVersion { - - private static Logger logger = Logger.getLogger(QueryTest.class); +public class DeleteUserTest { + private static Logger logger = Logger.getLogger(DeleteUserTest.class); @Test - public void TestRegisterUser() { + public void TestDeleteUser() { BasicConfigurator.configure(); - UserContext user = Util.readUserContext(Config.ORG1,Config.ADMIN); + UserContext user = Util.readUserContext(Config.ORG1,"admin"); - try { + try{ + String chaincode = Config.CHAINCODE_NAME; Collection successful = new LinkedList<>(); Collection failed = new LinkedList<>(); @@ -42,11 +42,19 @@ public class RegisterUserTestNewVersion { channel.initialize(); + //CONTROL + logger.info("channel INIT : "+channel.isInitialized()); + for(Peer p : channel.getPeers()){ + Set channels = fabricClientWrapper.getClient().queryChannels(peer); + logger.info("channels "+channels); + } + // + TransactionProposalRequest tpr = fabricClientWrapper.getClient().newTransactionProposalRequest(); ChaincodeID cid = ChaincodeID.newBuilder().setName(Config.CHAINCODE_NAME).build(); tpr.setChaincodeID(cid); - tpr.setFcn("registerUser"); - tpr.setArgs(new String[]{"UserA","Thomas","MEUNIER","0000000000","gonette"}); + tpr.setFcn("deleteUser"); + tpr.setArgs(new String[]{"UserA"}); tpr.setProposalWaitTime(120000); Collection invokePropResp = channel.sendTransactionProposal(tpr); @@ -65,11 +73,8 @@ public class RegisterUserTestNewVersion { logger.info("Event transaction id : "+event.getTransactionID()); //print transaction id - - }catch (Exception e){ e.printStackTrace(); } } - } diff --git a/src/test/java/blockchain/query/User/ReadUserTest.java b/src/test/java/blockchain/query/User/ReadUserTest.java index 94e12ac..307fe52 100644 --- a/src/test/java/blockchain/query/User/ReadUserTest.java +++ b/src/test/java/blockchain/query/User/ReadUserTest.java @@ -36,7 +36,8 @@ public class ReadUserTest { //String[] args1 = {"chef"} //String[] args1 = {"bitman"}; - String[] args1 = {"UserA"}; + //String[] args1 = {"foutre"}; + String[] args1 = {"usera"}; Collection responseQuery = channelClientWrapper.queryByChainCode(chaincode,"readUser",args1); logger.info("RESPONSE : "+responseQuery); diff --git a/src/test/java/blockchain/query/User/RegisterUserTest.java b/src/test/java/blockchain/query/User/RegisterUserTest.java index 7941507..7785646 100644 --- a/src/test/java/blockchain/query/User/RegisterUserTest.java +++ b/src/test/java/blockchain/query/User/RegisterUserTest.java @@ -3,6 +3,7 @@ package blockchain.query.User; import blockchain.client.ChannelClientWrapper; import blockchain.client.FabricClientWrapper; import blockchain.configuration.Config; +import blockchain.query.QueryTest; import blockchain.user.UserContext; import blockchain.utility.Util; import org.apache.log4j.BasicConfigurator; @@ -12,56 +13,63 @@ import org.junit.Ignore; import org.junit.Test; import java.util.Collection; -import java.util.List; -import java.util.stream.Collectors; +import java.util.LinkedList; - -//Test to get balance of a User @Ignore public class RegisterUserTest { - private static Logger logger = Logger.getLogger(RegisterUserTest.class); + + private static Logger logger = Logger.getLogger(QueryTest.class); @Test - public void TestARegisterUser() { + public void TestRegisterUser() { BasicConfigurator.configure(); + UserContext user = Util.readUserContext(Config.ORG1,Config.ADMIN); - UserContext user = Util.readUserContext(Config.ORG1,"admin"); - try{ + try { + Collection successful = new LinkedList<>(); + Collection failed = new LinkedList<>(); - String chaincode = Config.CHAINCODE_NAME; + logger.info("userContext : "+user.getName()); FabricClientWrapper fabricClientWrapper = new FabricClientWrapper(user); ChannelClientWrapper channelClientWrapper = fabricClientWrapper.createChannelClient(Config.CHANNEL_NAME); Channel channel = channelClientWrapper.getChannel(); - Peer peer = fabricClientWrapper.getClient().newPeer(Config.ORG1_PEER_0,Config.ORG1_PEER_0_URL); - EventHub eventHub = fabricClientWrapper.getClient().newEventHub("eventhub01", "grpc://93.30.148.59:7051"); Orderer orderer = fabricClientWrapper.getClient().newOrderer(Config.ORDERER_NAME,Config.ORDERER_URL); - channel.addPeer(peer); - channel.addEventHub(eventHub); channel.addOrderer(orderer); + Peer peer = fabricClientWrapper.getClient().newPeer(Config.ORG1_PEER_0,Config.ORG1_PEER_0_URL); + channel.addPeer(peer); + + channel.initialize(); TransactionProposalRequest tpr = fabricClientWrapper.getClient().newTransactionProposalRequest(); ChaincodeID cid = ChaincodeID.newBuilder().setName(Config.CHAINCODE_NAME).build(); tpr.setChaincodeID(cid); - tpr.setFcn("register"); - tpr.setArgs(new String[]{"user_test","100"}); //register user_test with 100 + tpr.setFcn("registerUser"); + tpr.setArgs(new String[]{"usera","Thomas","MEUNIER","0000000000","gonette"}); + tpr.setProposalWaitTime(120000); - Collection responses = channel.sendTransactionProposal(tpr); - List invalid = responses.stream().filter(r -> r.isInvalid()).collect(Collectors.toList()); - - if (!invalid.isEmpty()) { - invalid.forEach(response -> { - logger.error(response.getMessage()); - }); + Collection invokePropResp = channel.sendTransactionProposal(tpr); + for(ProposalResponse response : invokePropResp){ + if (response.getStatus() == ChaincodeResponse.Status.SUCCESS) { + logger.info("Successful transaction proposal response Txid: "+response.getTransactionID()+" from peer "+response.getPeer().getName()); + successful.add(response); + } else { + failed.add(response); + } } - logger.info("SEND REQUEST"); - BlockEvent.TransactionEvent event = channel.sendTransaction(responses).get(); - logger.info("Event id : "+event.getTransactionID()); //print transaction id + logger.info("Received "+invokePropResp.size()+" transaction proposal responses. Successful+verified: "+successful.size()+". Failed: "+failed.size()); + + BlockEvent.TransactionEvent event = channel.sendTransaction(successful).get(); + logger.info("Event transaction id : "+event.getTransactionID()); //print transaction id + + + }catch (Exception e){ e.printStackTrace(); } } + } diff --git a/src/test/java/blockchain/query/User/UserPermissionTest.java b/src/test/java/blockchain/query/User/UserPermissionTest.java new file mode 100644 index 0000000..68cf359 --- /dev/null +++ b/src/test/java/blockchain/query/User/UserPermissionTest.java @@ -0,0 +1,82 @@ +package blockchain.query.User; + +import blockchain.client.ChannelClientWrapper; +import blockchain.client.FabricClientWrapper; +import blockchain.configuration.Config; +import blockchain.query.QueryTest; +import blockchain.user.UserContext; +import blockchain.utility.Util; +import org.apache.log4j.BasicConfigurator; +import org.apache.log4j.Logger; +import org.hyperledger.fabric.sdk.*; +import org.junit.Ignore; +import org.junit.Test; + +import java.util.Collection; +import java.util.LinkedList; +import java.util.Set; + +@Ignore +public class UserPermissionTest { + private static Logger logger = Logger.getLogger(UserPermissionTest.class); + + @Test + public void TestUserPermission() { + BasicConfigurator.configure(); + UserContext user = Util.readUserContext(Config.ORG1,"admin"); + + try{ + String chaincode = Config.CHAINCODE_NAME; + Collection successful = new LinkedList<>(); + Collection failed = new LinkedList<>(); + + logger.info("userContext : "+user.getName()); + FabricClientWrapper fabricClientWrapper = new FabricClientWrapper(user); + ChannelClientWrapper channelClientWrapper = fabricClientWrapper.createChannelClient(Config.CHANNEL_NAME); + + Channel channel = channelClientWrapper.getChannel(); + Orderer orderer = fabricClientWrapper.getClient().newOrderer(Config.ORDERER_NAME,Config.ORDERER_URL); + channel.addOrderer(orderer); + Peer peer = fabricClientWrapper.getClient().newPeer(Config.ORG1_PEER_0,Config.ORG1_PEER_0_URL); + channel.addPeer(peer); + + + channel.initialize(); + + //CONTROL + logger.info("channel INIT : "+channel.isInitialized()); + for(Peer p : channel.getPeers()){ + Set channels = fabricClientWrapper.getClient().queryChannels(peer); + logger.info("channels "+channels); + } + // + + TransactionProposalRequest tpr = fabricClientWrapper.getClient().newTransactionProposalRequest(); + ChaincodeID cid = ChaincodeID.newBuilder().setName(Config.CHAINCODE_NAME).build(); + tpr.setChaincodeID(cid); + tpr.setFcn("setUserPermission"); + tpr.setArgs(new String[]{"UserA"}); + tpr.setProposalWaitTime(120000); + + Collection invokePropResp = channel.sendTransactionProposal(tpr); + for(ProposalResponse response : invokePropResp){ + if (response.getStatus() == ChaincodeResponse.Status.SUCCESS) { + logger.info("Successful transaction proposal response Txid: "+response.getTransactionID()+" from peer "+response.getPeer().getName()); + successful.add(response); + } else { + failed.add(response); + } + } + + logger.info("Received "+invokePropResp.size()+" transaction proposal responses. Successful+verified: "+successful.size()+". Failed: "+failed.size()); + + BlockEvent.TransactionEvent event = channel.sendTransaction(successful).get(); + logger.info("Event transaction id : "+event.getTransactionID()); //print transaction id + + + }catch (Exception e){ + e.printStackTrace(); + } + } + +} diff --git a/src/test/java/blockchain/query/Wallet/TransactionTestNewVersion.java b/src/test/java/blockchain/query/Wallet/DeleteWalletTest.java similarity index 84% rename from src/test/java/blockchain/query/Wallet/TransactionTestNewVersion.java rename to src/test/java/blockchain/query/Wallet/DeleteWalletTest.java index bede237..d1231df 100644 --- a/src/test/java/blockchain/query/Wallet/TransactionTestNewVersion.java +++ b/src/test/java/blockchain/query/Wallet/DeleteWalletTest.java @@ -3,7 +3,6 @@ package blockchain.query.Wallet; import blockchain.client.ChannelClientWrapper; import blockchain.client.FabricClientWrapper; import blockchain.configuration.Config; -import blockchain.query.QueryTest; import blockchain.user.UserContext; import blockchain.utility.Util; import org.apache.log4j.BasicConfigurator; @@ -16,17 +15,18 @@ import java.util.Collection; import java.util.LinkedList; import java.util.Set; - @Ignore -public class TransactionTestNewVersion { - private static Logger logger = Logger.getLogger(QueryTest.class); +public class DeleteWalletTest { + private static Logger logger = Logger.getLogger(DeleteWalletTest.class); @Test - public void TestQueryWallet() { + public void TestDeleteWallet() { BasicConfigurator.configure(); - UserContext user = Util.readUserContext(Config.ORG1,Config.ADMIN); + UserContext user = Util.readUserContext(Config.ORG1,"admin"); try{ + + String chaincode = Config.CHAINCODE_NAME; Collection successful = new LinkedList<>(); Collection failed = new LinkedList<>(); @@ -55,8 +55,8 @@ public class TransactionTestNewVersion { TransactionProposalRequest tpr = fabricClientWrapper.getClient().newTransactionProposalRequest(); ChaincodeID cid = ChaincodeID.newBuilder().setName(Config.CHAINCODE_NAME).build(); tpr.setChaincodeID(cid); - tpr.setFcn("queryWalletsByOwner"); - tpr.setArgs(new String[]{"bitman"}); + tpr.setFcn("deleteWallet"); + tpr.setArgs(new String[]{"qerh654d5f5h46q4fdh6h65fh00"}); tpr.setProposalWaitTime(120000); Collection invokePropResp = channel.sendTransactionProposal(tpr); @@ -71,12 +71,15 @@ public class TransactionTestNewVersion { logger.info("Received "+invokePropResp.size()+" transaction proposal responses. Successful+verified: "+successful.size()+". Failed: "+failed.size()); + BlockEvent.TransactionEvent event = channel.sendTransaction(successful).get(); + logger.info("Event transaction id : "+event.getTransactionID()); //print transaction id + }catch (Exception e){ e.printStackTrace(); } - } + } } diff --git a/src/test/java/blockchain/query/Wallet/InitWalletTest.java b/src/test/java/blockchain/query/Wallet/InitWalletTest.java new file mode 100644 index 0000000..0ae4ab0 --- /dev/null +++ b/src/test/java/blockchain/query/Wallet/InitWalletTest.java @@ -0,0 +1,84 @@ +package blockchain.query.Wallet; + +import blockchain.client.ChannelClientWrapper; +import blockchain.client.FabricClientWrapper; +import blockchain.configuration.Config; +import blockchain.query.User.UserPermissionTest; +import blockchain.user.UserContext; +import blockchain.utility.Util; +import org.apache.log4j.BasicConfigurator; +import org.apache.log4j.Logger; +import org.hyperledger.fabric.sdk.*; +import org.junit.Ignore; +import org.junit.Test; + +import java.util.Collection; +import java.util.LinkedList; +import java.util.Set; + +@Ignore +public class InitWalletTest { + private static Logger logger = Logger.getLogger(InitWalletTest.class); + + @Test + public void TestInitWallet() { + BasicConfigurator.configure(); + UserContext user = Util.readUserContext(Config.ORG1,"admin"); + + try{ + String chaincode = Config.CHAINCODE_NAME; + Collection successful = new LinkedList<>(); + Collection failed = new LinkedList<>(); + + logger.info("userContext : "+user.getName()); + FabricClientWrapper fabricClientWrapper = new FabricClientWrapper(user); + ChannelClientWrapper channelClientWrapper = fabricClientWrapper.createChannelClient(Config.CHANNEL_NAME); + + Channel channel = channelClientWrapper.getChannel(); + Orderer orderer = fabricClientWrapper.getClient().newOrderer(Config.ORDERER_NAME,Config.ORDERER_URL); + channel.addOrderer(orderer); + Peer peer = fabricClientWrapper.getClient().newPeer(Config.ORG1_PEER_0,Config.ORG1_PEER_0_URL); + channel.addPeer(peer); + + + channel.initialize(); + + //CONTROL + logger.info("channel INIT : "+channel.isInitialized()); + for(Peer p : channel.getPeers()){ + Set channels = fabricClientWrapper.getClient().queryChannels(peer); + logger.info("channels "+channels); + } + // + + TransactionProposalRequest tpr = fabricClientWrapper.getClient().newTransactionProposalRequest(); + ChaincodeID cid = ChaincodeID.newBuilder().setName(Config.CHAINCODE_NAME).build(); + tpr.setChaincodeID(cid); + tpr.setFcn("initWallet"); + tpr.setArgs(new String[]{"qerh654d5f5h46q4fdh6h65fh00","client","bitman"}); + //tpr.setArgs(new String[]{"qerh654d5f5h46q4fdh6h65fh01","client","foutre"}); + tpr.setProposalWaitTime(120000); + + Collection invokePropResp = channel.sendTransactionProposal(tpr); + for(ProposalResponse response : invokePropResp){ + if (response.getStatus() == ChaincodeResponse.Status.SUCCESS) { + logger.info("Successful transaction proposal response Txid: "+response.getTransactionID()+" from peer "+response.getPeer().getName()); + successful.add(response); + } else { + failed.add(response); + logger.info("failed "+response.getChaincodeActionResponsePayload()); + } + } + + logger.info("Received "+invokePropResp.size()+" transaction proposal responses. Successful+verified: "+successful.size()+". Failed: "+failed.size()); + + + BlockEvent.TransactionEvent event = channel.sendTransaction(successful).get(); + logger.info("Event transaction id : "+event.getTransactionID()); //print transaction id + + + }catch (Exception e){ + e.printStackTrace(); + } + } +} diff --git a/src/test/java/blockchain/query/Wallet/QueryWalletByOwnerTest.java b/src/test/java/blockchain/query/Wallet/QueryWalletByOwnerTest.java index c6e4677..bec500a 100644 --- a/src/test/java/blockchain/query/Wallet/QueryWalletByOwnerTest.java +++ b/src/test/java/blockchain/query/Wallet/QueryWalletByOwnerTest.java @@ -17,7 +17,7 @@ import java.util.Collection; @Ignore public class QueryWalletByOwnerTest { - private static Logger logger = Logger.getLogger(QueryTest.class); + private static Logger logger = Logger.getLogger(QueryWalletByOwnerTest.class); @Test public void TestQueryWallet() { @@ -31,6 +31,7 @@ public class QueryWalletByOwnerTest { ChannelClientWrapper channelClientWrapper = ChannelClientWrapper.setupChannel(fabricClientWrapper); String[] args1 = {"bitman"}; + //String[] args1 = {"usera"}; Collection responseQuery = channelClientWrapper.queryByChainCode(chaincode,"queryWalletsByOwner",args1); for(ProposalResponse pres : responseQuery){ diff --git a/src/test/java/blockchain/query/Wallet/QueryWalletByTypeTest.java b/src/test/java/blockchain/query/Wallet/QueryWalletByTypeTest.java new file mode 100644 index 0000000..773caf9 --- /dev/null +++ b/src/test/java/blockchain/query/Wallet/QueryWalletByTypeTest.java @@ -0,0 +1,50 @@ +package blockchain.query.Wallet; + +import blockchain.client.ChannelClientWrapper; +import blockchain.client.FabricClientWrapper; +import blockchain.configuration.Config; +import blockchain.query.QueryTest; +import blockchain.user.UserContext; +import blockchain.utility.Util; +import org.apache.log4j.BasicConfigurator; +import org.apache.log4j.Logger; +import org.hyperledger.fabric.sdk.ChaincodeResponse; +import org.hyperledger.fabric.sdk.ProposalResponse; +import org.junit.Ignore; +import org.junit.Test; + +import java.util.Collection; + +@Ignore +public class QueryWalletByTypeTest { + private static Logger logger = Logger.getLogger(QueryWalletByTypeTest.class); + + @Test + public void TestQueryWallet() { + BasicConfigurator.configure(); + UserContext user = Util.readUserContext(Config.ORG1,"admin"); + + try{ + String chaincode = Config.CHAINCODE_NAME; + FabricClientWrapper fabricClientWrapper = new FabricClientWrapper(user); + + ChannelClientWrapper channelClientWrapper = ChannelClientWrapper.setupChannel(fabricClientWrapper); + + String[] args1 = {"client"}; + Collection responseQuery = channelClientWrapper.queryByChainCode(chaincode,"queryWalletsByType",args1); + + for(ProposalResponse pres : responseQuery){ + ChaincodeResponse.Status status = pres.getStatus(); + if(status.getStatus()!=200){ + throw new Exception(pres.getMessage()); + } + String stringResponse = new String(pres.getChaincodeActionResponsePayload()); + logger.info("RESPONSE : "+stringResponse); + } + + }catch (Exception e){ + e.printStackTrace(); + } + + } +} diff --git a/src/test/java/blockchain/query/Wallet/QueryWalletHistory.java b/src/test/java/blockchain/query/Wallet/QueryWalletHistory.java index a4a529f..6413a8a 100644 --- a/src/test/java/blockchain/query/Wallet/QueryWalletHistory.java +++ b/src/test/java/blockchain/query/Wallet/QueryWalletHistory.java @@ -31,7 +31,8 @@ public class QueryWalletHistory { ChannelClientWrapper channelClientWrapper = ChannelClientWrapper.setupChannel(fabricClientWrapper); //String[] args1 = {"qerh654d5f5h46q4fdh6h65fh2"}; - String[] args1 = {"qerh654d5f5h46q4fdh6h65fh"}; + //String[] args1 = {"qerh654d5f5h46q4fdh6h65fh"}; + String[] args1 = {"qerh654d5f5h46q4fdh6h65fh00"}; Collection responseQuery = channelClientWrapper.queryByChainCode(chaincode,"getHistoryForWallet",args1); for(ProposalResponse pres : responseQuery){ diff --git a/src/test/java/blockchain/query/Wallet/ReadWalletTest.java b/src/test/java/blockchain/query/Wallet/ReadWalletTest.java index 8e7aab3..da9399e 100644 --- a/src/test/java/blockchain/query/Wallet/ReadWalletTest.java +++ b/src/test/java/blockchain/query/Wallet/ReadWalletTest.java @@ -30,7 +30,9 @@ public class ReadWalletTest { ChannelClientWrapper channelClientWrapper = ChannelClientWrapper.setupChannel(fabricClientWrapper); - String[] args1 = {"qerh654d5f5h46q4fdh6h65fh2"}; + //String[] args1 = {"qerh654d5f5h46q4fdh6h65fh2"}; + String[] args1 = {"qerh654d5f5h46q4fdh6h65fh00"}; + //String[] args1 = {"qerh654d5f5h46q4fdh6h65fh01"}; Collection responseQuery = channelClientWrapper.queryByChainCode(chaincode,"readWallet",args1); for(ProposalResponse pres : responseQuery){ diff --git a/src/test/java/blockchain/query/Wallet/SetWalletSoldTest.java b/src/test/java/blockchain/query/Wallet/SetWalletSoldTest.java new file mode 100644 index 0000000..bcfced4 --- /dev/null +++ b/src/test/java/blockchain/query/Wallet/SetWalletSoldTest.java @@ -0,0 +1,82 @@ +package blockchain.query.Wallet; + +import blockchain.client.ChannelClientWrapper; +import blockchain.client.FabricClientWrapper; +import blockchain.configuration.Config; +import blockchain.user.UserContext; +import blockchain.utility.Util; +import org.apache.log4j.BasicConfigurator; +import org.apache.log4j.Logger; +import org.hyperledger.fabric.sdk.*; +import org.junit.Ignore; +import org.junit.Test; + +import java.util.Collection; +import java.util.LinkedList; +import java.util.Set; + +@Ignore +public class SetWalletSoldTest { + private static Logger logger = Logger.getLogger(SetWalletSoldTest.class); + + @Test + public void TestSetWalletSold() { + BasicConfigurator.configure(); + UserContext user = Util.readUserContext(Config.ORG1,"admin"); + + try{ + Collection successful = new LinkedList<>(); + Collection failed = new LinkedList<>(); + + logger.info("userContext : "+user.getName()); + FabricClientWrapper fabricClientWrapper = new FabricClientWrapper(user); + ChannelClientWrapper channelClientWrapper = fabricClientWrapper.createChannelClient(Config.CHANNEL_NAME); + + Channel channel = channelClientWrapper.getChannel(); + Orderer orderer = fabricClientWrapper.getClient().newOrderer(Config.ORDERER_NAME,Config.ORDERER_URL); + channel.addOrderer(orderer); + Peer peer = fabricClientWrapper.getClient().newPeer(Config.ORG1_PEER_0,Config.ORG1_PEER_0_URL); + channel.addPeer(peer); + + + channel.initialize(); + + //CONTROL + logger.info("channel INIT : "+channel.isInitialized()); + for(Peer p : channel.getPeers()){ + Set channels = fabricClientWrapper.getClient().queryChannels(peer); + logger.info("channels "+channels); + } + // + + TransactionProposalRequest tpr = fabricClientWrapper.getClient().newTransactionProposalRequest(); + ChaincodeID cid = ChaincodeID.newBuilder().setName(Config.CHAINCODE_NAME).build(); + tpr.setChaincodeID(cid); + tpr.setFcn("setSoldOnWallet"); + tpr.setArgs(new String[]{"qerh654d5f5h46q4fdh6h65fh00","3000"}); + //tpr.setArgs(new String[]{"qerh654d5f5h46q4fdh6h65fh01","100"}); + tpr.setProposalWaitTime(120000); + + Collection invokePropResp = channel.sendTransactionProposal(tpr); + for(ProposalResponse response : invokePropResp){ + if (response.getStatus() == ChaincodeResponse.Status.SUCCESS) { + logger.info("Successful transaction proposal response Txid: "+response.getTransactionID()+" from peer "+response.getPeer().getName()); + successful.add(response); + } else { + failed.add(response); + logger.info("failed "+response.getChaincodeActionResponsePayload()); + } + } + + logger.info("Received "+invokePropResp.size()+" transaction proposal responses. Successful+verified: "+successful.size()+". Failed: "+failed.size()); + + + BlockEvent.TransactionEvent event = channel.sendTransaction(successful).get(); + logger.info("Event transaction id : "+event.getTransactionID()); //print transaction id + + + }catch (Exception e){ + e.printStackTrace(); + } + } +} diff --git a/src/test/java/blockchain/query/Wallet/TransferWalletTest.java b/src/test/java/blockchain/query/Wallet/TransferWalletTest.java new file mode 100644 index 0000000..17ccf56 --- /dev/null +++ b/src/test/java/blockchain/query/Wallet/TransferWalletTest.java @@ -0,0 +1,83 @@ +package blockchain.query.Wallet; + +import blockchain.client.ChannelClientWrapper; +import blockchain.client.FabricClientWrapper; +import blockchain.configuration.Config; +import blockchain.user.UserContext; +import blockchain.utility.Util; +import org.apache.log4j.BasicConfigurator; +import org.apache.log4j.Logger; +import org.hyperledger.fabric.sdk.*; +import org.junit.Ignore; +import org.junit.Test; + +import java.util.Collection; +import java.util.LinkedList; +import java.util.Set; + +@Ignore +public class TransferWalletTest { + private static Logger logger = Logger.getLogger(DeleteWalletTest.class); + + @Test + public void TestTransfertWallet() { + BasicConfigurator.configure(); + UserContext user = Util.readUserContext(Config.ORG1,"admin"); + + try{ + + + String chaincode = Config.CHAINCODE_NAME; + Collection successful = new LinkedList<>(); + Collection failed = new LinkedList<>(); + + logger.info("userContext : "+user.getName()); + FabricClientWrapper fabricClientWrapper = new FabricClientWrapper(user); + ChannelClientWrapper channelClientWrapper = fabricClientWrapper.createChannelClient(Config.CHANNEL_NAME); + + Channel channel = channelClientWrapper.getChannel(); + Orderer orderer = fabricClientWrapper.getClient().newOrderer(Config.ORDERER_NAME,Config.ORDERER_URL); + channel.addOrderer(orderer); + Peer peer = fabricClientWrapper.getClient().newPeer(Config.ORG1_PEER_0,Config.ORG1_PEER_0_URL); + channel.addPeer(peer); + + + channel.initialize(); + + //CONTROL + logger.info("channel INIT : "+channel.isInitialized()); + for(Peer p : channel.getPeers()){ + Set channels = fabricClientWrapper.getClient().queryChannels(peer); + logger.info("channels "+channels); + } + // + + TransactionProposalRequest tpr = fabricClientWrapper.getClient().newTransactionProposalRequest(); + ChaincodeID cid = ChaincodeID.newBuilder().setName(Config.CHAINCODE_NAME).build(); + tpr.setChaincodeID(cid); + tpr.setFcn("transferWallet"); + tpr.setArgs(new String[]{"qerh654d5f5h46q4fdh6h65fh00","bitman"}); + tpr.setProposalWaitTime(120000); + + Collection invokePropResp = channel.sendTransactionProposal(tpr); + for(ProposalResponse response : invokePropResp){ + if (response.getStatus() == ChaincodeResponse.Status.SUCCESS) { + logger.info("Successful transaction proposal response Txid: "+response.getTransactionID()+" from peer "+response.getPeer().getName()); + successful.add(response); + } else { + failed.add(response); + } + } + + logger.info("Received "+invokePropResp.size()+" transaction proposal responses. Successful+verified: "+successful.size()+". Failed: "+failed.size()); + + BlockEvent.TransactionEvent event = channel.sendTransaction(successful).get(); + logger.info("Event transaction id : "+event.getTransactionID()); //print transaction id + + }catch (Exception e){ + e.printStackTrace(); + } + + } + +}