31 private $_consumerMock;
34 private $_emptyConsumerMock;
45 private $_consumerData;
50 private $_tokenFactoryMock;
57 $this->_consumerFactory = $this->getMockBuilder(\
Magento\
Integration\Model\Oauth\ConsumerFactory::class)
58 ->disableOriginalConstructor()
59 ->setMethods([
'create'])
61 $this->_tokenProviderMock = $this->getMockBuilder(
63 )->disableOriginalConstructor()->getMock();
64 $this->_tokenMock = $this->getMockBuilder(
66 )->disableOriginalConstructor()->setMethods(
67 [
'createVerifierToken',
'getType',
'__wakeup',
'delete']
70 $this->_tokenFactoryMock = $this->createPartialMock(
74 $this->_tokenFactoryMock->expects($this->any())->method(
'create')->will($this->returnValue($this->_tokenMock));
75 $this->_consumerMock = $this->getMockBuilder(
77 )->disableOriginalConstructor()->setMethods(
78 [
'getData',
'getId',
'load',
'save',
'delete',
'__wakeup']
80 $this->_consumerData = [
83 'secret' =>
'iuyytrfdsdfbnnhbmkkjlkjl',
87 'rejected_callback_url' =>
'' 89 $this->_consumerFactory->expects(
94 $this->returnValue($this->_consumerMock)
97 $this->_service = new \Magento\Integration\Model\OauthService(
98 $this->createMock(\
Magento\Store\Model\StoreManagerInterface::class),
99 $this->_consumerFactory,
100 $this->_tokenFactoryMock,
102 $this->createMock(\
Magento\Framework\HTTP\ZendClient::class),
103 $this->createMock(\Psr\Log\LoggerInterface::class),
104 $this->createMock(\
Magento\Framework\Oauth\Helper\Oauth::class),
105 $this->_tokenProviderMock
107 $this->_emptyConsumerMock = $this->getMockBuilder(
109 )->disableOriginalConstructor()->setMethods(
110 [
'getData',
'load',
'getId',
'save',
'delete',
'__wakeup']
112 $this->_emptyConsumerMock->expects($this->any())->method(
'getId')->will($this->returnValue(
null));
120 $this->_consumerMock->expects(
125 $this->returnValue(self::VALUE_CONSUMER_ID)
127 $this->_consumerMock->expects(
132 self::VALUE_CONSUMER_ID
134 $this->returnValue($this->_consumerMock)
136 $this->_consumerMock->expects($this->once())->method(
'delete')->will($this->returnValue($this->_consumerMock));
137 $this->_consumerMock->expects($this->any())->method(
'getData')->will($this->returnValue($this->_consumerData));
138 $consumerData = $this->_service->deleteConsumer(self::VALUE_CONSUMER_ID);
139 $this->assertEquals($this->_consumerData[
'entity_id'], $consumerData[
'entity_id']);
149 $this->_consumerMock->expects($this->any())->method(
'getId')->will($this->returnValue(
null));
150 $this->_consumerMock->expects($this->once())->method(
'load')->will($this->returnSelf());
151 $this->_consumerMock->expects($this->never())->method(
'delete');
152 $this->_service->deleteConsumer(self::VALUE_CONSUMER_ID);
160 $this->_consumerMock->expects(
165 self::VALUE_CONSUMER_ID
167 $this->returnValue($this->_consumerMock)
170 $this->_tokenProviderMock->expects(
173 'getIntegrationTokenByConsumerId' 175 $this->returnValue($this->_tokenMock)
178 $this->_tokenProviderMock->expects($this->any())->method(
'createRequestToken')->with($this->_consumerMock);
180 $this->_tokenProviderMock->expects($this->any())->method(
'getAccessToken')->with($this->_consumerMock);
182 $this->_tokenFactoryMock->expects($this->any())->method(
'create')->will($this->returnValue($this->_tokenMock));
184 $this->_tokenMock->expects($this->once())->method(
'delete');
186 $this->_tokenMock->expects($this->once())->method(
'createVerifierToken')->with(self::VALUE_CONSUMER_ID);
188 $this->_tokenProviderMock->expects($this->once())->method(
'createRequestToken')->with($this->_consumerMock);
190 $this->_tokenProviderMock->expects($this->once())->method(
'getAccessToken')->with($this->_consumerMock);
192 $this->assertTrue($this->_service->createAccessToken(self::VALUE_CONSUMER_ID,
true));
200 $this->_consumerMock->expects(
205 self::VALUE_CONSUMER_ID
207 $this->returnValue($this->_consumerMock)
210 $this->_tokenProviderMock->expects(
213 'getIntegrationTokenByConsumerId' 215 $this->returnValue($this->_tokenMock)
218 $this->_tokenMock->expects($this->never())->method(
'delete');
220 $this->assertFalse($this->_service->createAccessToken(self::VALUE_CONSUMER_ID,
false));
228 $this->_consumerMock->expects(
235 $this->returnValue($this->_consumerMock)
238 $this->_tokenProviderMock->expects(
241 'getIntegrationTokenByConsumerId' 243 $this->throwException(
244 new \
Magento\Framework\Oauth\Exception(
245 __(
'A token with consumer ID 0 does not exist')
250 $this->_tokenMock->expects($this->never())->method(
'delete');
252 $this->_tokenFactoryMock->expects(
257 $this->returnValue($this->_tokenMock)
260 $this->_tokenMock->expects($this->once())->method(
'createVerifierToken');
262 $this->_tokenProviderMock->expects($this->once())->method(
'createRequestToken');
264 $this->_tokenProviderMock->expects($this->once())->method(
'getAccessToken');
266 $this->assertTrue($this->_service->createAccessToken(0,
false));
274 $this->_consumerMock->expects(
279 self::VALUE_CONSUMER_ID
281 $this->returnValue($this->_consumerMock)
283 $this->_consumerMock->expects($this->any())->method(
'getData')->will($this->returnValue($this->_consumerData));
284 $consumer = $this->_service->loadConsumer(self::VALUE_CONSUMER_ID);
285 $consumerData = $consumer->getData();
286 $this->assertEquals($this->_consumerData[
'entity_id'], $consumerData[
'entity_id']);
295 $this->_consumerMock->expects(
300 $this->throwException(
301 new \
Magento\Framework\Oauth\Exception(
303 "The oAuth consumer account couldn't be loaded due to an unexpected error. " 304 .
"Please try again later." 309 $this->_service->loadConsumer(self::VALUE_CONSUMER_ID);
311 $this->expectExceptionMessage(
312 "The oAuth consumer account couldn't be loaded due to an unexpected error. Please try again later." 321 $this->_consumerMock->expects(
326 self::VALUE_CONSUMER_KEY,
329 $this->returnValue($this->_consumerMock)
331 $this->_consumerMock->expects($this->any())->method(
'getData')->will($this->returnValue($this->_consumerData));
332 $consumer = $this->_service->loadConsumerByKey(self::VALUE_CONSUMER_KEY);
333 $consumerData = $consumer->getData();
334 $this->assertEquals($this->_consumerData[
'key'], $consumerData[
'key']);
343 $this->_consumerMock->expects(
348 $this->throwException(
349 new \
Magento\Framework\Oauth\Exception(
351 "The oAuth consumer account couldn't be loaded due to an unexpected error. " 352 .
"Please try again later." 357 $this->_service->loadConsumerByKey(self::VALUE_CONSUMER_KEY);
359 $this->expectExceptionMessage(
360 "The oAuth consumer account couldn't be loaded due to an unexpected error. Please try again later." 369 $this->_consumerMock->expects(
374 self::VALUE_CONSUMER_ID
376 $this->returnValue($this->_consumerMock)
379 $this->_tokenProviderMock->expects(
382 'getIntegrationTokenByConsumerId' 384 $this->returnValue($this->_tokenMock)
387 $this->_tokenMock->expects($this->once())->method(
'delete');
389 $this->assertTrue($this->_service->deleteIntegrationToken(self::VALUE_CONSUMER_ID));
397 $this->_consumerMock->expects(
402 self::VALUE_CONSUMER_ID
404 $this->returnValue($this->_consumerMock)
407 $this->_tokenProviderMock->expects(
410 'getIntegrationTokenByConsumerId' 412 $this->returnValue($this->_tokenMock)
415 $this->_tokenMock->expects($this->never())->method(
'delete');
417 $this->assertFalse($this->_service->deleteIntegrationToken(
null));
425 $this->_consumerMock->expects(
430 self::VALUE_CONSUMER_ID
432 $this->returnValue($this->_consumerMock)
435 $this->_tokenProviderMock->expects(
438 'getIntegrationTokenByConsumerId' 440 $this->returnValue($this->_tokenMock)
443 $this->assertFalse($this->_service->getAccessToken(self::VALUE_CONSUMER_ID),
false);
451 $this->_consumerMock->expects(
456 self::VALUE_CONSUMER_ID
458 $this->returnValue($this->_consumerMock)
461 $this->_tokenMock->expects($this->once())->method(
'getType')->will($this->returnValue(
Token::TYPE_ACCESS));
463 $this->_tokenProviderMock->expects(
466 'getIntegrationTokenByConsumerId' 468 $this->returnValue($this->_tokenMock)
471 $this->assertEquals($this->_service->getAccessToken(self::VALUE_CONSUMER_ID), $this->_tokenMock);
testDeleteTokenNegative()
testLoadConsumerException()
testLoadConsumerByKeyException()
testCreateAccessTokenInvalidConsumerId()
testCreateAccessTokenAndClearExisting()
testGetAccessTokenNoAccess()
testCreateAccessTokenWithoutClearingExisting()