package com.sequenceiq.cloudbreak.orchestrator.salt.poller; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import static org.mockito.Mockito.when; import java.util.HashSet; import java.util.Set; import org.junit.Test; import org.mockito.Mockito; import com.sequenceiq.cloudbreak.orchestrator.exception.CloudbreakOrchestratorFailedException; import com.sequenceiq.cloudbreak.orchestrator.salt.client.SaltConnector; public class SaltCommandTrackerTest { @Test public void callHasTargetNodesTest() throws Exception { SaltConnector saltConnector = Mockito.mock(SaltConnector.class); SaltJobRunner saltJobRunner = Mockito.mock(SaltJobRunner.class); Set<String> targets = new HashSet<>(); targets.add("10.0.0.1"); targets.add("10.0.0.2"); targets.add("10.0.0.3"); when(saltJobRunner.getTarget()).thenReturn(targets); SaltCommandTracker saltCommandTracker = new SaltCommandTracker(saltConnector, saltJobRunner); try { saltCommandTracker.call(); fail("shoud throw exception"); } catch (CloudbreakOrchestratorFailedException e) { for (String target : targets) { assertTrue(e.getMessage().contains(target)); } } } @Test public void callTest() throws Exception { SaltConnector saltConnector = Mockito.mock(SaltConnector.class); SaltJobRunner saltJobRunner = Mockito.mock(SaltJobRunner.class); Set<String> targets = new HashSet<>(); when(saltJobRunner.getTarget()).thenReturn(targets); SaltCommandTracker saltCommandTracker = new SaltCommandTracker(saltConnector, saltJobRunner); saltCommandTracker.call(); } }