/tests/functional/WindowsAzure/Queue/QueueServiceFunctionalParameterTest.php

https://bitbucket.org/skudatech/azure-sdk-for-php · PHP · 855 lines · 597 code · 75 blank · 183 comment · 6 complexity · b2fd23e6fb41b89b6e4d8a2cd96f2f2f MD5 · raw file

  1. <?php
  2. /**
  3. * LICENSE: Licensed under the Apache License, Version 2.0 (the "License");
  4. * you may not use this file except in compliance with the License.
  5. * You may obtain a copy of the License at
  6. * http://www.apache.org/licenses/LICENSE-2.0
  7. *
  8. * Unless required by applicable law or agreed to in writing, software
  9. * distributed under the License is distributed on an "AS IS" BASIS,
  10. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  11. * See the License for the specific language governing permissions and
  12. * limitations under the License.
  13. *
  14. * PHP version 5
  15. *
  16. * @category Microsoft
  17. * @package Tests\Functional\WindowsAzure\Queue
  18. * @author Azure PHP SDK <azurephpsdk@microsoft.com>
  19. * @copyright 2012 Microsoft Corporation
  20. * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0
  21. * @link https://github.com/windowsazure/azure-sdk-for-php
  22. */
  23. namespace Tests\Functional\WindowsAzure\Queue;
  24. use Tests\Framework\TestResources;
  25. use WindowsAzure\Common\ServiceException;
  26. use WindowsAzure\Common\Internal\Resources;
  27. use WindowsAzure\Queue\Models\ListMessagesOptions;
  28. use WindowsAzure\Queue\Models\PeekMessagesOptions;
  29. use WindowsAzure\Queue\Models\QueueServiceOptions;
  30. class QueueServiceFunctionalParameterTest extends FunctionalTestBase
  31. {
  32. /**
  33. * @covers WindowsAzure\Queue\QueueRestProxy::getServiceProperties
  34. */
  35. public function testGetServicePropertiesNullOptions()
  36. {
  37. try {
  38. $this->restProxy->getServiceProperties(null);
  39. $this->assertFalse($this->isEmulated(), 'Should fail if and only if in emulator');
  40. } catch (ServiceException $e) {
  41. // Expect failure when run this test with emulator, as v1.6 doesn't support this method
  42. if ($this->isEmulated()) {
  43. // Properties are not supported in emulator
  44. $this->assertEquals(TestResources::STATUS_BAD_REQUEST, $e->getCode(), 'getCode');
  45. } else {
  46. throw $e;
  47. }
  48. }
  49. }
  50. /**
  51. * @covers WindowsAzure\Queue\QueueRestProxy::setServiceProperties
  52. */
  53. public function testSetServicePropertiesNullOptions1()
  54. {
  55. $serviceProperties = QueueServiceFunctionalTestData::getDefaultServiceProperties();
  56. try {
  57. $this->restProxy->setServiceProperties($serviceProperties);
  58. $this->assertFalse($this->isEmulated(), 'service properties should throw in emulator');
  59. } catch (ServiceException $e) {
  60. if ($this->isEmulated()) {
  61. // Properties are not supported in emulator
  62. $this->assertEquals(TestResources::STATUS_BAD_REQUEST, $e->getCode(), 'getCode');
  63. } else {
  64. throw $e;
  65. }
  66. }
  67. }
  68. /**
  69. * @covers WindowsAzure\Queue\QueueRestProxy::setServiceProperties
  70. */
  71. public function testSetServicePropertiesNullOptions2()
  72. {
  73. try {
  74. $this->restProxy->setServiceProperties(null);
  75. $this->fail('Expect null service properties to throw');
  76. } catch (\InvalidArgumentException $e) {
  77. $this->assertEquals(Resources::INVALID_SVC_PROP_MSG, $e->getMessage(), 'Expect error message');
  78. $this->assertEquals(0, $e->getCode(), 'Expected error code');
  79. }
  80. }
  81. /**
  82. * @covers WindowsAzure\Queue\QueueRestProxy::setServiceProperties
  83. */
  84. public function testSetServicePropertiesNullOptions3()
  85. {
  86. try {
  87. $this->restProxy->setServiceProperties(null, null);
  88. $this->fail('Expect service properties to throw');
  89. } catch (\InvalidArgumentException $e) {
  90. $this->assertEquals(Resources::INVALID_SVC_PROP_MSG, $e->getMessage(), 'Expect error message');
  91. $this->assertEquals(0, $e->getCode(), 'Expected error code');
  92. }
  93. }
  94. /**
  95. * @covers WindowsAzure\Queue\QueueRestProxy::setServiceProperties
  96. */
  97. public function testSetServicePropertiesNullOptions4()
  98. {
  99. $serviceProperties = QueueServiceFunctionalTestData::getDefaultServiceProperties();
  100. try {
  101. $this->restProxy->setServiceProperties($serviceProperties, null);
  102. $this->assertFalse($this->isEmulated(), 'service properties should throw in emulator');
  103. } catch (ServiceException $e) {
  104. if ($this->isEmulated()) {
  105. // Setting is not supported in emulator
  106. $this->assertEquals(TestResources::STATUS_BAD_REQUEST, $e->getCode(), 'getCode');
  107. } else {
  108. throw $e;
  109. }
  110. }
  111. }
  112. /**
  113. * @covers WindowsAzure\Queue\QueueRestProxy::listQueues
  114. */
  115. public function testListQueuesNullOptions()
  116. {
  117. $this->restProxy->listQueues(null);
  118. $this->assertTrue(true, 'Should just work');
  119. }
  120. /**
  121. * @covers WindowsAzure\Queue\QueueRestProxy::createQueue
  122. */
  123. public function testCreateQueueNullName()
  124. {
  125. try {
  126. $this->restProxy->createQueue(null);
  127. $this->fail('Expect null name to throw');
  128. } catch (ServiceException $e) {
  129. $this->fail('Should not get a service exception');
  130. } catch (\InvalidArgumentException $e) {
  131. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'queueName'), $e->getMessage(), 'Expect error message');
  132. }
  133. }
  134. /**
  135. * @covers WindowsAzure\Queue\QueueRestProxy::deleteQueue
  136. */
  137. public function testDeleteQueueNullName()
  138. {
  139. try {
  140. $this->restProxy->deleteQueue(null);
  141. $this->fail('Expect null name to throw');
  142. } catch (ServiceException $e) {
  143. $this->fail('Should not get a service exception');
  144. } catch (\InvalidArgumentException $e) {
  145. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'queueName'), $e->getMessage(), 'Expect error message');
  146. }
  147. }
  148. /**
  149. * @covers WindowsAzure\Queue\QueueRestProxy::getQueueMetadata
  150. */
  151. public function testGetQueueMetadataNullName()
  152. {
  153. try {
  154. $this->restProxy->getQueueMetadata(null);
  155. $this->fail('Expect null name to throw');
  156. } catch (ServiceException $e) {
  157. $this->fail('Should not get a service exception');
  158. } catch (\InvalidArgumentException $e) {
  159. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'queueName'), $e->getMessage(), 'Expect error message');
  160. }
  161. }
  162. /**
  163. * @covers WindowsAzure\Queue\QueueRestProxy::setQueueMetadata
  164. */
  165. public function testSetQueueMetadataNullNameAndOptions()
  166. {
  167. try {
  168. $this->restProxy->setQueueMetadata(null, null);
  169. $this->fail('Expect null name to throw');
  170. } catch (ServiceException $e) {
  171. $this->fail('Should not get a service exception');
  172. } catch (\InvalidArgumentException $e) {
  173. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'queueName'), $e->getMessage(), 'Expect error message');
  174. }
  175. }
  176. /**
  177. * @covers WindowsAzure\Queue\QueueRestProxy::setQueueMetadata
  178. */
  179. public function testSetQueueMetadataNullName()
  180. {
  181. try {
  182. $this->restProxy->setQueueMetadata(null, array());
  183. $this->fail('Expect null name to throw');
  184. } catch (ServiceException $e) {
  185. $this->fail('Should not get a service exception');
  186. } catch (\InvalidArgumentException $e) {
  187. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'queueName'), $e->getMessage(), 'Expect error message');
  188. }
  189. }
  190. /**
  191. * @covers WindowsAzure\Queue\QueueRestProxy::setQueueMetadata
  192. */
  193. public function testSetQueueMetadataNullMetadata()
  194. {
  195. $queue = QueueServiceFunctionalTestData::$testQueueNames[0];
  196. $this->restProxy->setQueueMetadata($queue, null);
  197. $this->assertTrue(true, 'Should just work');
  198. }
  199. /**
  200. * @covers WindowsAzure\Queue\QueueRestProxy::setQueueMetadata
  201. */
  202. public function testSetQueueMetadataEmptyMetadata()
  203. {
  204. $queue = QueueServiceFunctionalTestData::$testQueueNames[0];
  205. $this->restProxy->setQueueMetadata($queue, array());
  206. $this->assertTrue(true, 'Should just work');
  207. }
  208. /**
  209. * @covers WindowsAzure\Queue\QueueRestProxy::setQueueMetadata
  210. */
  211. public function testSetQueueMetadataNullOptions()
  212. {
  213. $queue = QueueServiceFunctionalTestData::$testQueueNames[0];
  214. $this->restProxy->setQueueMetadata($queue, array(), null);
  215. $this->assertTrue(true, 'Should just work');
  216. }
  217. /**
  218. * @covers WindowsAzure\Queue\QueueRestProxy::clearMessages
  219. * @covers WindowsAzure\Queue\QueueRestProxy::createMessage
  220. */
  221. public function testCreateMessageQueueNull()
  222. {
  223. $queue = QueueServiceFunctionalTestData::$testQueueNames[0];
  224. try {
  225. $this->restProxy->createMessage(null, null);
  226. $this->fail('Expect null name to throw');
  227. } catch (ServiceException $e) {
  228. $this->fail('Should not get a service exception');
  229. } catch (\InvalidArgumentException $e) {
  230. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'queueName'), $e->getMessage(), 'Expect error message');
  231. }
  232. $this->restProxy->clearMessages($queue);
  233. }
  234. /**
  235. * @covers WindowsAzure\Queue\QueueRestProxy::clearMessages
  236. * @covers WindowsAzure\Queue\QueueRestProxy::createMessage
  237. */
  238. public function testCreateMessageNull()
  239. {
  240. $queue = QueueServiceFunctionalTestData::$testQueueNames[0];
  241. $this->restProxy->createMessage($queue, null);
  242. $this->restProxy->clearMessages($queue);
  243. $this->assertTrue(true, 'Should just work');
  244. }
  245. /**
  246. * @covers WindowsAzure\Queue\QueueRestProxy::clearMessages
  247. * @covers WindowsAzure\Queue\QueueRestProxy::createMessage
  248. */
  249. public function testCreateMessageBothMessageAndOptionsNull()
  250. {
  251. $queue = QueueServiceFunctionalTestData::$testQueueNames[0];
  252. $this->restProxy->createMessage($queue, null, null);
  253. $this->restProxy->clearMessages($queue);
  254. $this->assertTrue(true, 'Should just work');
  255. }
  256. /**
  257. * @covers WindowsAzure\Queue\QueueRestProxy::clearMessages
  258. * @covers WindowsAzure\Queue\QueueRestProxy::createMessage
  259. */
  260. public function testCreateMessageMessageNull()
  261. {
  262. $queue = QueueServiceFunctionalTestData::$testQueueNames[0];
  263. $this->restProxy->createMessage($queue, null, QueueServiceFunctionalTestData::getSimpleCreateMessageOptions());
  264. $this->restProxy->clearMessages($queue);
  265. $this->assertTrue(true, 'Should just work');
  266. }
  267. /**
  268. * @covers WindowsAzure\Queue\QueueRestProxy::clearMessages
  269. * @covers WindowsAzure\Queue\QueueRestProxy::createMessage
  270. */
  271. public function testCreateMessageOptionsNull()
  272. {
  273. $queue = QueueServiceFunctionalTestData::$testQueueNames[0];
  274. $this->restProxy->createMessage($queue, QueueServiceFunctionalTestData::getSimpleMessageText(), null);
  275. $this->restProxy->clearMessages($queue);
  276. $this->assertTrue(true, 'Should just work');
  277. }
  278. /**
  279. * @covers WindowsAzure\Queue\QueueRestProxy::updateMessage
  280. */
  281. public function testUpdateMessageQueueNull()
  282. {
  283. $queue = null;
  284. $messageId = 'abc';
  285. $popReceipt = 'abc';
  286. $messageText = 'abc';
  287. $options = new QueueServiceOptions();
  288. $visibilityTimeoutInSeconds = 1;
  289. try {
  290. $this->restProxy->updateMessage($queue, $messageId, $popReceipt, $messageText, $visibilityTimeoutInSeconds, $options);
  291. $this->fail('Expect null name to throw');
  292. } catch (\InvalidArgumentException $e) {
  293. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'queueName'), $e->getMessage(), 'Expect error message');
  294. }
  295. }
  296. /**
  297. * @covers WindowsAzure\Queue\QueueRestProxy::updateMessage
  298. */
  299. public function testUpdateMessageQueueEmpty()
  300. {
  301. $queue = '';
  302. $messageId = 'abc';
  303. $popReceipt = 'abc';
  304. $messageText = 'abc';
  305. $options = new QueueServiceOptions();
  306. $visibilityTimeoutInSeconds = 1;
  307. try {
  308. $this->restProxy->updateMessage($queue, $messageId, $popReceipt, $messageText, $visibilityTimeoutInSeconds, $options);
  309. $this->fail('Expect null name to throw');
  310. } catch (\InvalidArgumentException $e) {
  311. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'queueName'), $e->getMessage(), 'Expect error message');
  312. }
  313. }
  314. /**
  315. * @covers WindowsAzure\Queue\QueueRestProxy::updateMessage
  316. */
  317. public function testUpdateMessageMessageIdNull()
  318. {
  319. $queue = QueueServiceFunctionalTestData::$testQueueNames[0];
  320. $messageId = null;
  321. $popReceipt = 'abc';
  322. $messageText = 'abc';
  323. $options = new QueueServiceOptions();
  324. $visibilityTimeoutInSeconds = 1;
  325. try {
  326. $this->restProxy->updateMessage($queue, $messageId, $popReceipt, $messageText, $visibilityTimeoutInSeconds, $options);
  327. $this->fail('Expect null messageId to throw');
  328. } catch (\InvalidArgumentException $e) {
  329. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'messageId'), $e->getMessage(), 'Expect error message');
  330. }
  331. }
  332. /**
  333. * @covers WindowsAzure\Queue\QueueRestProxy::updateMessage
  334. */
  335. public function testUpdateMessageMessageIdEmpty()
  336. {
  337. $queue = QueueServiceFunctionalTestData::$testQueueNames[0];
  338. $messageId = '';
  339. $popReceipt = 'abc';
  340. $messageText = 'abc';
  341. $options = new QueueServiceOptions();
  342. $visibilityTimeoutInSeconds = 1;
  343. try {
  344. $this->restProxy->updateMessage($queue, $messageId, $popReceipt, $messageText, $visibilityTimeoutInSeconds, $options);
  345. $this->fail('Expect null messageId to throw');
  346. } catch (\InvalidArgumentException $e) {
  347. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'messageId'), $e->getMessage(), 'Expect error message');
  348. }
  349. }
  350. /**
  351. * @covers WindowsAzure\Queue\QueueRestProxy::updateMessage
  352. */
  353. public function testUpdateMessagePopReceiptNull()
  354. {
  355. $queue = QueueServiceFunctionalTestData::$testQueueNames[0];
  356. $messageId = 'abc';
  357. $popReceipt = null;
  358. $messageText = 'abc';
  359. $options = new QueueServiceOptions();
  360. $visibilityTimeoutInSeconds = 1;
  361. try {
  362. $this->restProxy->updateMessage($queue, $messageId, $popReceipt, $messageText, $visibilityTimeoutInSeconds, $options);
  363. $this->fail('Expect null popReceipt to throw');
  364. } catch (\InvalidArgumentException $e) {
  365. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'popReceipt'), $e->getMessage(), 'Expect error message');
  366. }
  367. }
  368. /**
  369. * @covers WindowsAzure\Queue\QueueRestProxy::updateMessage
  370. */
  371. public function testUpdateMessagePopReceiptEmpty()
  372. {
  373. $queue = QueueServiceFunctionalTestData::$testQueueNames[0];
  374. $messageId = 'abc';
  375. $popReceipt = '';
  376. $messageText = 'abc';
  377. $options = new QueueServiceOptions();
  378. $visibilityTimeoutInSeconds = 1;
  379. try {
  380. $this->restProxy->updateMessage($queue, $messageId, $popReceipt, $messageText, $visibilityTimeoutInSeconds, $options);
  381. $this->fail('Expect null popReceipt to throw');
  382. } catch (\InvalidArgumentException $e) {
  383. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'popReceipt'), $e->getMessage(), 'Expect error message');
  384. }
  385. }
  386. /**
  387. * @covers WindowsAzure\Queue\QueueRestProxy::updateMessage
  388. */
  389. public function testUpdateMessageMessageTextNull()
  390. {
  391. $queue = QueueServiceFunctionalTestData::$testQueueNames[0];
  392. $messageId = 'abc';
  393. $popReceipt = 'abc';
  394. $messageText = null;
  395. $options = new QueueServiceOptions();
  396. $visibilityTimeoutInSeconds = 1;
  397. try {
  398. $this->restProxy->updateMessage($queue, $messageId, $popReceipt, $messageText, $visibilityTimeoutInSeconds, $options);
  399. $this->fail('Expect bogus message id to throw');
  400. } catch (ServiceException $e) {
  401. $this->assertEquals(TestResources::STATUS_BAD_REQUEST, $e->getCode(), 'getCode');
  402. }
  403. }
  404. /**
  405. * @covers WindowsAzure\Queue\QueueRestProxy::updateMessage
  406. */
  407. public function testUpdateMessageMessageTextEmpty()
  408. {
  409. $queue = QueueServiceFunctionalTestData::$testQueueNames[0];
  410. $messageId = 'abc';
  411. $popReceipt = 'abc';
  412. $messageText = '';
  413. $options = new QueueServiceOptions();
  414. $visibilityTimeoutInSeconds = 1;
  415. try {
  416. $this->restProxy->updateMessage($queue, $messageId, $popReceipt, $messageText, $visibilityTimeoutInSeconds, $options);
  417. $this->fail('Expect bogus message id to throw');
  418. } catch (ServiceException $e) {
  419. $this->assertEquals(TestResources::STATUS_BAD_REQUEST, $e->getCode(), 'getCode');
  420. }
  421. }
  422. /**
  423. * @covers WindowsAzure\Queue\QueueRestProxy::updateMessage
  424. */
  425. public function testUpdateMessageOptionsNull()
  426. {
  427. $queue = QueueServiceFunctionalTestData::$testQueueNames[0];
  428. $messageId = 'abc';
  429. $popReceipt = 'abc';
  430. $messageText = 'abc';
  431. $options = null;
  432. $visibilityTimeoutInSeconds = 1;
  433. try {
  434. $this->restProxy->updateMessage($queue, $messageId, $popReceipt, $messageText, $visibilityTimeoutInSeconds, $options);
  435. $this->fail('Expect bogus message id to throw');
  436. } catch (ServiceException $e) {
  437. $this->assertEquals(TestResources::STATUS_BAD_REQUEST, $e->getCode(), 'getCode');
  438. }
  439. }
  440. /**
  441. * @covers WindowsAzure\Queue\QueueRestProxy::updateMessage
  442. */
  443. public function testUpdateMessageVisibilityTimeout0()
  444. {
  445. $queue = QueueServiceFunctionalTestData::$testQueueNames[0];
  446. $messageId = 'abc';
  447. $popReceipt = 'abc';
  448. $messageText = 'abc';
  449. $options = new QueueServiceOptions();
  450. $visibilityTimeoutInSeconds = 0;
  451. try {
  452. $this->restProxy->updateMessage($queue, $messageId, $popReceipt, $messageText, $visibilityTimeoutInSeconds, $options);
  453. $this->fail('Expect bogus message id to throw');
  454. } catch (\InvalidArgumentException $e) {
  455. $this->fail('Should not get an InvalidArgumentException exception');
  456. } catch (ServiceException $e) {
  457. $this->assertEquals(TestResources::STATUS_BAD_REQUEST, $e->getCode(), 'getCode');
  458. }
  459. }
  460. /**
  461. * @covers WindowsAzure\Queue\QueueRestProxy::updateMessage
  462. */
  463. public function testUpdateMessageVisibilityTimeoutNull()
  464. {
  465. $queue = QueueServiceFunctionalTestData::$testQueueNames[0];
  466. $messageId = 'abc';
  467. $popReceipt = 'abc';
  468. $messageText = 'abc';
  469. $options = new QueueServiceOptions();
  470. $visibilityTimeoutInSeconds = null;
  471. try {
  472. $this->restProxy->updateMessage($queue, $messageId, $popReceipt, $messageText, $visibilityTimeoutInSeconds, $options);
  473. $this->fail('Expect null visibilityTimeoutInSeconds to throw');
  474. } catch (\InvalidArgumentException $e) {
  475. $this->assertEquals(sprintf(Resources::NULL_MSG, 'visibilityTimeoutInSeconds'), $e->getMessage(), 'Expect error message');
  476. }
  477. }
  478. /**
  479. * @covers WindowsAzure\Queue\QueueRestProxy::deleteMessage
  480. */
  481. public function testDeleteMessageQueueNullNoOptions()
  482. {
  483. $queue = null;
  484. $messageId = 'abc';
  485. $popReceipt = 'abc';
  486. try {
  487. $this->restProxy->deleteMessage($queue, $messageId, $popReceipt);
  488. $this->fail('Expect null queue to throw');
  489. } catch (\InvalidArgumentException $e) {
  490. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'queueName'), $e->getMessage(), 'Expect error message');
  491. }
  492. }
  493. /**
  494. * @covers WindowsAzure\Queue\QueueRestProxy::deleteMessage
  495. */
  496. public function testDeleteMessageQueueEmptyNoOptions()
  497. {
  498. $queue = '';
  499. $messageId = 'abc';
  500. $popReceipt = 'abc';
  501. try {
  502. $this->restProxy->deleteMessage($queue, $messageId, $popReceipt);
  503. $this->fail('Expect empty queue to throw');
  504. } catch (\InvalidArgumentException $e) {
  505. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'queueName'), $e->getMessage(), 'Expect error message');
  506. }
  507. }
  508. /**
  509. * @covers WindowsAzure\Queue\QueueRestProxy::deleteMessage
  510. */
  511. public function testDeleteMessageQueueNullWithOptions()
  512. {
  513. $queue = null;
  514. $messageId = 'abc';
  515. $popReceipt = 'abc';
  516. $options = new QueueServiceOptions();
  517. try {
  518. $this->restProxy->deleteMessage($queue, $messageId, $popReceipt, $options);
  519. $this->fail('Expect null queue to throw');
  520. } catch (\InvalidArgumentException $e) {
  521. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'queueName'), $e->getMessage(), 'Expect error message');
  522. }
  523. }
  524. /**
  525. * @covers WindowsAzure\Queue\QueueRestProxy::deleteMessage
  526. */
  527. public function testDeleteMessageMessageIdNull()
  528. {
  529. $queue = 'abc';
  530. $messageId = null;
  531. $popReceipt = 'abc';
  532. $options = new QueueServiceOptions();
  533. try {
  534. $this->restProxy->deleteMessage($queue, $messageId, $popReceipt, $options);
  535. $this->fail('Expect null messageId to throw');
  536. } catch (\InvalidArgumentException $e) {
  537. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'messageId'), $e->getMessage(), 'Expect error message');
  538. }
  539. }
  540. /**
  541. * @covers WindowsAzure\Queue\QueueRestProxy::deleteMessage
  542. */
  543. public function testDeleteMessageMessageIdEmpty()
  544. {
  545. $queue = 'abc';
  546. $messageId = '';
  547. $popReceipt = 'abc';
  548. $options = new QueueServiceOptions();
  549. try {
  550. $this->restProxy->deleteMessage($queue, $messageId, $popReceipt, $options);
  551. $this->fail('Expect empty messageId to throw');
  552. } catch (\InvalidArgumentException $e) {
  553. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'messageId'), $e->getMessage(), 'Expect error message');
  554. }
  555. }
  556. /**
  557. * @covers WindowsAzure\Queue\QueueRestProxy::deleteMessage
  558. */
  559. public function testDeleteMessagePopReceiptNull()
  560. {
  561. $queue = 'abc';
  562. $messageId = 'abc';
  563. $popReceipt = null;
  564. $options = new QueueServiceOptions();
  565. try {
  566. $this->restProxy->deleteMessage($queue, $messageId, $popReceipt, $options);
  567. $this->fail('Expect null popReceipt to throw');
  568. } catch (\InvalidArgumentException $e) {
  569. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'popReceipt'), $e->getMessage(), 'Expect error message');
  570. }
  571. }
  572. /**
  573. * @covers WindowsAzure\Queue\QueueRestProxy::deleteMessage
  574. */
  575. public function testDeleteMessagePopReceiptEmpty()
  576. {
  577. $queue = 'abc';
  578. $messageId = 'abc';
  579. $popReceipt = '';
  580. $options = new QueueServiceOptions();
  581. try {
  582. $this->restProxy->deleteMessage($queue, $messageId, $popReceipt, $options);
  583. $this->fail('Expect empty popReceipt to throw');
  584. } catch (\InvalidArgumentException $e) {
  585. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'popReceipt'), $e->getMessage(), 'Expect error message');
  586. }
  587. }
  588. /**
  589. * @covers WindowsAzure\Queue\QueueRestProxy::deleteMessage
  590. */
  591. public function testDeleteMessageOptionsNull()
  592. {
  593. $queue = 'abc';
  594. $messageId = 'abc';
  595. $popReceipt = 'abc';
  596. $options = null;
  597. try {
  598. $this->restProxy->deleteMessage($queue, $messageId, $popReceipt, $options);
  599. $this->fail('Expect bogus message id to throw');
  600. } catch (ServiceException $e) {
  601. $this->assertEquals(TestResources::STATUS_BAD_REQUEST, $e->getCode(), 'getCode');
  602. }
  603. }
  604. /**
  605. * @covers WindowsAzure\Queue\QueueRestProxy::listMessages
  606. */
  607. public function testListMessagesQueueNullNoOptions()
  608. {
  609. try {
  610. $this->restProxy->listMessages(null);
  611. $this->fail('Expect null name to throw');
  612. } catch (ServiceException $e) {
  613. $this->fail('Should not get a service exception');
  614. } catch (\InvalidArgumentException $e) {
  615. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'queueName'), $e->getMessage(), 'Expect error message');
  616. }
  617. }
  618. /**
  619. * @covers WindowsAzure\Queue\QueueRestProxy::listMessages
  620. */
  621. public function testListMessagesQueueNullWithOptions()
  622. {
  623. try {
  624. $this->restProxy->listMessages(null, new ListMessagesOptions());
  625. $this->fail('Expect null name to throw');
  626. } catch (ServiceException $e) {
  627. $this->fail('Should not get a service exception');
  628. } catch (\InvalidArgumentException $e) {
  629. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'queueName'), $e->getMessage(), 'Expect error message');
  630. }
  631. }
  632. /**
  633. * @covers WindowsAzure\Queue\QueueRestProxy::listMessages
  634. */
  635. public function testListMessagesOptionsNull()
  636. {
  637. try {
  638. $this->restProxy->listMessages('abc', null);
  639. $this->fail('Expect bogus queue name to throw');
  640. } catch (ServiceException $e) {
  641. $this->assertEquals(TestResources::STATUS_NOT_FOUND, $e->getCode(), 'getCode');
  642. }
  643. }
  644. /**
  645. * @covers WindowsAzure\Queue\QueueRestProxy::listMessages
  646. */
  647. public function testListMessagesAllNull()
  648. {
  649. try {
  650. $this->restProxy->listMessages(null, null);
  651. $this->fail('Expect null name to throw');
  652. } catch (ServiceException $e) {
  653. $this->fail('Should not get a service exception');
  654. } catch (\InvalidArgumentException $e) {
  655. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'queueName'), $e->getMessage(), 'Expect error message');
  656. }
  657. }
  658. /**
  659. * @covers WindowsAzure\Queue\QueueRestProxy::peekMessages
  660. */
  661. public function testPeekMessagesQueueNullNoOptions()
  662. {
  663. try {
  664. $this->restProxy->peekMessages(null);
  665. $this->fail('Expect null name to throw');
  666. } catch (ServiceException $e) {
  667. $this->fail('Should not get a service exception');
  668. } catch (\InvalidArgumentException $e) {
  669. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'queueName'), $e->getMessage(), 'Expect error message');
  670. }
  671. }
  672. /**
  673. * @covers WindowsAzure\Queue\QueueRestProxy::peekMessages
  674. */
  675. public function testPeekMessagesQueueEmptyNoOptions()
  676. {
  677. try {
  678. $this->restProxy->peekMessages('');
  679. $this->fail('Expect empty name to throw');
  680. } catch (ServiceException $e) {
  681. $this->fail('Should not get a service exception');
  682. } catch (\InvalidArgumentException $e) {
  683. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'queueName'), $e->getMessage(), 'Expect error message');
  684. }
  685. }
  686. /**
  687. * @covers WindowsAzure\Queue\QueueRestProxy::peekMessages
  688. */
  689. public function testPeekMessagesQueueNullWithOptions()
  690. {
  691. try {
  692. $this->restProxy->peekMessages(null, new PeekMessagesOptions());
  693. $this->fail('Expect null name to throw');
  694. } catch (ServiceException $e) {
  695. $this->fail('Should not get a service exception');
  696. } catch (\InvalidArgumentException $e) {
  697. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'queueName'), $e->getMessage(), 'Expect error message');
  698. }
  699. }
  700. /**
  701. * @covers WindowsAzure\Queue\QueueRestProxy::peekMessages
  702. */
  703. public function testPeekMessagesOptionsNull()
  704. {
  705. try {
  706. $this->restProxy->peekMessages('abc', null);
  707. $this->fail('Expect bogus queue name to throw');
  708. } catch (ServiceException $e) {
  709. $this->assertEquals(TestResources::STATUS_NOT_FOUND, $e->getCode(), 'getCode');
  710. }
  711. }
  712. /**
  713. * @covers WindowsAzure\Queue\QueueRestProxy::peekMessages
  714. */
  715. public function testPeekMessagesAllNull()
  716. {
  717. try {
  718. $this->restProxy->peekMessages(null, null);
  719. $this->fail('Expect null name to throw');
  720. } catch (ServiceException $e) {
  721. $this->fail('Should not get a service exception');
  722. } catch (\InvalidArgumentException $e) {
  723. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'queueName'), $e->getMessage(), 'Expect error message');
  724. }
  725. }
  726. /**
  727. * @covers WindowsAzure\Queue\QueueRestProxy::clearMessages
  728. */
  729. public function testClearMessagesQueueNullNoOptions()
  730. {
  731. try {
  732. $this->restProxy->clearMessages(null);
  733. $this->fail('Expect null name to throw');
  734. } catch (ServiceException $e) {
  735. $this->fail('Should not get a service exception');
  736. } catch (\InvalidArgumentException $e) {
  737. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'queueName'), $e->getMessage(), 'Expect error message');
  738. }
  739. }
  740. /**
  741. * @covers WindowsAzure\Queue\QueueRestProxy::clearMessages
  742. */
  743. public function testClearMessagesQueueNullWithOptions()
  744. {
  745. try {
  746. $this->restProxy->clearMessages(null, new QueueServiceOptions());
  747. $this->fail('Expect null name to throw');
  748. } catch (ServiceException $e) {
  749. $this->fail('Should not get a service exception');
  750. } catch (\InvalidArgumentException $e) {
  751. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'queueName'), $e->getMessage(), 'Expect error message');
  752. }
  753. }
  754. /**
  755. * @covers WindowsAzure\Queue\QueueRestProxy::clearMessages
  756. */
  757. public function testClearMessagesOptionsNull()
  758. {
  759. try {
  760. $this->restProxy->clearMessages('abc', null);
  761. $this->fail('Expect bogus queue name to throw');
  762. } catch (ServiceException $e) {
  763. $this->assertEquals(TestResources::STATUS_NOT_FOUND, $e->getCode(), 'getCode');
  764. }
  765. }
  766. /**
  767. * @covers WindowsAzure\Queue\QueueRestProxy::clearMessages
  768. */
  769. public function testClearMessagesAllNull()
  770. {
  771. try {
  772. $this->restProxy->clearMessages(null, null);
  773. $this->fail('Expect null name to throw');
  774. } catch (ServiceException $e) {
  775. $this->fail('Should not get a service exception');
  776. } catch (\InvalidArgumentException $e) {
  777. $this->assertEquals(sprintf(Resources::NULL_OR_EMPTY_MSG, 'queueName'), $e->getMessage(), 'Expect error message');
  778. }
  779. }
  780. }