ConnectionTest.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. namespace dcb9\redis\tests;
  3. class ConnectionTest extends TestCase
  4. {
  5. /**
  6. * test connection to redis and selection of db
  7. */
  8. public function testConnect()
  9. {
  10. $db = $this->getConnection(false);
  11. $database = $db->database;
  12. $db->open();
  13. $this->assertTrue($db->ping());
  14. $db->set('YIITESTKEY', 'YIITESTVALUE');
  15. $db->close();
  16. $db = $this->getConnection(false);
  17. $db->database = $database;
  18. $db->open();
  19. $this->assertEquals('YIITESTVALUE', $db->get('YIITESTKEY'));
  20. $db->close();
  21. $db = $this->getConnection(false);
  22. $db->database = 1;
  23. $db->open();
  24. $this->assertFalse($db->get('YIITESTKEY'));
  25. $db->close();
  26. }
  27. /**
  28. * tests whether close cleans up correctly so that a new connect works
  29. */
  30. public function testReConnect()
  31. {
  32. $db = $this->getConnection(false);
  33. $db->open();
  34. $this->assertTrue($db->ping());
  35. $db->close();
  36. $db->open();
  37. $this->assertTrue($db->ping());
  38. $db->close();
  39. }
  40. public function keyValueData()
  41. {
  42. return [
  43. [123],
  44. [-123],
  45. [0],
  46. ['test'],
  47. ["test\r\ntest"],
  48. [''],
  49. ];
  50. }
  51. /**
  52. * @dataProvider keyValueData
  53. */
  54. public function testStoreGet($data)
  55. {
  56. $db = $this->getConnection(true);
  57. $db->set('hi', $data);
  58. $this->assertEquals($data, $db->get('hi'));
  59. }
  60. }