UniqueJobIdentifierGeneratorTest.php 2.2 KB

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