示例#1
0
  @Test
  public void deleteById() throws NotFoundException {
    when(redisTemplateMock.boundHashOps(CONTACT_KEY)).thenReturn(boundHashOperationsMock);
    when(redisTemplateMock.opsForSet()).thenReturn(setOperationsMock);
    when(setOperationsMock.isMember(RedisContactService.KEY_CONTACT_SET, CONTACT_KEY))
        .thenReturn(true);
    initGetHashOperationsForContact(CONTACT_ID);

    Contact deleted = service.deleteById(CONTACT_ID);

    verify(redisTemplateMock, times(2)).boundHashOps(CONTACT_KEY);

    verifyThatContactWasGet();
    verifyThatContactWasDeleted();

    verify(redisTemplateMock, times(2)).opsForSet();
    verify(setOperationsMock, times(1)).isMember(RedisContactService.KEY_CONTACT_SET, CONTACT_KEY);
    verify(setOperationsMock, times(1)).remove(RedisContactService.KEY_CONTACT_SET, CONTACT_KEY);
    verifyNoMoreInteractions(setOperationsMock);

    verifyNoMoreInteractions(boundHashOperationsMock, redisTemplateMock);
    verifyZeroInteractions(contactIdCounterMock);

    assertContact(CONTACT_ID, deleted);
  }
 /** @param redisConnectionFactory */
 public RedisAggregateCounterRepository(RedisConnectionFactory redisConnectionFactory) {
   super("aggregatecounters", redisConnectionFactory);
   RedisTemplate<String, String> redisTemplate = new RedisTemplate<String, String>();
   redisTemplate.setConnectionFactory(redisConnectionFactory);
   redisTemplate.setKeySerializer(new StringRedisSerializer());
   redisTemplate.setValueSerializer(new StringRedisSerializer());
   redisTemplate.setHashKeySerializer(new StringRedisSerializer());
   redisTemplate.setHashValueSerializer(new GenericToStringSerializer<Long>(Long.class));
   redisTemplate.afterPropertiesSet();
   hashOperations = redisTemplate.opsForHash();
   setOperations = redisTemplate.opsForSet();
 }
示例#3
0
  @Test(expected = NotFoundException.class)
  public void deleteByIdWhenContactIsNotFound() throws NotFoundException {
    when(redisTemplateMock.opsForSet()).thenReturn(setOperationsMock);
    when(setOperationsMock.isMember(RedisContactService.KEY_CONTACT_SET, CONTACT_KEY))
        .thenReturn(false);

    service.deleteById(CONTACT_ID);

    verifyThatExistCheckForContactIsDone(CONTACT_KEY);
    verifyNoMoreInteractions(redisTemplateMock, setOperationsMock);

    verifyZeroInteractions(boundHashOperationsMock, contactIdCounterMock);
  }
示例#4
0
  @Test
  public void update() throws NotFoundException {
    when(redisTemplateMock.boundHashOps(CONTACT_KEY)).thenReturn(boundHashOperationsMock);
    when(redisTemplateMock.opsForSet()).thenReturn(setOperationsMock);
    when(setOperationsMock.isMember(RedisContactService.KEY_CONTACT_SET, CONTACT_KEY))
        .thenReturn(true);

    Contact updated = ContactTestUtil.createModel(CONTACT_ID);
    service.update(updated);

    verify(redisTemplateMock, times(1)).boundHashOps(CONTACT_KEY);
    verifyThatContactWasPersisted(CONTACT_ID, updated);

    verifyThatExistCheckForContactIsDone(CONTACT_KEY);

    verifyNoMoreInteractions(boundHashOperationsMock, redisTemplateMock);
    verifyZeroInteractions(contactIdCounterMock, setOperationsMock);
  }
示例#5
0
  @Test
  public void findById() throws NotFoundException {
    when(redisTemplateMock.boundHashOps(CONTACT_KEY)).thenReturn(boundHashOperationsMock);
    when(redisTemplateMock.opsForSet()).thenReturn(setOperationsMock);
    when(setOperationsMock.isMember(RedisContactService.KEY_CONTACT_SET, CONTACT_KEY))
        .thenReturn(true);
    initGetHashOperationsForContact(CONTACT_ID);

    Contact found = service.findById(CONTACT_ID);

    verify(redisTemplateMock, times(1)).boundHashOps(CONTACT_KEY);

    verifyThatExistCheckForContactIsDone(CONTACT_KEY);
    verifyThatContactWasGet();

    verifyNoMoreInteractions(boundHashOperationsMock, redisTemplateMock, setOperationsMock);
    verifyZeroInteractions(contactIdCounterMock);

    assertContact(CONTACT_ID, found);
  }
示例#6
0
  @Test
  public void add() {
    when(contactIdCounterMock.incrementAndGet()).thenReturn(CONTACT_ID);
    when(redisTemplateMock.boundHashOps(CONTACT_KEY)).thenReturn(boundHashOperationsMock);
    when(redisTemplateMock.opsForSet()).thenReturn(setOperationsMock);

    Contact added = ContactTestUtil.createModel();
    Contact actual = service.add(added);

    verify(contactIdCounterMock, times(1)).incrementAndGet();
    verifyNoMoreInteractions(contactIdCounterMock);

    verify(redisTemplateMock, times(1)).boundHashOps(CONTACT_KEY);
    verifyThatContactWasPersisted(CONTACT_ID, added);

    verify(redisTemplateMock, times(1)).opsForSet();
    verify(setOperationsMock, times(1)).add(RedisContactService.KEY_CONTACT_SET, CONTACT_KEY);
    verifyNoMoreInteractions(boundHashOperationsMock, setOperationsMock, redisTemplateMock);

    assertEquals(added, actual);
  }
示例#7
0
  @Test
  public void findAll() {
    when(redisTemplateMock.opsForSet()).thenReturn(setOperationsMock);
    when(setOperationsMock.members(RedisContactService.KEY_CONTACT_SET))
        .thenReturn(createKeySet(CONTACT_KEY));
    when(redisTemplateMock.boundHashOps(CONTACT_KEY)).thenReturn(boundHashOperationsMock);
    initGetHashOperationsForContact(CONTACT_ID);

    List<Contact> contacts = service.findAll();

    verify(redisTemplateMock, times(1)).opsForSet();
    verify(redisTemplateMock, times(1)).boundHashOps(CONTACT_KEY);
    verify(setOperationsMock, times(1)).members(RedisContactService.KEY_CONTACT_SET);
    verifyNoMoreInteractions(setOperationsMock);

    verifyThatContactWasGet();
    verifyNoMoreInteractions(boundHashOperationsMock, redisTemplateMock);

    verifyZeroInteractions(contactIdCounterMock);

    assertEquals(1, contacts.size());
    Contact actual = contacts.get(0);
    assertContact(CONTACT_ID, actual);
  }
示例#8
0
 /**
  * Set数据类型 读取key与otherKey集合的交集元素
  *
  * @param key
  * @param otherKey
  * @return set集合
  */
 public Set getInterSet(String key, String otherKey) {
   setOps = redisTemplate.opsForSet();
   return (Set) setOps.intersect(key, otherKey);
 }
示例#9
0
 /**
  * Set数据类型 读取key与otherKey集合的并集元素
  *
  * @param key
  * @param otherKey
  * @return set集合
  */
 public Set getUnionSet(String key, String otherKey) {
   setOps = redisTemplate.opsForSet();
   return (Set) setOps.union(key, otherKey);
 }
示例#10
0
 /**
  * Set数据类型 读取key不同于otherKey集合的元素
  *
  * @param key
  * @param otherKey
  * @return set集合
  */
 public Set getDiffSet(String key, String otherKey) {
   setOps = redisTemplate.opsForSet();
   return (Set) setOps.difference(key, otherKey);
 }
示例#11
0
 /**
  * Set数据类型 读取key绑定集合的所有元素
  *
  * @param key
  * @return set集合
  */
 public Set getAllSet(String key) {
   setOps = redisTemplate.opsForSet();
   return (Set) setOps.members(key);
 }
示例#12
0
 /**
  * Set数据类型 key绑定的set集合是否有元素value
  *
  * @param key
  * @param value
  * @return true成功 false失败
  */
 public boolean existMemberSet(String key, Serializable value) {
   setOps = redisTemplate.opsForSet();
   return setOps.isMember(key, value);
 }
示例#13
0
 /**
  * Set数据类型 key绑定的set集合增加元素value
  *
  * @param key
  * @param value
  * @return true成功 false失败
  */
 public boolean addSet(String key, Serializable value) {
   setOps = redisTemplate.opsForSet();
   return setOps.add(key, value) > 0;
 }
 @Override
 public SetOperations getSetOper() {
   return template.opsForSet();
 }