github.com/darrenli6/fabric-sdk-example@v0.0.0-20220109053535-94b13b56df8c/bddtests/regression/go/tdk/CAT/README.md (about) 1 ## Consensus Acceptance Testcases (CAT) 2 Hyperledger Fabric Go language Test Development Kit (TDK) 3 tests can be executed on local fabric in vagrant environment with docker 4 containers. 5 Additional details (the date the tests were run, commit image, 6 test config parameters, the test steps, output summary and details, etc.) 7 are available in the GO_TEST files in this folder. 8 9 ### CAT test naming convention 10 11 The testnames themselves indicate the steps performed. For example: 12 13 ``` 14 CAT_210_S2S1_IQ_R1_IQ.go Consensus Acceptance Test (CAT) suite, testcase number 210 15 _S2S1 Stop Validating PEERs VP2 and VP1 at virtually the same time 16 _IQ Send some Invoke requests to all running peers, and Query all to validate A/B/ChainHeight results 17 _R1 Restart VP1 18 _IQ Send some Invoke requests to all running peers, and Query all to validate A/B/ChainHeight results 19 ``` 20 21 ### Test Coverage 22 23 The objective of Consensus Acceptance Tests (CAT) is to ensure the 24 stability and resiliency of the 25 PBFT Batch design when Byzantine faults occur in a 4 peer network. 26 Test areas coverage: 27 28 Stop 1 peer: the network continues to process deploys, invokes, and query 29 transactions. 30 Perform this operation on each peer in the fabric. 31 While exactly 3 peers are running, their ledgers will remain in synch. 32 (In a 4 peer network, 3 represents 2F+1, the minimum number required for 33 consensus.) 34 Restarting a 4th peer will cause it to join in the network operations again. 35 Note: when queried after having been restarted, the ledger on extra 36 peers ( additional nodes beyond 2(F+1) ) 37 may appear to lag for some time. It will catch up if another peer is 38 stopped (leaving it as one of exactly 2F+1 participating peers), OR, with 39 no further disruptions in the network, 40 it could catch up after huge numbers of transaction batches are processed. 41 42 Stop 2 peers: the network should halt advancement, due to a lack of consensus. 43 Restarting 1 or 2 peers will cause the network to resume processing 44 transactions because enough nodes are available to reach consensus. This may 45 include processing transactions that were received and queued by any running 46 peers while consensus was halted. 47 48 Stop 3 peers: the network should halt advancement due to a lack of consensus. 49 Restarting just one of the peers should not resume consensus. 50 Restarting 2 or 3 peers should cause the network to resume consensus. 51 52 Deploys should be processed, or queued if appropriate, with any number of 53 running peers. 54 55 56 ### RESULTS SUMMARY 57 58 ``` 59 Consensus - Failed Testcases Opened Bugs Description 60 61 CAT_111_SnIQRnIQ_cycleDownLoop.go FAB-337 dup Tx 62 CAT_303_S0S1S2_IQ_R0R1R2_IQ.go FAB-333 lost Tx after restart 3 peers together 63 CAT_305_S1S2S3_IQ_R1R2R3_IQ.go FAB-333 lost Tx after restart 3 peers together 64 CAT_407_S0S1S2_D_I_R0R1_IQ.go FAB-911 lost Tx from vp0 after stop vp0/vp1/vp2, deploy, restart vp0/vp1, invokes 65 CAT_408_S0S1S2_D_I_R0R1R2_IQ.go FAB-335 deploy failed when restart 3 peers together 66 CAT_409_S1S2S3_D_I_R1R2_IQ.go FAB-334/FAB-912 lost Tx after all peers after stop vp1/vp2/vp3, deploy, restart vp1/vp2, invokes 67 CAT_410_S1S2S3_D_I_R1R2R3_IQ.go FAB-335 deploy failed when restart 3 peers together 68 CAT_412_S0S1S2_D_I_R1R2_IQ.go FAB-334/FAB-912 lost Tx after all peers after stop vp1/vp2/vp3, deploy, restart vp1/vp2, invokes 69 70 CRT_502_StopAndRestart1or2_10Hrs.go FAB-331 acked Tx lost after stop/restart peers many times 71 72 CAT_201_S2S1_IQDIQ.go (using Pauses) FAB-336 no http response from vp0, while peers vp1,vp2 docker paused 73 ``` 74 75 76 <a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>. 77 s