From a8bf51884582ef10983335c7d66ce7a7558a3d83 Mon Sep 17 00:00:00 2001 From: GME Date: Sat, 30 Mar 2019 12:05:43 +0100 Subject: [PATCH] Update Wrappers and Test class Update of QueryWrapper and TransactionWrapper and dependant test class --- .../client/ChannelClientWrapper.java | 5 ++ .../client/FabricClientWrapper.java | 1 - .../java/blockchain/query/QueryWrapper.java | 63 ++++++++------- .../blockchain/query/TransactionWrapper.java | 61 +++++++++++---- .../BlockchainQueryImplementation.java | 2 + .../restService/BlockchainQueryResource.java | 2 + .../query/ChaincodeTransactionTest.java | 78 ------------------- .../query/CreateChaincodeUserTest.java | 64 --------------- .../blockchain/query/QueryChannelTest.java | 12 +-- src/test/java/blockchain/query/QueryTest.java | 53 ------------- .../query/Transaction/TransactionTest.java | 70 +++-------------- .../blockchain/query/User/DeleteUserTest.java | 65 ++-------------- .../blockchain/query/User/ReadUserTest.java | 61 ++++----------- .../query/User/RegisterUserTest.java | 63 ++------------- .../query/User/UserPermissionTest.java | 67 ++-------------- .../query/Wallet/DeleteWalletTest.java | 70 ++--------------- .../query/Wallet/InitWalletTest.java | 71 ++--------------- .../query/Wallet/QueryWalletByOwnerTest.java | 40 +++------- .../query/Wallet/QueryWalletByTypeTest.java | 37 ++------- .../query/Wallet/QueryWalletHistory.java | 41 ++-------- .../query/Wallet/ReadWalletTest.java | 40 ++-------- .../query/Wallet/SetWalletSoldTest.java | 67 ++-------------- .../query/Wallet/TransferWalletTest.java | 71 +++-------------- .../queryWrapper/QueryWrapperTest.java | 20 ----- .../queryWrapper/TransactionWrapperTest.java | 28 ------- 25 files changed, 202 insertions(+), 950 deletions(-) delete mode 100644 src/test/java/blockchain/query/ChaincodeTransactionTest.java delete mode 100644 src/test/java/blockchain/query/CreateChaincodeUserTest.java delete mode 100644 src/test/java/blockchain/query/QueryTest.java delete mode 100644 src/test/java/blockchain/queryWrapper/QueryWrapperTest.java delete mode 100644 src/test/java/blockchain/queryWrapper/TransactionWrapperTest.java diff --git a/src/main/java/blockchain/client/ChannelClientWrapper.java b/src/main/java/blockchain/client/ChannelClientWrapper.java index 325ab3b..561d0bf 100644 --- a/src/main/java/blockchain/client/ChannelClientWrapper.java +++ b/src/main/java/blockchain/client/ChannelClientWrapper.java @@ -35,6 +35,11 @@ public class ChannelClientWrapper { this.fabricClientWrapper=fabricClientWrapper; } + public Collection queryByChainCode(QueryByChaincodeRequest queryByChaincodeRequest) throws InvalidArgumentException, ProposalException { + return channel.queryByChaincode(queryByChaincodeRequest); + } + + public Collection queryByChainCode(String chaincodeName,String fuctionName, String[] args) throws InvalidArgumentException, ProposalException { QueryByChaincodeRequest request = fabricClientWrapper.getClient().newQueryProposalRequest(); ChaincodeID chaincodeID = ChaincodeID.newBuilder().setName(chaincodeName).build(); diff --git a/src/main/java/blockchain/client/FabricClientWrapper.java b/src/main/java/blockchain/client/FabricClientWrapper.java index 30b7cb4..ff8d33b 100644 --- a/src/main/java/blockchain/client/FabricClientWrapper.java +++ b/src/main/java/blockchain/client/FabricClientWrapper.java @@ -39,5 +39,4 @@ public class FabricClientWrapper { Peer peer = client.newPeer(Config.ORG1_PEER_0,Config.ORG1_PEER_0_URL); return client.queryChannels(peer); } - } diff --git a/src/main/java/blockchain/query/QueryWrapper.java b/src/main/java/blockchain/query/QueryWrapper.java index 8507b79..9bf456c 100644 --- a/src/main/java/blockchain/query/QueryWrapper.java +++ b/src/main/java/blockchain/query/QueryWrapper.java @@ -5,49 +5,54 @@ 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.ChaincodeID; import org.hyperledger.fabric.sdk.ChaincodeResponse; import org.hyperledger.fabric.sdk.ProposalResponse; - -import java.util.ArrayList; +import org.hyperledger.fabric.sdk.QueryByChaincodeRequest; import java.util.Collection; -import java.util.List; + public class QueryWrapper { + private static Logger logger = Logger.getLogger(QueryWrapper.class); - public String getUserBalance(String userHashId){ + public String sendQuery(String functionName,String[] args) { + BasicConfigurator.configure(); + UserContext user = Util.readUserContext(Config.ORG1, "admin"); String response = null; - try{ - UserContext userContext = Util.readUserContext(Config.ORG1,"User-org1"); - String chaincode = Config.CHAINCODE_NAME; - FabricClientWrapper fabricClientWrapper = new FabricClientWrapper(userContext); + try { + FabricClientWrapper fabricClientWrapper = new FabricClientWrapper(user); ChannelClientWrapper channelClientWrapper = ChannelClientWrapper.setupChannel(fabricClientWrapper); - String[] args = {userHashId}; + ChaincodeID chaincodeID = ChaincodeID.newBuilder().setName(Config.CHAINCODE_NAME).build(); + QueryByChaincodeRequest queryByChaincodeRequest = fabricClientWrapper.getClient().newQueryProposalRequest(); + queryByChaincodeRequest.setArgs(args); + queryByChaincodeRequest.setFcn(functionName); + queryByChaincodeRequest.setChaincodeID(chaincodeID); - Collection responseQuery = channelClientWrapper.queryByChainCode(chaincode,"query",args); - for(ProposalResponse pres : responseQuery){ - ChaincodeResponse.Status status = pres.getStatus(); - if(status.getStatus()!=200){ - throw new Exception(pres.getMessage()); - } + Collection queryProposals; - response = new String(pres.getChaincodeActionResponsePayload()); + try { + queryProposals = channelClientWrapper.queryByChainCode(queryByChaincodeRequest); + } catch (Exception e) { + throw new Exception(e); } - }catch (Exception e){ - e.printStackTrace(); - } - if(response==null) response = "Error"; + for (ProposalResponse proposalResponse : queryProposals) { + if (!proposalResponse.isVerified() || proposalResponse.getStatus() != ChaincodeResponse.Status.SUCCESS) { + logger.error("Failed query proposal from peer " + proposalResponse.getPeer().getName() + " status : " + proposalResponse.getStatus() + + ". Message : " + proposalResponse.getMessage() + ". Was verified : " + proposalResponse.isVerified()); + } else { + response = new String(proposalResponse.getChaincodeActionResponsePayload()); + logger.info("Query payload : " + response + " from peer : " + proposalResponse.getPeer().getName()); + } + } + } catch (Exception e) { + e.printStackTrace(); + return null; + } return response; } - - public String getUser(String userHashId){ - return ""; - } - - public List getUserLastTransactions(String userHashId){ - List transactions = new ArrayList<>(); - return transactions; - } } diff --git a/src/main/java/blockchain/query/TransactionWrapper.java b/src/main/java/blockchain/query/TransactionWrapper.java index 65c562b..95490d7 100644 --- a/src/main/java/blockchain/query/TransactionWrapper.java +++ b/src/main/java/blockchain/query/TransactionWrapper.java @@ -5,36 +5,65 @@ import blockchain.client.FabricClientWrapper; import blockchain.configuration.Config; import blockchain.user.UserContext; import blockchain.utility.Util; -import org.hyperledger.fabric.sdk.BlockEvent; -import org.hyperledger.fabric.sdk.ChaincodeID; -import org.hyperledger.fabric.sdk.ProposalResponse; -import org.hyperledger.fabric.sdk.TransactionProposalRequest; +import org.apache.log4j.BasicConfigurator; +import org.apache.log4j.Logger; +import org.hyperledger.fabric.sdk.*; import java.util.Collection; +import java.util.LinkedList; public class TransactionWrapper { + private static Logger logger = Logger.getLogger(TransactionWrapper.class); + + public BlockEvent.TransactionEvent sendTransaction(String functionName, String[] args){ + BasicConfigurator.configure(); + UserContext user = Util.readUserContext(Config.ORG1,"admin"); - public String sendTransaction(String from, String to, String amount){ try{ - UserContext userContext = Util.readUserContext(Config.ORG1,"User-org1"); - String chaincode = Config.CHAINCODE_NAME; - FabricClientWrapper fabricClientWrapper = new FabricClientWrapper(userContext); + Collection successful = new LinkedList<>(); + Collection failed = new LinkedList<>(); + FabricClientWrapper fabricClientWrapper; - ChannelClientWrapper channelClientWrapper = ChannelClientWrapper.setupChannel(fabricClientWrapper); + if(user != null){ + fabricClientWrapper = new FabricClientWrapper(user); + } else { + throw new Exception("No UserContext"); + } + ChannelClientWrapper channelClientWrapper = fabricClientWrapper.createChannelClient(Config.CHANNEL_NAME); + + //INIT CHANNEL FOR QUERY + 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(); + // + + //Prepare transaction TransactionProposalRequest tpr = fabricClientWrapper.getClient().newTransactionProposalRequest(); ChaincodeID cid = ChaincodeID.newBuilder().setName(Config.CHAINCODE_NAME).build(); tpr.setChaincodeID(cid); - tpr.setFcn("invoke"); - tpr.setArgs(new String[]{from,to,amount}); + tpr.setFcn(functionName); + tpr.setArgs(args); + tpr.setProposalWaitTime(120000); - Collection responses = channelClientWrapper.sendTransactionProposal(tpr); - System.out.println("VERIFY HERE, TRY TO SEND TRANSACTION"); - BlockEvent.TransactionEvent event = channelClientWrapper.sendTransaction(responses); + Collection invokePropResp = channel.sendTransactionProposal(tpr); //Send proposal transaction + 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 transaction proposal response Txid: "+response.getTransactionID()+" from peer "+response.getPeer().getName()); + } + } - return event.getTransactionID(); - }catch (Exception e){ + return channelClientWrapper.sendTransaction(successful); //Send successful transaction to orderer + + } catch (Exception e){ e.printStackTrace(); return null; } diff --git a/src/main/java/restImplementation/BlockchainQueryImplementation.java b/src/main/java/restImplementation/BlockchainQueryImplementation.java index 5f84df2..f64ad70 100644 --- a/src/main/java/restImplementation/BlockchainQueryImplementation.java +++ b/src/main/java/restImplementation/BlockchainQueryImplementation.java @@ -4,10 +4,12 @@ import blockchain.query.QueryWrapper; public class BlockchainQueryImplementation { + /* public Double getUserBalance(String userHash){ QueryWrapper queryWrapper = new QueryWrapper(); String result = queryWrapper.getUserBalance(userHash); Double balance = Double.parseDouble(result); return balance; } + */ } diff --git a/src/main/java/restService/BlockchainQueryResource.java b/src/main/java/restService/BlockchainQueryResource.java index 24f7001..2543059 100644 --- a/src/main/java/restService/BlockchainQueryResource.java +++ b/src/main/java/restService/BlockchainQueryResource.java @@ -9,6 +9,7 @@ import restImplementation.BlockchainQueryImplementation; @RequestMapping(value = "/api/rest/query") public class BlockchainQueryResource { + /* @RequestMapping(value = "/balance", method = RequestMethod.GET ,params = {"userHash"},produces = "application/json") @ResponseStatus(HttpStatus.OK) public ResponseEntity getUserBalance(@RequestParam(value = "userHash") String userHash){ @@ -23,6 +24,7 @@ public class BlockchainQueryResource { } } + */ } diff --git a/src/test/java/blockchain/query/ChaincodeTransactionTest.java b/src/test/java/blockchain/query/ChaincodeTransactionTest.java deleted file mode 100644 index 3b109ea..0000000 --- a/src/test/java/blockchain/query/ChaincodeTransactionTest.java +++ /dev/null @@ -1,78 +0,0 @@ -package blockchain.query; - -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.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; - -//Test for transaction -@Ignore -public class ChaincodeTransactionTest { - private static Logger logger = Logger.getLogger(ChaincodeTransactionTest.class); - @Test - public void TestATransaction(){ - BasicConfigurator.configure(); - - //UserContext user = Util.readUserContext(Config.ORG1,"User-org1"); - UserContext user = Util.readUserContext(Config.ORG1,Config.ADMIN); - - try{ - - String chaincode = Config.CHAINCODE_NAME; - FabricClientWrapper fabricClientWrapper = new FabricClientWrapper(user); - ChannelClientWrapper channelClientWrapper = fabricClientWrapper.createChannelClient(Config.CHANNEL_NAME); - - Channel channel = channelClientWrapper.getChannel(); - //OLD PEER - //Peer peer = fabricClientWrapper.getClient().newPeer(Config.ORG_PEER,Config.ORG_PEER_URL); - //EventHub eventHub = fabricClientWrapper.getClient().newEventHub("eventhub01", Config.ORG_PEER_EVENT_URL); - //Orderer orderer = fabricClientWrapper.getClient().newOrderer(Config.ORDERER_NAME,Config.ORDERER_URL); - - Peer peer = fabricClientWrapper.getClient().newPeer(Config.ORG1_PEER_0,Config.ORG1_PEER_0_URL); - EventHub eventHub = fabricClientWrapper.getClient().newEventHub("eventhub01", "grpc://vps577432.ovh.net:8053"); - Orderer orderer = fabricClientWrapper.getClient().newOrderer(Config.ORDERER_NAME,Config.ORDERER_URL); - channel.addPeer(peer); - channel.addEventHub(eventHub); - channel.addOrderer(orderer); - channel.initialize(); - - - - TransactionProposalRequest tpr = fabricClientWrapper.getClient().newTransactionProposalRequest(); - ChaincodeID cid = ChaincodeID.newBuilder().setName(Config.CHAINCODE_NAME).build(); - tpr.setChaincodeID(cid); - tpr.setFcn("invoke"); - tpr.setArgs(new String[]{"b","a","25"}); //send 20 from a to b - - 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()); - }); - } - - - logger.info("SEND TRANSACTION"); - BlockEvent.TransactionEvent event = channel.sendTransaction(responses).get(); - logger.info("Event transaction id : "+event.getTransactionID()); //print transaction id - - }catch (Exception e){ - e.printStackTrace(); - } - } -} diff --git a/src/test/java/blockchain/query/CreateChaincodeUserTest.java b/src/test/java/blockchain/query/CreateChaincodeUserTest.java deleted file mode 100644 index 0e8e79d..0000000 --- a/src/test/java/blockchain/query/CreateChaincodeUserTest.java +++ /dev/null @@ -1,64 +0,0 @@ -package blockchain.query; - -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.ArrayList; -import java.util.Collection; -import java.util.List; - -//Test to create user on chaincode -> don't work, can't use function "Init" -@Ignore -public class CreateChaincodeUserTest { - private static Logger logger = Logger.getLogger(QueryTest.class); - - @Test - public void TestCreateUser(){ - BasicConfigurator.configure(); - UserContext user = Util.readUserContext(Config.ORG1,Config.ADMIN); - - try{ - String chaincode = Config.CHAINCODE_NAME; - FabricClientWrapper fabricClientWrapper = new FabricClientWrapper(user); - ChannelClientWrapper channelClientWrapper = fabricClientWrapper.createChannelClient(Config.CHANNEL_NAME); - - Channel channel = channelClientWrapper.getChannel(); - //OLD - //Peer peer = fabricClientWrapper.getClient().newPeer(Config.ORG_PEER,Config.ORG_PEER_URL); - //EventHub eventHub = fabricClientWrapper.getClient().newEventHub("eventhub01", Config.ORG_PEER_EVENT_URL); - //Orderer orderer = fabricClientWrapper.getClient().newOrderer(Config.ORDERER_NAME,Config.ORDERER_URL); - - Peer peer = fabricClientWrapper.getClient().newPeer(Config.ORG1_PEER_0,Config.ORG1_PEER_0_URL); - EventHub eventHub = fabricClientWrapper.getClient().newEventHub("eventhub01", "grpc://vps577432.ovh.net:8053"); - Orderer orderer = fabricClientWrapper.getClient().newOrderer(Config.ORDERER_NAME,Config.ORDERER_URL); - - channel.addPeer(peer); - channel.addEventHub(eventHub); - channel.addOrderer(orderer); - channel.initialize(); - - String[] args = {"user1","200","user2","180"}; - - Collection responseQuery = channelClientWrapper.queryByChainCode(chaincode,"init",args); - 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/QueryChannelTest.java b/src/test/java/blockchain/query/QueryChannelTest.java index 5b9fe34..a494f62 100644 --- a/src/test/java/blockchain/query/QueryChannelTest.java +++ b/src/test/java/blockchain/query/QueryChannelTest.java @@ -1,36 +1,32 @@ package blockchain.query; + 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.Peer; import org.junit.Ignore; import org.junit.Test; - import java.util.Set; + //Test to show channels on a node @Ignore public class QueryChannelTest { - private static Logger logger = Logger.getLogger(QueryTest.class); + private static Logger logger = Logger.getLogger(QueryChannelTest.class); @Test - public void testQ(){ + public void TestQueryForChannels(){ BasicConfigurator.configure(); UserContext userContext = Util.readUserContext(Config.ORG1,"admin"); - try{ FabricClientWrapper fabricClientWrapper = new FabricClientWrapper(userContext); Set channels = fabricClientWrapper.queryForChannels(); - logger.info("CHANNELS : "+channels); - }catch(Exception e){ e.printStackTrace(); } - } } diff --git a/src/test/java/blockchain/query/QueryTest.java b/src/test/java/blockchain/query/QueryTest.java deleted file mode 100644 index 8348c1a..0000000 --- a/src/test/java/blockchain/query/QueryTest.java +++ /dev/null @@ -1,53 +0,0 @@ -package blockchain.query; - -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; - - -//Test to get balance of a User -@Ignore -public class QueryTest { - private static Logger logger = Logger.getLogger(QueryTest.class); - - @Test - public void TestAQuery() { - BasicConfigurator.configure(); - - //UserContext user = Util.readUserContext(Config.ORG1,Config.ADMIN); - 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 = {"a"}; - String[] args1 = {"chef"}; - //String[] args1 = {"bitman"}; - //String[] args1 = {"user_test"}; - - Collection responseQuery = channelClientWrapper.queryByChainCode(chaincode,"query",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/Transaction/TransactionTest.java b/src/test/java/blockchain/query/Transaction/TransactionTest.java index 201139e..33403c9 100644 --- a/src/test/java/blockchain/query/Transaction/TransactionTest.java +++ b/src/test/java/blockchain/query/Transaction/TransactionTest.java @@ -1,79 +1,27 @@ package blockchain.query.Transaction; -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 blockchain.query.TransactionWrapper; 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 TransactionTest { - private static Logger logger = Logger.getLogger(QueryTest.class); + private static Logger logger = Logger.getLogger(TransactionTest.class); @Test - public void TestQueryWalletHistory() { + public void TestTransaction() { 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("transaction"); - tpr.setArgs(new String[]{"qerh654d5f5h46q4fdh6h65fh00","qerh654d5f5h46q4fdh6h65fh01","200"}); //1 foutre to 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 - - + TransactionWrapper transactionWrapper = new TransactionWrapper(); + String functionName = "transaction"; + String[] args = new String[]{"qerh654d5f5h46q4fdh6h65fh00","qerh654d5f5hdsf1515","200"}; + BlockEvent.TransactionEvent responseEvent = transactionWrapper.sendTransaction(functionName,args); + logger.info("Event transaction id : "+responseEvent.getTransactionID()); //print transaction id }catch (Exception e){ e.printStackTrace(); } diff --git a/src/test/java/blockchain/query/User/DeleteUserTest.java b/src/test/java/blockchain/query/User/DeleteUserTest.java index 0b13636..07c6382 100644 --- a/src/test/java/blockchain/query/User/DeleteUserTest.java +++ b/src/test/java/blockchain/query/User/DeleteUserTest.java @@ -1,19 +1,13 @@ package blockchain.query.User; -import blockchain.client.ChannelClientWrapper; -import blockchain.client.FabricClientWrapper; -import blockchain.configuration.Config; -import blockchain.user.UserContext; -import blockchain.utility.Util; + +import blockchain.query.TransactionWrapper; 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 DeleteUserTest { @@ -22,57 +16,12 @@ public class DeleteUserTest { @Test public void TestDeleteUser() { 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("deleteUser"); - 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 - - + TransactionWrapper transactionWrapper = new TransactionWrapper(); + String functionName = "deleteUser"; + String[] args = new String[]{"usera"}; + BlockEvent.TransactionEvent responseEvent = transactionWrapper.sendTransaction(functionName,args); + logger.info("Event transaction id : "+responseEvent.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 307fe52..8e33794 100644 --- a/src/test/java/blockchain/query/User/ReadUserTest.java +++ b/src/test/java/blockchain/query/User/ReadUserTest.java @@ -1,70 +1,39 @@ 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 blockchain.query.QueryWrapper; 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 javax.json.Json; import javax.json.JsonObject; import javax.json.JsonReader; import java.io.StringReader; -import java.util.Collection; + @Ignore public class ReadUserTest { - private static Logger logger = Logger.getLogger(QueryTest.class); + private static Logger logger = Logger.getLogger(ReadUserTest.class); @Test public void TestQueryReadUser() { 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 = {"chef"} - //String[] args1 = {"bitman"}; - //String[] args1 = {"foutre"}; - String[] args1 = {"usera"}; - - Collection responseQuery = channelClientWrapper.queryByChainCode(chaincode,"readUser",args1); - logger.info("RESPONSE : "+responseQuery); - logger.info("RESPONSE : "+responseQuery.size()); - - String response = null; - - for(ProposalResponse pres : responseQuery){ - ChaincodeResponse.Status status = pres.getStatus(); - - if(status.getStatus()!=200){ - throw new Exception(pres.getMessage()); - } - String stringResponse = new String(pres.getChaincodeActionResponsePayload()); - response = stringResponse; - logger.info("RESPONSE : "+stringResponse); + QueryWrapper queryWrapper = new QueryWrapper(); + String functionName = "readUser"; + String[] args = new String[]{"usera"}; + String response = queryWrapper.sendQuery(functionName,args); + if(response != null){ + JsonReader reader = Json.createReader(new StringReader(response)); + JsonObject userInfo = reader.readObject(); + logger.info("userAssociation : "+userInfo.getString("userAssociation")); + logger.info("userFirstName : "+userInfo.getString("userFirstName")); + } else { + throw new Exception("Response is null"); } - - JsonReader reader = Json.createReader(new StringReader(response)); - JsonObject userInfo = reader.readObject(); - logger.info("userAssociation : "+userInfo.getString("userAssociation")); - logger.info("userFirstName : "+userInfo.getString("userFirstName")); - - }catch (Exception e){ e.printStackTrace(); } - } } diff --git a/src/test/java/blockchain/query/User/RegisterUserTest.java b/src/test/java/blockchain/query/User/RegisterUserTest.java index 7785646..8ed7122 100644 --- a/src/test/java/blockchain/query/User/RegisterUserTest.java +++ b/src/test/java/blockchain/query/User/RegisterUserTest.java @@ -1,75 +1,28 @@ 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 blockchain.query.TransactionWrapper; 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; @Ignore public class RegisterUserTest { - - private static Logger logger = Logger.getLogger(QueryTest.class); - + private static Logger logger = Logger.getLogger(RegisterUserTest.class); @Test public void TestRegisterUser() { BasicConfigurator.configure(); - UserContext user = Util.readUserContext(Config.ORG1,Config.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(); - - 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.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 - - - - + TransactionWrapper transactionWrapper = new TransactionWrapper(); + String functionName = "registerUser"; + String[] args = new String[]{"usera","Thomas","MEUNIER","0000000000","gonette"}; + BlockEvent.TransactionEvent responseEvent = transactionWrapper.sendTransaction(functionName,args); + logger.info("Event transaction id : "+responseEvent.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 index 68cf359..40ba602 100644 --- a/src/test/java/blockchain/query/User/UserPermissionTest.java +++ b/src/test/java/blockchain/query/User/UserPermissionTest.java @@ -1,20 +1,13 @@ 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 blockchain.query.TransactionWrapper; 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 { @@ -23,60 +16,14 @@ public class UserPermissionTest { @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 - - + TransactionWrapper transactionWrapper = new TransactionWrapper(); + String functionName = "setUserPermission"; + String[] args = new String[]{"usera"}; + BlockEvent.TransactionEvent responseEvent = transactionWrapper.sendTransaction(functionName,args); + logger.info("Event transaction id : "+responseEvent.getTransactionID()); //print transaction id }catch (Exception e){ e.printStackTrace(); } } - } diff --git a/src/test/java/blockchain/query/Wallet/DeleteWalletTest.java b/src/test/java/blockchain/query/Wallet/DeleteWalletTest.java index d1231df..06f51c5 100644 --- a/src/test/java/blockchain/query/Wallet/DeleteWalletTest.java +++ b/src/test/java/blockchain/query/Wallet/DeleteWalletTest.java @@ -1,19 +1,13 @@ 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 blockchain.query.TransactionWrapper; 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 DeleteWalletTest { @@ -22,64 +16,14 @@ public class DeleteWalletTest { @Test public void TestDeleteWallet() { 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("deleteWallet"); - tpr.setArgs(new String[]{"qerh654d5f5h46q4fdh6h65fh00"}); - 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 - - - - + TransactionWrapper transactionWrapper = new TransactionWrapper(); + String functionName = "deleteWallet"; + String[] args = new String[]{"qerh654d5f5hdsf1515"}; + BlockEvent.TransactionEvent responseEvent = transactionWrapper.sendTransaction(functionName,args); + logger.info("Event transaction id : "+responseEvent.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 index 0ae4ab0..ea2c44d 100644 --- a/src/test/java/blockchain/query/Wallet/InitWalletTest.java +++ b/src/test/java/blockchain/query/Wallet/InitWalletTest.java @@ -1,20 +1,13 @@ 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 blockchain.query.TransactionWrapper; import org.apache.log4j.BasicConfigurator; import org.apache.log4j.Logger; -import org.hyperledger.fabric.sdk.*; +import org.hyperledger.fabric.sdk.BlockEvent; import org.junit.Ignore; import org.junit.Test; -import java.util.Collection; -import java.util.LinkedList; -import java.util.Set; @Ignore public class InitWalletTest { @@ -23,60 +16,12 @@ public class InitWalletTest { @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 - - + TransactionWrapper transactionWrapper = new TransactionWrapper(); + String functionName = "initWallet"; + String[] args = new String[]{"qerh654d5f5hdsf1515","client","usera"}; + BlockEvent.TransactionEvent responseEvent = transactionWrapper.sendTransaction(functionName,args); + logger.info("Event transaction id : "+responseEvent.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 bec500a..a85c38c 100644 --- a/src/test/java/blockchain/query/Wallet/QueryWalletByOwnerTest.java +++ b/src/test/java/blockchain/query/Wallet/QueryWalletByOwnerTest.java @@ -1,51 +1,29 @@ 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 blockchain.query.QueryWrapper; 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 QueryWalletByOwnerTest { private static Logger logger = Logger.getLogger(QueryWalletByOwnerTest.class); @Test - public void TestQueryWallet() { + public void TestQueryWalletByOwnerTest() { 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 = {"bitman"}; - //String[] args1 = {"usera"}; - Collection responseQuery = channelClientWrapper.queryByChainCode(chaincode,"queryWalletsByOwner",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); - } - + QueryWrapper queryWrapper = new QueryWrapper(); + String functionName = "queryWalletsByOwner"; + String[] args = new String[]{"usera"}; + //String[] args = new String[]{"bitman"}; + String response = queryWrapper.sendQuery(functionName,args); + logger.info("response : "+response); }catch (Exception e){ e.printStackTrace(); } - } } diff --git a/src/test/java/blockchain/query/Wallet/QueryWalletByTypeTest.java b/src/test/java/blockchain/query/Wallet/QueryWalletByTypeTest.java index 773caf9..b08c29b 100644 --- a/src/test/java/blockchain/query/Wallet/QueryWalletByTypeTest.java +++ b/src/test/java/blockchain/query/Wallet/QueryWalletByTypeTest.java @@ -1,47 +1,26 @@ 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 blockchain.query.QueryWrapper; 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() { + public void TestQueryWalletByTypeTest() { 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); - } - + QueryWrapper queryWrapper = new QueryWrapper(); + String functionName = "queryWalletsByType"; + String[] args = new String[]{"client"}; + String response = queryWrapper.sendQuery(functionName,args); + logger.info("response : "+response); }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 6413a8a..2596dec 100644 --- a/src/test/java/blockchain/query/Wallet/QueryWalletHistory.java +++ b/src/test/java/blockchain/query/Wallet/QueryWalletHistory.java @@ -1,53 +1,28 @@ 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 blockchain.query.QueryWrapper; 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 QueryWalletHistory { - private static Logger logger = Logger.getLogger(QueryTest.class); + private static Logger logger = Logger.getLogger(QueryWalletHistory.class); @Test public void TestQueryWalletHistory() { 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 = {"qerh654d5f5h46q4fdh6h65fh2"}; - //String[] args1 = {"qerh654d5f5h46q4fdh6h65fh"}; - String[] args1 = {"qerh654d5f5h46q4fdh6h65fh00"}; - Collection responseQuery = channelClientWrapper.queryByChainCode(chaincode,"getHistoryForWallet",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); - } - + QueryWrapper queryWrapper = new QueryWrapper(); + String functionName = "getHistoryForWallet"; + String[] args = new String[]{"qerh654d5f5hdsf1515"}; + String response = queryWrapper.sendQuery(functionName,args); + logger.info("response : "+response); }catch (Exception e){ e.printStackTrace(); } - } - } diff --git a/src/test/java/blockchain/query/Wallet/ReadWalletTest.java b/src/test/java/blockchain/query/Wallet/ReadWalletTest.java index da9399e..b60bd75 100644 --- a/src/test/java/blockchain/query/Wallet/ReadWalletTest.java +++ b/src/test/java/blockchain/query/Wallet/ReadWalletTest.java @@ -1,52 +1,28 @@ 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 blockchain.query.QueryWrapper; 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 ReadWalletTest { private static Logger logger = Logger.getLogger(ReadWalletTest.class); @Test - public void TestQueryWallet() { + public void TestReadWalletTest() { 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 = {"qerh654d5f5h46q4fdh6h65fh2"}; - String[] args1 = {"qerh654d5f5h46q4fdh6h65fh00"}; - //String[] args1 = {"qerh654d5f5h46q4fdh6h65fh01"}; - Collection responseQuery = channelClientWrapper.queryByChainCode(chaincode,"readWallet",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); - } - + QueryWrapper queryWrapper = new QueryWrapper(); + String functionName = "readWallet"; + String[] args = new String[]{"qerh654d5f5hdsf1515"}; + String response = queryWrapper.sendQuery(functionName,args); + logger.info("response : "+response); }catch (Exception e){ e.printStackTrace(); } - } } diff --git a/src/test/java/blockchain/query/Wallet/SetWalletSoldTest.java b/src/test/java/blockchain/query/Wallet/SetWalletSoldTest.java index bcfced4..14e536f 100644 --- a/src/test/java/blockchain/query/Wallet/SetWalletSoldTest.java +++ b/src/test/java/blockchain/query/Wallet/SetWalletSoldTest.java @@ -1,19 +1,13 @@ 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 blockchain.query.TransactionWrapper; 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 { @@ -22,59 +16,12 @@ public class SetWalletSoldTest { @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 - - + TransactionWrapper transactionWrapper = new TransactionWrapper(); + String functionName = "setSoldOnWallet"; + String[] args = new String[]{"qerh654d5f5hdsf1515","500"}; + BlockEvent.TransactionEvent responseEvent = transactionWrapper.sendTransaction(functionName,args); + logger.info("Event transaction id : "+responseEvent.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 index 17ccf56..d66c42f 100644 --- a/src/test/java/blockchain/query/Wallet/TransferWalletTest.java +++ b/src/test/java/blockchain/query/Wallet/TransferWalletTest.java @@ -1,83 +1,30 @@ 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 blockchain.query.TransactionWrapper; 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); + private static Logger logger = Logger.getLogger(TransferWalletTest.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 - + TransactionWrapper transactionWrapper = new TransactionWrapper(); + String functionName = "transferWallet"; + String[] args = new String[]{"qerh654d5f5h46q4fdh6h65fh00","bitman"}; + //String[] args = new String[]{"qerh654d5f5h46q4fdh6h65fh00","usera"}; + BlockEvent.TransactionEvent responseEvent = transactionWrapper.sendTransaction(functionName,args); + logger.info("Event transaction id : "+responseEvent.getTransactionID()); //print transaction id }catch (Exception e){ e.printStackTrace(); } - } - } diff --git a/src/test/java/blockchain/queryWrapper/QueryWrapperTest.java b/src/test/java/blockchain/queryWrapper/QueryWrapperTest.java deleted file mode 100644 index 56944d0..0000000 --- a/src/test/java/blockchain/queryWrapper/QueryWrapperTest.java +++ /dev/null @@ -1,20 +0,0 @@ -package blockchain.queryWrapper; - -import blockchain.query.QueryWrapper; -import org.apache.log4j.BasicConfigurator; -import org.apache.log4j.Logger; -import org.junit.Ignore; -import org.junit.Test; - -@Ignore -public class QueryWrapperTest { - private static Logger logger = Logger.getLogger(QueryWrapperTest.class); - @Test - public void TestGerUserBalance() { - BasicConfigurator.configure(); - QueryWrapper queryWrapper = new QueryWrapper(); - String response = queryWrapper.getUserBalance("a"); - logger.info(response); - } - -} diff --git a/src/test/java/blockchain/queryWrapper/TransactionWrapperTest.java b/src/test/java/blockchain/queryWrapper/TransactionWrapperTest.java deleted file mode 100644 index aa54215..0000000 --- a/src/test/java/blockchain/queryWrapper/TransactionWrapperTest.java +++ /dev/null @@ -1,28 +0,0 @@ -package blockchain.queryWrapper; - -import blockchain.query.QueryWrapper; -import blockchain.query.TransactionWrapper; -import org.apache.log4j.BasicConfigurator; -import org.apache.log4j.Logger; -import org.junit.Ignore; -import org.junit.Test; - -@Ignore -public class TransactionWrapperTest { - private static Logger logger = Logger.getLogger(TransactionWrapperTest.class); - - @Test - public void TestTransaction() { - BasicConfigurator.configure(); - QueryWrapper queryWrapper = new QueryWrapper(); - TransactionWrapper transactionWrapper = new TransactionWrapper(); - String responseTransaction = transactionWrapper.sendTransaction("b","a","150"); //do transaction - logger.info("TRANSACTION ID : "+responseTransaction); - - String responseUserB = queryWrapper.getUserBalance("b"); //check new balance of user b - logger.info("BALANCE USER B : "+responseUserB); - - String responseUserA = queryWrapper.getUserBalance("a"); //check new balance of user a - logger.info("BALANCE USER A :"+responseUserA); - } -}