JedisFactoryTest.java 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package com.ruoyi.system.utils;
  2. import org.junit.jupiter.api.Test;
  3. import org.mockito.MockedConstruction;
  4. import redis.clients.jedis.Jedis;
  5. import static org.junit.jupiter.api.Assertions.assertSame;
  6. import static org.junit.jupiter.api.Assertions.assertEquals;
  7. import static org.mockito.Mockito.mockConstruction;
  8. import static org.mockito.Mockito.never;
  9. import static org.mockito.Mockito.verify;
  10. class JedisFactoryTest {
  11. @Test
  12. void configuredPasswordAuthenticatesBeforeReturningConnection() {
  13. try (MockedConstruction<Jedis> construction = mockConstruction(Jedis.class)) {
  14. Jedis jedis = new JedisFactory("localhost", 6379, "secret").create();
  15. assertSame(construction.constructed().get(0), jedis);
  16. assertEquals(1, construction.constructed().size());
  17. verify(jedis).auth("secret");
  18. }
  19. }
  20. @Test
  21. void missingOrBlankPasswordDoesNotAuthenticate() {
  22. try (MockedConstruction<Jedis> construction = mockConstruction(Jedis.class)) {
  23. new JedisFactory("localhost", 6379, null).create();
  24. new JedisFactory("localhost", 6379, " ").create();
  25. assertEquals(2, construction.constructed().size());
  26. for (Jedis jedis : construction.constructed()) {
  27. verify(jedis, never()).auth(org.mockito.ArgumentMatchers.anyString());
  28. }
  29. }
  30. }
  31. }