@Test(expected = AuthorizationException.class) public void setNoPermissions() { // given when(subject.isPermitted(any(OptionPermission.class))).thenReturn(false); when(defaultHierarchy.rankName(0)).thenReturn("specific"); OptionCacheKey cacheKey = new OptionCacheKey(defaultHierarchy, SPECIFIC_RANK, 0, optionKey1); // when option.set(5, optionKey1); // then }
@Test public void set_simplest() { // given when(subject.isPermitted(any(OptionPermission.class))).thenReturn(true); when(defaultHierarchy.rankName(0)).thenReturn("specific"); OptionCacheKey cacheKey = new OptionCacheKey(defaultHierarchy, SPECIFIC_RANK, 0, optionKey1); // when option.set(5, optionKey1); // then verify(optionCache).write(cacheKey, Optional.of(5)); }
@Test(expected = AuthorizationException.class) public void delete_no_permissions() { // given when(subject.isPermitted(any(OptionPermission.class))).thenReturn(false); when(defaultHierarchy.rankName(1)).thenReturn("specific"); OptionCacheKey cacheKey = new OptionCacheKey(defaultHierarchy, SPECIFIC_RANK, 1, optionKey2); when(optionCache.delete(cacheKey)).thenAnswer(answerOf(3)); // when Object actual = option.delete(1, optionKey2); // then }
@Test(expected = IllegalArgumentException.class) public void set_with_all_args_rank_too_low() { // given when(subject.isPermitted(any(OptionPermission.class))).thenReturn(true); when(defaultHierarchy.rankName(2)).thenReturn("specific"); OptionKey<Integer> optionKey2 = new OptionKey<>(999, context, TestLabelKey.key1, TestLabelKey.key1, "q"); OptionCacheKey cacheKey = new OptionCacheKey(defaultHierarchy, SPECIFIC_RANK, 2, optionKey2); // when option.set(5, -1, optionKey2); // then }
@Test public void delete() { // given when(subject.isPermitted(any(OptionPermission.class))).thenReturn(true); when(defaultHierarchy.rankName(1)).thenReturn("specific"); OptionCacheKey cacheKey = new OptionCacheKey(defaultHierarchy, SPECIFIC_RANK, 1, optionKey2); when(optionCache.delete(cacheKey)).thenAnswer(answerOf(3)); // when Object actual = option.delete(1, optionKey2); // then assertThat(actual).isEqualTo(Optional.of(3)); verify(optionCache).delete(cacheKey); }