Passed
Pull Request — master (#3)
by Timothy
11:06 queued 05:35
created

HeaderFactoryTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 22
rs 10
c 0
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A testCreate() 0 20 1
1
<?php
2
3
/**
4
 * Copyright 2017 American Express Travel Related Services Company, Inc.
5
 *
6
 * Licensed under the Apache License, Version 2.0 (the "License");
7
 * you may not use this file except in compliance with the License.
8
 * You may obtain a copy of the License at
9
 *
10
 * http://www.apache.org/licenses/LICENSE-2.0
11
 *
12
 * Unless required by applicable law or agreed to in writing, software
13
 * distributed under the License is distributed on an "AS IS" BASIS,
14
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
15
 * or implied. See the License for the specific language governing
16
 * permissions and limitations under the License.
17
 */
18
19
declare(strict_types=1);
20
21
namespace AmericanExpressTest\HyperledgerFabricClient\ProtoFactory;
22
23
use AmericanExpress\HyperledgerFabricClient\ProtoFactory\ChannelHeaderFactory;
24
use AmericanExpress\HyperledgerFabricClient\ProtoFactory\HeaderFactory;
25
use AmericanExpress\HyperledgerFabricClient\ProtoFactory\SerializedIdentityFactory;
26
use AmericanExpress\HyperledgerFabricClient\ProtoFactory\SignatureHeaderFactory;
27
use Hyperledger\Fabric\Protos\Common\Header;
28
use PHPUnit\Framework\TestCase;
29
30
/**
31
 * @covers \AmericanExpress\HyperledgerFabricClient\ProtoFactory\HeaderFactory
32
 */
33
class HeaderFactoryTest extends TestCase
34
{
35
    public function testCreate()
36
    {
37
        $serializedIdentity = SerializedIdentityFactory::fromBytes('Alice', 'Bob');
38
        $nonce = 'u58920du89f';
39
40
        $channelHeader = ChannelHeaderFactory::create(
41
            'MyChannelId'
42
        );
43
        $channelHeader->setTxId('MyTransactionId');
44
45
        $signatureHeader = SignatureHeaderFactory::create($serializedIdentity, $nonce);
46
47
        $result = HeaderFactory::create($signatureHeader, $channelHeader);
48
49
        self::assertInstanceOf(Header::class, $result);
50
        self::assertContains('MyChannelId', $result->getChannelHeader());
51
        self::assertContains('MyTransactionId', $result->getChannelHeader());
52
        self::assertContains('Alice', $result->getSignatureHeader());
53
        self::assertContains('Bob', $result->getSignatureHeader());
54
        self::assertContains('u58920du89f', $result->getSignatureHeader());
55
    }
56
}
57