Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
SensitiveCookieMetadataTest.php
Go to the documentation of this file.
1 <?php
7 
11 
16 class SensitiveCookieMetadataTest extends \PHPUnit\Framework\TestCase
17 {
19  private $objectManager;
20 
22  private $sensitiveCookieMetadata;
23 
25  private $requestMock;
26 
27  protected function setUp()
28  {
29  $this->objectManager = new ObjectManager($this);
30  $this->requestMock = $this->getMockBuilder(\Magento\Framework\App\Request\Http::class)
31  ->disableOriginalConstructor()
32  ->getMock();
33  $this->sensitiveCookieMetadata = $this->objectManager->getObject(
34  \Magento\Framework\Stdlib\Cookie\SensitiveCookieMetadata::class,
35  [
36  'request' => $this->requestMock,
37  ]
38  );
39  }
40 
46  public function testConstructorAndGetHttpOnly($metadata, $httpOnly)
47  {
49  $object = $this->objectManager->getObject(
50  \Magento\Framework\Stdlib\Cookie\SensitiveCookieMetadata::class,
51  [
52  'request' => $this->requestMock,
53  'metadata' => $metadata,
54 
55  ]
56  );
57  $this->assertEquals($httpOnly, $object->getHttpOnly());
58  $this->assertEquals('domain', $object->getDomain());
59  $this->assertEquals('path', $object->getPath());
60  }
61 
66  {
67  return [
68  'with httpOnly' => [
69  [
73  ],
74  false,
75  ],
76  'without httpOnly' => [
77  [
80  ],
81  true,
82  ],
83  ];
84  }
85 
93  public function testGetSecure($isSecure, $metadata, $expected, $callNum = 1)
94  {
95  $this->requestMock->expects($this->exactly($callNum))
96  ->method('isSecure')
97  ->willReturn($isSecure);
98 
100  $object = $this->objectManager->getObject(
101  \Magento\Framework\Stdlib\Cookie\SensitiveCookieMetadata::class,
102  [
103  'request' => $this->requestMock,
104  'metadata' => $metadata,
105  ]
106  );
107  $this->assertEquals($expected, $object->getSecure());
108  }
109 
113  public function getSecureDataProvider()
114  {
115  return [
116  'with secure' => [
117  true,
118  [
122  ],
123  false,
124  0,
125  ],
126  'without secure' => [
127  true,
128  [
131  ],
132  true,
133  ],
134  'without secure 2' => [
135  false,
136  [
139  ],
140  false,
141  ],
142  ];
143  }
144 
152  public function testToArray($isSecure, $metadata, $expected, $callNum = 1)
153  {
154  $this->requestMock->expects($this->exactly($callNum))
155  ->method('isSecure')
156  ->willReturn($isSecure);
157 
159  $object = $this->objectManager->getObject(
160  \Magento\Framework\Stdlib\Cookie\SensitiveCookieMetadata::class,
161  [
162  'request' => $this->requestMock,
163  'metadata' => $metadata,
164  ]
165  );
166  $this->assertEquals($expected, $object->__toArray());
167  }
168 
172  public function toArrayDataProvider()
173  {
174  return [
175  'with secure' => [
176  true,
177  [
181  ],
182  [
187  ],
188  0,
189  ],
190  'without secure' => [
191  true,
192  [
195  ],
196  [
201  ],
202  ],
203  'without secure 2' => [
204  false,
205  [
208  ],
209  [
214  ],
215  ],
216  ];
217  }
218 
225  public function testGetters($setMethodName, $getMethodName, $expectedValue)
226  {
227  $this->sensitiveCookieMetadata->$setMethodName($expectedValue);
228  $this->assertSame($expectedValue, $this->sensitiveCookieMetadata->$getMethodName());
229  }
230 
234  public function getMethodData()
235  {
236  return [
237  "getDomain" => ["setDomain", 'getDomain', "example.com"],
238  "getPath" => ["setPath", 'getPath', "path"]
239  ];
240  }
241 }