| @@ 44-77 (lines=34) @@ | ||
| 41 | parent::setUp(); |
|
| 42 | } |
|
| 43 | ||
| 44 | public function testCreate() |
|
| 45 | { |
|
| 46 | $serializedIdentity = SerializedIdentityFactory::fromBytes('Alice', 'Bob'); |
|
| 47 | $nonce = 'u58920du89f'; |
|
| 48 | $txId = 'MyTransactionId'; |
|
| 49 | ||
| 50 | $channelHeader = ChannelHeaderFactory::create('MyChannelId'); |
|
| 51 | $channelHeader->setTxId($txId); |
|
| 52 | ||
| 53 | $header = HeaderFactory::create(SignatureHeaderFactory::create( |
|
| 54 | $serializedIdentity, |
|
| 55 | $nonce |
|
| 56 | ), $channelHeader); |
|
| 57 | ||
| 58 | $chaincodeInvocationSpec = ChaincodeInvocationSpecFactory::fromArgs([ |
|
| 59 | 'foo', |
|
| 60 | 'bar', |
|
| 61 | ]); |
|
| 62 | ||
| 63 | $chaincodeProposalPayload = ChaincodeProposalPayloadFactory::fromChaincodeInvocationSpec( |
|
| 64 | $chaincodeInvocationSpec |
|
| 65 | ); |
|
| 66 | ||
| 67 | $result = ProposalFactory::create($header, $chaincodeProposalPayload->serializeToString()); |
|
| 68 | self::assertInstanceOf(Proposal::class, $result); |
|
| 69 | self::assertContains('Alice', $result->getHeader()); |
|
| 70 | self::assertContains('Bob', $result->getHeader()); |
|
| 71 | self::assertContains('MyChannelId', $result->getHeader()); |
|
| 72 | self::assertContains('MyTransactionId', $result->getHeader()); |
|
| 73 | self::assertContains('u58920du89f', $result->getHeader()); |
|
| 74 | self::assertContains('foo', $result->getPayload()); |
|
| 75 | self::assertContains('bar', $result->getPayload()); |
|
| 76 | self::assertSame('', $result->getExtension()); |
|
| 77 | } |
|
| 78 | ||
| 79 | /** |
|
| 80 | * @dataProvider getChainCodeProposalDataset |
|
| @@ 38-70 (lines=33) @@ | ||
| 35 | */ |
|
| 36 | class SignedProposalFactoryTest extends TestCase |
|
| 37 | { |
|
| 38 | public function testFromProposal() |
|
| 39 | { |
|
| 40 | $serializedIdentity = SerializedIdentityFactory::fromBytes('Alice', 'Bob'); |
|
| 41 | $nonce = 'u58920du89f'; |
|
| 42 | $txId = 'MyTransactionId'; |
|
| 43 | ||
| 44 | $channelHeader = ChannelHeaderFactory::create('MyChannelId'); |
|
| 45 | $channelHeader->setTxId($txId); |
|
| 46 | ||
| 47 | $header = HeaderFactory::create(SignatureHeaderFactory::create( |
|
| 48 | $serializedIdentity, |
|
| 49 | $nonce |
|
| 50 | ), $channelHeader); |
|
| 51 | ||
| 52 | $chaincodeProposalPayload = ChaincodeProposalPayloadFactory::fromChaincodeInvocationSpecArgs([ |
|
| 53 | 'foo', |
|
| 54 | 'bar', |
|
| 55 | ]); |
|
| 56 | ||
| 57 | $proposal = ProposalFactory::create($header, $chaincodeProposalPayload->serializeToString()); |
|
| 58 | ||
| 59 | $result = SignedProposalFactory::fromProposal($proposal, 'MySignature'); |
|
| 60 | ||
| 61 | self::assertInstanceOf(SignedProposal::class, $result); |
|
| 62 | self::assertContains('Alice', $result->getProposalBytes()); |
|
| 63 | self::assertContains('Bob', $result->getProposalBytes()); |
|
| 64 | self::assertContains('MyChannelId', $result->getProposalBytes()); |
|
| 65 | self::assertContains('MyTransactionId', $result->getProposalBytes()); |
|
| 66 | self::assertContains('u58920du89f', $result->getProposalBytes()); |
|
| 67 | self::assertContains('foo', $result->getProposalBytes()); |
|
| 68 | self::assertContains('bar', $result->getProposalBytes()); |
|
| 69 | self::assertSame('MySignature', $result->getSignature()); |
|
| 70 | } |
|
| 71 | } |
|
| 72 | ||