package org.cloudfoundry.community.servicebroker.brooklyn.repository;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import org.apache.brooklyn.rest.api.ApplicationApi;
import org.apache.brooklyn.rest.client.BrooklynApi;
import org.apache.brooklyn.rest.domain.ApplicationSummary;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
public class RepositoriesTest {
@Mock
private BrooklynApi brooklynApi;
@Mock
private ApplicationApi applicationApi;
@Mock
private ApplicationSummary applicationSummary;
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
when(brooklynApi.getApplicationApi()).thenReturn(applicationApi);
}
@Test
@Ignore
// TODO: This test does not work as the ApplicationApi.get() signature does not explicitly says that it can throw an exception.
public void testCreateRepositoriesCreatesItIfRepositoryEntityDoesNotExist() {
when(applicationApi.get(anyString())).thenThrow(new Exception());
Repositories.createRepositories(brooklynApi);
verify(applicationApi).createFromForm(anyString());
}
@Test
public void testCreateRepositoriesDoesNotIfRepositoryEntityExist() {
when(applicationApi.get(anyString())).thenReturn(applicationSummary);
Repositories.createRepositories(brooklynApi);
verify(applicationApi, never()).createFromForm(anyString());
}
}