use of com.hortonworks.streamline.streams.cluster.catalog.NamespaceServiceClusterMap in project streamline by hortonworks.
the class AbstractBundleHintProviderTest method testProvide.
@Test
public void testProvide() throws Exception {
Cluster cluster1 = createDummyCluster(1L, "cluster1");
Cluster cluster2 = createDummyCluster(2L, "cluster2");
Cluster cluster3 = createDummyCluster(3L, "cluster3");
List<NamespaceServiceClusterMap> testServiceClusterMappings = createDummyServiceClusterMappings(Lists.newArrayList(cluster1, cluster2, cluster3));
new Expectations() {
{
environmentService.getCluster(1L);
result = cluster1;
environmentService.getCluster(2L);
result = cluster2;
environmentService.getCluster(3L);
result = cluster3;
environmentService.listServiceClusterMapping(TEST_NAMESPACE_ID, TEST_SERVICE_NAME);
result = testServiceClusterMappings;
}
};
Namespace namespace = new Namespace();
namespace.setId(TEST_NAMESPACE_ID);
Map<Long, ComponentBundleHintProvider.BundleHintsResponse> hints = provider.provide(namespace, null, null);
Assert.assertEquals(3, hints.size());
Assert.assertEquals(cluster1, hints.get(cluster1.getId()).getCluster());
Assert.assertEquals(TEST_HINTS, hints.get(cluster1.getId()).getHints());
Assert.assertEquals(cluster2, hints.get(cluster2.getId()).getCluster());
Assert.assertEquals(TEST_HINTS, hints.get(cluster2.getId()).getHints());
Assert.assertEquals(cluster3, hints.get(cluster3.getId()).getCluster());
Assert.assertEquals(TEST_HINTS, hints.get(cluster3.getId()).getHints());
}
use of com.hortonworks.streamline.streams.cluster.catalog.NamespaceServiceClusterMap in project streamline by hortonworks.
the class TopologyActionsService method setUpClusterArtifacts.
public void setUpClusterArtifacts(Topology topology, TopologyActions topologyActions) throws IOException {
Namespace namespace = environmentService.getNamespace(topology.getNamespaceId());
if (namespace == null) {
throw new RuntimeException("Corresponding namespace not found: " + topology.getNamespaceId());
}
ObjectMapper objectMapper = new ObjectMapper();
Path artifactsDir = topologyActions.getArtifactsLocation(CatalogToLayoutConverter.getTopologyLayout(topology));
makeEmptyDir(artifactsDir);
Collection<NamespaceServiceClusterMap> serviceClusterMappings = environmentService.listServiceClusterMapping(namespace.getId());
for (NamespaceServiceClusterMap serviceClusterMapping : serviceClusterMappings) {
Service service = environmentService.getServiceByName(serviceClusterMapping.getClusterId(), serviceClusterMapping.getServiceName());
if (service != null) {
Collection<ServiceConfiguration> serviceConfigurations = environmentService.listServiceConfigurations(service.getId());
if (serviceConfigurations != null) {
for (ServiceConfiguration serviceConfiguration : serviceConfigurations) {
writeConfigurationFile(objectMapper, artifactsDir, serviceConfiguration);
}
}
}
}
}
use of com.hortonworks.streamline.streams.cluster.catalog.NamespaceServiceClusterMap in project streamline by hortonworks.
the class NamespaceCatalogResourceTest method testAddTimeSeriesDBWhenTimeSeriesDBAlreadyExistsViaMapServiceToClusterInNamespace.
@Test
public void testAddTimeSeriesDBWhenTimeSeriesDBAlreadyExistsViaMapServiceToClusterInNamespace() throws Exception {
Long testNamespaceId = 1L;
Namespace testNamespace = createTestNamespace(testNamespaceId, TEST_STREAMING_ENGINE, TEST_TIME_SERIES_DB);
Collection<NamespaceServiceClusterMap> existingMappings = createTestMappingsForExisting(testNamespaceId);
new Expectations() {
{
environmentService.getNamespace(testNamespaceId);
result = testNamespace;
environmentService.listServiceClusterMapping(testNamespaceId);
result = existingMappings;
}
};
NamespaceServiceClusterMap newMapping = new NamespaceServiceClusterMap(testNamespaceId, TEST_TIME_SERIES_DB, 2L);
try {
namespaceCatalogResource.mapServiceToClusterInNamespace(testNamespaceId, newMapping, securityContext);
Assert.fail("Should throw BadRequestException");
} catch (BadRequestException e) {
// passed
}
new Verifications() {
{
environmentService.addOrUpdateServiceClusterMapping(withAny(new NamespaceServiceClusterMap()));
times = 0;
}
};
}
use of com.hortonworks.streamline.streams.cluster.catalog.NamespaceServiceClusterMap in project streamline by hortonworks.
the class NamespaceCatalogResourceTest method testExcludeStreamingEngineViaSetServicesToClusterInNamespace.
@Test
public void testExcludeStreamingEngineViaSetServicesToClusterInNamespace() throws Exception {
Long testNamespaceId = 1L;
Namespace testNamespace = createTestNamespace(testNamespaceId, TEST_STREAMING_ENGINE, TEST_TIME_SERIES_DB);
Collection<NamespaceServiceClusterMap> existingMappings = createTestMappingsForExisting(testNamespaceId);
setupExpectationForSimulatingTopologyIsRunning(testNamespaceId, testNamespace, existingMappings);
List<NamespaceServiceClusterMap> mappingsToApply = existingMappings.stream().filter(m -> !m.getServiceName().equals(TEST_STREAMING_ENGINE)).collect(toList());
try {
namespaceCatalogResource.setServicesToClusterInNamespace(testNamespaceId, mappingsToApply, securityContext);
Assert.fail("Should throw BadRequestException");
} catch (BadRequestException e) {
// passed
}
new Verifications() {
{
// request fails before removing existing mappings
environmentService.removeServiceClusterMapping(testNamespaceId, anyString, anyLong);
times = 0;
}
};
}
use of com.hortonworks.streamline.streams.cluster.catalog.NamespaceServiceClusterMap in project streamline by hortonworks.
the class NamespaceCatalogResourceTest method testAddStreamingEngineWhenStreamingEngineAlreadyExistsViaMapServiceToClusterInNamespace.
@Test
public void testAddStreamingEngineWhenStreamingEngineAlreadyExistsViaMapServiceToClusterInNamespace() throws Exception {
Long testNamespaceId = 1L;
Namespace testNamespace = createTestNamespace(testNamespaceId, TEST_STREAMING_ENGINE, TEST_TIME_SERIES_DB);
Collection<NamespaceServiceClusterMap> existingMappings = createTestMappingsForExisting(testNamespaceId);
new Expectations() {
{
environmentService.getNamespace(testNamespaceId);
result = testNamespace;
environmentService.listServiceClusterMapping(testNamespaceId);
result = existingMappings;
}
};
NamespaceServiceClusterMap newMapping = new NamespaceServiceClusterMap(testNamespaceId, TEST_STREAMING_ENGINE, 2L);
try {
namespaceCatalogResource.mapServiceToClusterInNamespace(testNamespaceId, newMapping, securityContext);
Assert.fail("Should throw BadRequestException");
} catch (BadRequestException e) {
// passed
}
new Verifications() {
{
environmentService.addOrUpdateServiceClusterMapping(withAny(new NamespaceServiceClusterMap()));
times = 0;
}
};
}
Aggregations