UniqueJobIdentifierGeneratorTest.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. /**
  3. * Gearman Bundle for Symfony2
  4. *
  5. * For the full copyright and license information, please view the LICENSE
  6. * file that was distributed with this source code.
  7. *
  8. * Feel free to edit as you please, and have fun.
  9. *
  10. * @author Marc Morera <yuhu@mmoreram.com>
  11. */
  12. namespace Mmoreram\GearmanBundle\Tests\Generator;
  13. use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
  14. use Mmoreram\GearmanBundle\Generator\UniqueJobIdentifierGenerator;
  15. /**
  16. * Gearman execute methods. All Worker methods
  17. */
  18. class UniqueJobIdentifierGeneratorTest extends WebTestCase
  19. {
  20. /**
  21. * Test service can be instanced through container
  22. */
  23. public function testGearmanClientLoadFromContainer()
  24. {
  25. static::$kernel = static::createKernel();
  26. static::$kernel->boot();
  27. $this->assertInstanceOf(
  28. '\Mmoreram\GearmanBundle\Generator\UniqueJobIdentifierGenerator',
  29. static::$kernel
  30. ->getContainer()
  31. ->get('gearman.unique_job_identifier')
  32. );
  33. }
  34. /**
  35. * Tests all cases when GenerateUniqueKey is false
  36. */
  37. public function testGenerateUniqueKeyFalse()
  38. {
  39. $generator = new UniqueJobIdentifierGenerator(false);
  40. $this->assertEquals('uniqueValue', $generator->generateUniqueKey(
  41. 'name', 'params', 'uniqueValue', 'method'
  42. ));
  43. $this->assertFalse($generator->generateUniqueKey(
  44. 'name', 'params', false, 'method'
  45. ));
  46. $this->assertNull($generator->generateUniqueKey(
  47. 'name', 'params', null, 'method'
  48. ));
  49. $this->assertEquals('', $generator->generateUniqueKey(
  50. 'name', 'params', '', 'method'
  51. ));
  52. }
  53. /**
  54. * Tests all cases when GenerateUniqueKey is true
  55. */
  56. public function testGenerateUniqueKeyTrue()
  57. {
  58. $generator = new UniqueJobIdentifierGenerator(true);
  59. $unique = 'c1af4ce5c9773ce30d8cc6d1e0e7d699';
  60. $this->assertEquals('uniqueValue', $generator->generateUniqueKey(
  61. 'name', 'params', 'uniqueValue', 'method'
  62. ));
  63. $this->assertEquals($unique, $generator->generateUniqueKey(
  64. 'name', 'params', false, 'method'
  65. ));
  66. $this->assertEquals($unique, $generator->generateUniqueKey(
  67. 'name', 'params', null, 'method'
  68. ));
  69. $this->assertEquals($unique, $generator->generateUniqueKey(
  70. 'name', 'params', '', 'method'
  71. ));
  72. }
  73. }