Search in sources :

Example 56 with ContextualPreference

use of com.epam.pipeline.entity.contextual.ContextualPreference in project cloud-pipeline by epam.

the class ContextualPreferenceManagerTest method deleteShouldReturnDeletedPreference.

@Test
public void deleteShouldReturnDeletedPreference() {
    final ContextualPreference preference = new ContextualPreference(NAME, VALUE, toolResource);
    when(contextualPreferenceDao.load(eq(NAME), eq(toolResource))).thenReturn(Optional.of(preference));
    final ContextualPreference deletedPreference = manager.delete(NAME, toolResource);
    assertThat(deletedPreference, is(preference));
}
Also used : ContextualPreference(com.epam.pipeline.entity.contextual.ContextualPreference) Test(org.junit.Test)

Example 57 with ContextualPreference

use of com.epam.pipeline.entity.contextual.ContextualPreference in project cloud-pipeline by epam.

the class ContextualPreferenceManagerTest method upsertShouldFailIfPreferenceTypeDiffersWithExistingPreferencesWithTheSameName.

@Test
public void upsertShouldFailIfPreferenceTypeDiffersWithExistingPreferencesWithTheSameName() {
    final ContextualPreferenceExternalResource anotherResource = new ContextualPreferenceExternalResource(LEVEL, ANOTHER_TOOL_ID);
    final ContextualPreferenceVO preferenceVO = new ContextualPreferenceVO(NAME, VALUE, TYPE, toolResource);
    final ContextualPreference preference = new ContextualPreference(NAME, VALUE, TYPE, toolResource);
    when(contextualPreferenceHandler.isValid(eq(preference))).thenReturn(true);
    when(contextualPreferenceDao.load(eq(preference.getName()))).thenReturn(Collections.singletonList(new ContextualPreference(NAME, VALUE, ANOTHER_TYPE, anotherResource)));
    assertThrows(IllegalArgumentException.class, () -> manager.upsert(preferenceVO));
}
Also used : ContextualPreferenceExternalResource(com.epam.pipeline.entity.contextual.ContextualPreferenceExternalResource) ContextualPreference(com.epam.pipeline.entity.contextual.ContextualPreference) ContextualPreferenceVO(com.epam.pipeline.controller.vo.ContextualPreferenceVO) Test(org.junit.Test)

Example 58 with ContextualPreference

use of com.epam.pipeline.entity.contextual.ContextualPreference in project cloud-pipeline by epam.

the class ContextualPreferenceManagerTest method upsertShouldSavePreference.

@Test
public void upsertShouldSavePreference() {
    final ContextualPreferenceVO preferenceVO = new ContextualPreferenceVO(NAME, VALUE, TYPE, toolResource);
    final ContextualPreference preference = new ContextualPreference(NAME, VALUE, TYPE, toolResource);
    when(contextualPreferenceHandler.isValid(eq(preference))).thenReturn(true);
    manager.upsert(preferenceVO);
    verify(contextualPreferenceDao).upsert(eq(preference));
}
Also used : ContextualPreference(com.epam.pipeline.entity.contextual.ContextualPreference) ContextualPreferenceVO(com.epam.pipeline.controller.vo.ContextualPreferenceVO) Test(org.junit.Test)

Example 59 with ContextualPreference

use of com.epam.pipeline.entity.contextual.ContextualPreference in project cloud-pipeline by epam.

the class ContextualPreferenceManagerTest method searchShouldSearchPreferenceWithResourceConstructedFromCurrentUserByAuthorizedUserId.

@Test
public void searchShouldSearchPreferenceWithResourceConstructedFromCurrentUserByAuthorizedUserId() {
    final ContextualPreferenceExternalResource userResource = new ContextualPreferenceExternalResource(ContextualPreferenceLevel.USER, USER.getId().toString());
    final ContextualPreference preference = new ContextualPreference(NAME, VALUE, toolResource);
    when(contextualPreferenceHandler.search(eq(NAMES), any())).thenReturn(Optional.of(preference));
    when(authManager.getCurrentUser()).thenReturn(USER_WITHOUT_ROLES);
    when(userManager.loadUserById(eq(USER_WITHOUT_ROLES.getId()))).thenReturn(USER);
    final ContextualPreference searchedPreference = manager.search(NAMES, toolResource);
    assertThat(searchedPreference, is(preference));
    verify(contextualPreferenceHandler).search(eq(NAMES), argThat(hasItem(userResource)));
}
Also used : ContextualPreferenceExternalResource(com.epam.pipeline.entity.contextual.ContextualPreferenceExternalResource) ContextualPreference(com.epam.pipeline.entity.contextual.ContextualPreference) Test(org.junit.Test)

Example 60 with ContextualPreference

use of com.epam.pipeline.entity.contextual.ContextualPreference in project cloud-pipeline by epam.

the class AbstractDaoContextualPreferenceHandlerTest method searchShouldDelegateExecutionToTheNextHandlerIfNoneOfThePreferencesExist.

@Test
public void searchShouldDelegateExecutionToTheNextHandlerIfNoneOfThePreferencesExist() {
    final List<ContextualPreferenceExternalResource> resources = Collections.singletonList(resource);
    final ContextualPreference preference = new ContextualPreference(NAME, VALUE, resource);
    when(contextualPreferenceDao.load(eq(NAME), eq(resource))).thenReturn(Optional.empty());
    when(contextualPreferenceDao.load(eq(ANOTHER_NAME), eq(resource))).thenReturn(Optional.empty());
    when(nextHandler.search(eq(SEVERAL_NAMES), eq(resources))).thenReturn(Optional.of(preference));
    final Optional<ContextualPreference> searchedPreference = handler().search(SEVERAL_NAMES, resources);
    assertTrue(searchedPreference.isPresent());
    assertThat(searchedPreference.get(), is(preference));
    verify(contextualPreferenceDao).load(eq(NAME), eq(resource));
    verify(contextualPreferenceDao).load(eq(ANOTHER_NAME), eq(resource));
    verify(nextHandler).search(eq(SEVERAL_NAMES), eq(resources));
}
Also used : ContextualPreferenceExternalResource(com.epam.pipeline.entity.contextual.ContextualPreferenceExternalResource) ContextualPreference(com.epam.pipeline.entity.contextual.ContextualPreference) Test(org.junit.Test)

Aggregations

ContextualPreference (com.epam.pipeline.entity.contextual.ContextualPreference)72 Test (org.junit.Test)67 ContextualPreferenceExternalResource (com.epam.pipeline.entity.contextual.ContextualPreferenceExternalResource)35 AbstractSpringTest (com.epam.pipeline.AbstractSpringTest)10 ContextualPreferenceVO (com.epam.pipeline.controller.vo.ContextualPreferenceVO)4 AllowedInstanceAndPriceTypes (com.epam.pipeline.entity.cluster.AllowedInstanceAndPriceTypes)2 InstanceType (com.epam.pipeline.entity.cluster.InstanceType)2 Transactional (org.springframework.transaction.annotation.Transactional)2 MessageConstants (com.epam.pipeline.common.MessageConstants)1 MessageHelper (com.epam.pipeline.common.MessageHelper)1 Tool (com.epam.pipeline.entity.pipeline.Tool)1 PipelineUser (com.epam.pipeline.entity.user.PipelineUser)1 Role (com.epam.pipeline.entity.user.Role)1 List (java.util.List)1 Map (java.util.Map)1 Optional (java.util.Optional)1 Collectors (java.util.stream.Collectors)1 RequiredArgsConstructor (lombok.RequiredArgsConstructor)1 Slf4j (lombok.extern.slf4j.Slf4j)1