Search in sources :

Example 1 with TopologyDag

use of com.hortonworks.streamline.streams.layout.component.TopologyDag in project streamline by hortonworks.

the class TopologyActionsService method testRunTopology.

public TopologyTestRunHistory testRunTopology(Topology topology, TopologyTestRunCase testCase, Long durationSecs) throws Exception {
    TopologyDag dag = topologyDagBuilder.getDag(topology);
    topology.setTopologyDag(dag);
    ensureValid(dag);
    TopologyActions topologyActions = getTopologyActionsInstance(topology);
    LOG.debug("Running topology {} in test mode", topology);
    return topologyTestRunner.runTest(topologyActions, topology, testCase, durationSecs);
}
Also used : TopologyActions(com.hortonworks.streamline.streams.actions.TopologyActions) TopologyDag(com.hortonworks.streamline.streams.layout.component.TopologyDag)

Example 2 with TopologyDag

use of com.hortonworks.streamline.streams.layout.component.TopologyDag in project streamline by hortonworks.

the class TestTopologyDagCreatingVisitorTest method visitSink_noMatchingTestRunSink.

@Test
public void visitSink_noMatchingTestRunSink() throws Exception {
    TopologyDag originTopologyDag = new TopologyDag();
    StreamlineSink originSink = TopologyTestHelper.createStreamlineSink("1");
    originTopologyDag.add(originSink);
    TestTopologyDagCreatingVisitor visitor = new TestTopologyDagCreatingVisitor(originTopologyDag, Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap());
    try {
        visitor.visit(originSink);
        fail("IllegalStateException should be thrown.");
    } catch (IllegalStateException e) {
        assertTrue(e.getMessage().contains(originSink.getName()));
    }
}
Also used : StreamlineSink(com.hortonworks.streamline.streams.layout.component.StreamlineSink) TopologyDag(com.hortonworks.streamline.streams.layout.component.TopologyDag) Test(org.junit.Test)

Example 3 with TopologyDag

use of com.hortonworks.streamline.streams.layout.component.TopologyDag in project streamline by hortonworks.

the class TestTopologyDagCreatingVisitorTest method visitProcessor_connectedFromSource.

@Test
public void visitProcessor_connectedFromSource() throws Exception {
    StreamlineSource originSource = TopologyTestHelper.createStreamlineSource("1");
    StreamlineProcessor originProcessor = TopologyTestHelper.createStreamlineProcessor("2");
    TopologyDag originTopologyDag = new TopologyDag();
    originTopologyDag.add(originSource);
    originTopologyDag.add(originProcessor);
    originTopologyDag.addEdge(new Edge("e1", originSource, originProcessor, "default", Stream.Grouping.SHUFFLE));
    TestRunSource testSource = createTestRunSource(originSource);
    TestRunProcessor testProcessor = createTestRunProcessor(originProcessor);
    TestTopologyDagCreatingVisitor visitor = new TestTopologyDagCreatingVisitor(originTopologyDag, Collections.singletonMap(originSource.getName(), testSource), Collections.singletonMap(originProcessor.getName(), testProcessor), Collections.emptyMap(), Collections.emptyMap());
    visitor.visit(originSource);
    visitor.visit(originProcessor);
    TopologyDag testTopologyDag = visitor.getTestTopologyDag();
    List<OutputComponent> testProcessors = testTopologyDag.getOutputComponents().stream().filter(o -> (o instanceof TestRunProcessor && o.getName().equals(originProcessor.getName()))).collect(toList());
    List<OutputComponent> testSources = testTopologyDag.getOutputComponents().stream().filter(o -> (o instanceof TestRunSource && o.getName().equals(originSource.getName()))).collect(toList());
    TestRunProcessor testRunProcessor = (TestRunProcessor) testProcessors.get(0);
    TestRunSource testRunSource = (TestRunSource) testSources.get(0);
    assertEquals(1, testTopologyDag.getEdgesFrom(testRunSource).size());
    assertEquals(1, testTopologyDag.getEdgesTo(testRunProcessor).size());
    assertTrue(testTopologyDag.getEdgesFrom(testRunSource).get(0) == testTopologyDag.getEdgesTo(testRunProcessor).get(0));
}
Also used : OutputComponent(com.hortonworks.streamline.streams.layout.component.OutputComponent) Stream(com.hortonworks.streamline.streams.layout.component.Stream) TestRunProcessor(com.hortonworks.streamline.streams.layout.component.impl.testing.TestRunProcessor) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) HashMap(java.util.HashMap) InputComponent(com.hortonworks.streamline.streams.layout.component.InputComponent) RulesProcessor(com.hortonworks.streamline.streams.layout.component.impl.RulesProcessor) Edge(com.hortonworks.streamline.streams.layout.component.Edge) TopologyDag(com.hortonworks.streamline.streams.layout.component.TopologyDag) TestRunSink(com.hortonworks.streamline.streams.layout.component.impl.testing.TestRunSink) List(java.util.List) Collectors.toList(java.util.stream.Collectors.toList) TopologyTestHelper(com.hortonworks.streamline.streams.actions.utils.TopologyTestHelper) TestRunSource(com.hortonworks.streamline.streams.layout.component.impl.testing.TestRunSource) Map(java.util.Map) TestRunRulesProcessor(com.hortonworks.streamline.streams.layout.component.impl.testing.TestRunRulesProcessor) Optional(java.util.Optional) StreamlineProcessor(com.hortonworks.streamline.streams.layout.component.StreamlineProcessor) StreamlineSource(com.hortonworks.streamline.streams.layout.component.StreamlineSource) Assert.fail(org.junit.Assert.fail) StreamlineSink(com.hortonworks.streamline.streams.layout.component.StreamlineSink) Collections(java.util.Collections) Assert.assertEquals(org.junit.Assert.assertEquals) StreamlineProcessor(com.hortonworks.streamline.streams.layout.component.StreamlineProcessor) TestRunProcessor(com.hortonworks.streamline.streams.layout.component.impl.testing.TestRunProcessor) OutputComponent(com.hortonworks.streamline.streams.layout.component.OutputComponent) StreamlineSource(com.hortonworks.streamline.streams.layout.component.StreamlineSource) TestRunSource(com.hortonworks.streamline.streams.layout.component.impl.testing.TestRunSource) Edge(com.hortonworks.streamline.streams.layout.component.Edge) TopologyDag(com.hortonworks.streamline.streams.layout.component.TopologyDag) Test(org.junit.Test)

Example 4 with TopologyDag

use of com.hortonworks.streamline.streams.layout.component.TopologyDag in project streamline by hortonworks.

the class TestTopologyDagCreatingVisitorTest method visitSource_noMatchingTestRunSource.

@Test
public void visitSource_noMatchingTestRunSource() throws Exception {
    StreamlineSource originSource = TopologyTestHelper.createStreamlineSource("1");
    TopologyDag originTopologyDag = new TopologyDag();
    originTopologyDag.add(originSource);
    TestTopologyDagCreatingVisitor visitor = new TestTopologyDagCreatingVisitor(originTopologyDag, Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap());
    try {
        visitor.visit(originSource);
        fail("IllegalStateException should be thrown.");
    } catch (IllegalStateException e) {
        assertTrue(e.getMessage().contains(originSource.getName()));
    }
}
Also used : StreamlineSource(com.hortonworks.streamline.streams.layout.component.StreamlineSource) TopologyDag(com.hortonworks.streamline.streams.layout.component.TopologyDag) Test(org.junit.Test)

Example 5 with TopologyDag

use of com.hortonworks.streamline.streams.layout.component.TopologyDag in project streamline by hortonworks.

the class StreamCatalogService method doExportTopology.

private TopologyData doExportTopology(Topology topology) throws Exception {
    TopologyDag dag = topologyDagBuilder.getDag(topology);
    topology.setTopologyDag(dag);
    TopologyData topologyData = new TopologyData();
    TopologyExportVisitor exportVisitor = new TopologyExportVisitor(topology.getId(), topologyData, this);
    topologyData.setTopologyName(topology.getName());
    topologyData.setConfig(topology.getConfig());
    TopologyDag topologyDag = topology.getTopologyDag();
    if (topologyDag != null) {
        topologyDag.traverse(exportVisitor);
    }
    topologyData.setMetadata(getTopologyEditorMetadata(topology.getId()));
    return topologyData;
}
Also used : TopologyData(com.hortonworks.streamline.streams.catalog.topology.TopologyData) TopologyExportVisitor(com.hortonworks.streamline.streams.catalog.topology.component.TopologyExportVisitor) TopologyDag(com.hortonworks.streamline.streams.layout.component.TopologyDag)

Aggregations

TopologyDag (com.hortonworks.streamline.streams.layout.component.TopologyDag)15 StreamlineSink (com.hortonworks.streamline.streams.layout.component.StreamlineSink)9 StreamlineSource (com.hortonworks.streamline.streams.layout.component.StreamlineSource)9 Test (org.junit.Test)9 Edge (com.hortonworks.streamline.streams.layout.component.Edge)8 StreamlineProcessor (com.hortonworks.streamline.streams.layout.component.StreamlineProcessor)8 HashMap (java.util.HashMap)8 Map (java.util.Map)8 TopologyTestHelper (com.hortonworks.streamline.streams.actions.utils.TopologyTestHelper)7 InputComponent (com.hortonworks.streamline.streams.layout.component.InputComponent)7 OutputComponent (com.hortonworks.streamline.streams.layout.component.OutputComponent)7 Stream (com.hortonworks.streamline.streams.layout.component.Stream)7 RulesProcessor (com.hortonworks.streamline.streams.layout.component.impl.RulesProcessor)7 TestRunProcessor (com.hortonworks.streamline.streams.layout.component.impl.testing.TestRunProcessor)7 TestRunRulesProcessor (com.hortonworks.streamline.streams.layout.component.impl.testing.TestRunRulesProcessor)7 TestRunSink (com.hortonworks.streamline.streams.layout.component.impl.testing.TestRunSink)7 TestRunSource (com.hortonworks.streamline.streams.layout.component.impl.testing.TestRunSource)7 Collections (java.util.Collections)7 List (java.util.List)7 Optional (java.util.Optional)7