package org.cloudfoundry.runtime.service.document; import static org.mockito.Mockito.when; import org.cloudfoundry.runtime.env.CloudEnvironment; import org.cloudfoundry.runtime.env.MongoServiceInfo; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; public class CloudMongoFactoryTest { @Mock private CloudEnvironment mockRuntime; @Mock private MongoServiceInfo mockServiceInfo; private CloudMongoFactoryBean factory; @Before public void setup() { MockitoAnnotations.initMocks(this); factory = new CloudMongoFactoryBean(mockRuntime); } @Test public void cloudMongoCreation() throws Exception { when(mockRuntime.getServiceInfo("mongo-1", MongoServiceInfo.class)) .thenReturn(mockServiceInfo); when(mockServiceInfo.getHost()).thenReturn("10.20.30.40"); when(mockServiceInfo.getPort()).thenReturn(10000); when(mockServiceInfo.getPassword()).thenReturn("mypass"); factory.setServiceName("mongo-1"); // TODO: Need a better way to avoid Mongo trying to connect // factory.afterPropertiesSet(); // Mongo cloudMongo = factory.getObject(); // assertEquals("10.20.30.40", cloudMongo.getHostName()); // assertEquals(10000, cloudMongo.getPort()); // assertEquals("mypass", cloudMongo.getPassword()); } }