Package com.sequenceiq.cloudbreak.service.stack.handler

Source Code of com.sequenceiq.cloudbreak.service.stack.handler.MetadataSetupCompleteHandlerTest

package com.sequenceiq.cloudbreak.service.stack.handler;

import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.anyLong;
import static org.mockito.Mockito.anySetOf;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;

import java.util.HashSet;

import org.junit.Before;
import org.junit.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;

import com.sequenceiq.cloudbreak.domain.CloudPlatform;
import com.sequenceiq.cloudbreak.repository.StackRepository;
import com.sequenceiq.cloudbreak.service.ServiceTestUtils;
import com.sequenceiq.cloudbreak.service.stack.event.MetadataSetupComplete;
import com.sequenceiq.cloudbreak.service.stack.flow.AmbariRoleAllocator;
import com.sequenceiq.cloudbreak.service.stack.flow.CoreInstanceMetaData;

import reactor.event.Event;

public class MetadataSetupCompleteHandlerTest {
    @InjectMocks
    private MetadataSetupCompleteHandler underTest;

    @Mock
    private AmbariRoleAllocator ambariRoleAllocator;

    @Mock
    private StackRepository stackRepository;

    private Event<MetadataSetupComplete> event;

    @Before
    public void setUp() {
        underTest = new MetadataSetupCompleteHandler();
        MockitoAnnotations.initMocks(this);
        event = createEvent();
    }

    @Test
    public void testAcceptMetadataSetupCompleteEvent() {
        // GIVEN
        given(stackRepository.findById(anyLong())).willReturn(ServiceTestUtils.createStack());
        doNothing().when(ambariRoleAllocator).allocateRoles(anyLong(), anySetOf(CoreInstanceMetaData.class));
        // WHEN
        underTest.accept(event);
        // THEN
        verify(ambariRoleAllocator, times(1)).allocateRoles(anyLong(), anySetOf(CoreInstanceMetaData.class));
    }

    private Event<MetadataSetupComplete> createEvent() {
        return new Event<MetadataSetupComplete>(
                new MetadataSetupComplete(CloudPlatform.AZURE, 1L, new HashSet<CoreInstanceMetaData>()));
    }
}
TOP

Related Classes of com.sequenceiq.cloudbreak.service.stack.handler.MetadataSetupCompleteHandlerTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.