def test_main_composite_flow_added(self): ri, tkl = _index_tk() self.assertEqual(0, ri) r = op.main_composite(kind='app::MyMain', toolkits=[tkl]) self.assertIsInstance(r, tuple) self.assertIsInstance(r[0], Topology) self.assertIsInstance(r[1], op.Invoke) # add another independent flow to the topology topology = r[0] ints = topology.source([1, 2, 3], name='Integers3') ints.as_string().print() cfg = {} if not 'STREAMS_INSTALL' in os.environ: cfg[streamsx.topology.context.ConfigParams.SSL_VERIFY] = False rc = streamsx.topology.context.submit('BUNDLE', topology, cfg) self.assertEqual(0, rc['return_code']) shutil.rmtree(tkl) self.assertEqual('app._spl.MyMain.sab', os.path.basename(rc['bundlePath'])) os.remove(rc['bundlePath']) if 'CP4D_URL' in os.environ or 'STREAMS_INSTALL' in os.environ or 'STREAMS_REST_URL' in os.environ: self.assertEqual('app._spl.MyMain_JobConfig.json', os.path.basename(rc['jobConfigPath'])) os.remove(rc['jobConfigPath'])
def test_main_composite_wrapped(self): ri, tkl = _index_tk() self.assertEqual(0, ri) wrapper_name = 'Wrapper' r = op.main_composite(kind='app::MyMain', toolkits=[tkl], name=wrapper_name) self.assertIsInstance(r, tuple) self.assertIsInstance(r[0], Topology) self.assertIsInstance(r[1], op.Invoke) cfg = {} if not 'STREAMS_INSTALL' in os.environ: cfg[streamsx.topology.context.ConfigParams.SSL_VERIFY] = False rc = streamsx.topology.context.submit('BUNDLE', r[0], cfg) self.assertEqual(0, rc['return_code']) shutil.rmtree(tkl) self.assertEqual('app._spl.' + wrapper_name + '.sab', os.path.basename(rc['bundlePath'])) os.remove(rc['bundlePath']) if 'CP4D_URL' in os.environ or 'STREAMS_INSTALL' in os.environ or 'STREAMS_REST_URL' in os.environ: self.assertEqual('app._spl.' + wrapper_name + '_JobConfig.json', os.path.basename(rc['jobConfigPath'])) os.remove(rc['jobConfigPath'])
def failed_pe_service(): topo = Topology('FailedPEService') add_toolkit(topo, monitoring_toolkit) r = op.main_composite( kind='com.ibm.streamsx.monitoring.jobs.services::FailedPEService', toolkits=[monitoring_toolkit]) _launch(r[0])
def job_status_service(): topo = Topology('JobStatusService') add_toolkit(topo, monitoring_toolkit) r = op.main_composite( kind='com.ibm.streamsx.monitoring.jobs.services::JobStatusService', toolkits=[monitoring_toolkit]) _launch(r[0])
def metrics_ingest_service(): topo = Topology('MetricsIngestService') add_toolkit(topo, monitoring_toolkit) r = op.main_composite( kind= 'com.ibm.streamsx.monitoring.metrics.services::MetricsIngestService', toolkits=[monitoring_toolkit]) _launch(r[0])
def sample_app(): topo = Topology('SystemMonitorSample') add_toolkit(topo, monitoring_toolkit) add_toolkit(topo, sample_toolkit) r = op.main_composite( kind= 'com.ibm.streamsx.monitoring.system.sample.SystemMonitorSource::Monitor', toolkits=[monitoring_toolkit, sample_toolkit]) _launch(r[0])
def sample_app(): topo = Topology('MetricsSample') add_toolkit(topo, monitoring_toolkit) add_toolkit(topo, sample_toolkit) r = op.main_composite( kind= 'com.ibm.streamsx.monitoring.metrics.sample.MetricsSource::SampleJob', toolkits=[monitoring_toolkit, sample_toolkit]) _launch(r[0])
def sample_app(): topo = Topology('CrashSample') add_toolkit(topo, monitoring_toolkit) add_toolkit(topo, sample_toolkit) r = op.main_composite( kind= 'com.ibm.streamsx.monitoring.jobs.sample.JobStatusMonitor::SampleJob', toolkits=[monitoring_toolkit, sample_toolkit]) _launch(r[0])
def _get_spl_app(cmd_args): topo = op.main_composite(kind=cmd_args.main_composite, toolkits=cmd_args.toolkits)[0] if cmd_args.create_bundle: # Mimic what the build service does by indexing # any required toolkits including Python operator extraction # but only if we can write to it. for tk_path in cmd_args.toolkits: if os.access(tk_path, os.W_OK): streamsx.scripts.extract.main(['-i', tk_path, '--make-toolkit']) return _App(topo, {})
def test_main_composite(self): ri,tkl = _index_tk() self.assertEqual(0, ri) r = op.main_composite(kind='app::MyMain', toolkits=[tkl]) self.assertIsInstance(r, tuple) self.assertIsInstance(r[0], Topology) self.assertIsInstance(r[1], op.Invoke) rc = streamsx.topology.context.submit('BUNDLE', r[0]) self.assertEqual(0, rc['return_code']) shutil.rmtree(tkl) os.remove(rc['bundlePath']) os.remove(rc['jobConfigPath'])
def test_main_composite(self): ri, tkl = _index_tk() self.assertEqual(0, ri) r = op.main_composite(kind='app::MyMain', toolkits=[tkl]) self.assertIsInstance(r, tuple) self.assertIsInstance(r[0], Topology) self.assertIsInstance(r[1], op.Invoke) rc = streamsx.topology.context.submit('BUNDLE', r[0]) self.assertEqual(0, rc['return_code']) shutil.rmtree(tkl) os.remove(rc['bundlePath']) os.remove(rc['jobConfigPath'])
def _get_spl_app(cmd_args): topo = op.main_composite(kind=cmd_args.main_composite, toolkits=cmd_args.toolkits)[0] if cmd_args.create_bundle: # Mimic what the build service does by indexing # any required toolkits including Python operator extraction # but only if we can write to it. for tk_path in cmd_args.toolkits: if os.access(tk_path, os.W_OK): streamsx.scripts.extract.main(['-i', tk_path, '--make-toolkit']) cfg = {} cfg['originator'] = 'streamsxrunner-' + streamsx._streams._version.__version__ + ':spl' return _App(topo, cfg)
def test_compile_time_error_checkpoint_operator_driven(self): print('\n---------' + str(self)) if self.eventstore_toolkit_location is not None: test_toolkit = 'compile.test' self._index_tk(test_toolkit) # compile test only r = op.main_composite( kind= 'com.ibm.streamsx.eventstore.test::Test_checkpoint_operatorDriven', toolkits=[self.eventstore_toolkit_location, test_toolkit]) rc = streamsx.topology.context.submit('BUNDLE', r[0]) #expect compile error self.assertEqual(1, rc['return_code'])
def _get_spl_app(cmd_args): topo = op.main_composite(kind=cmd_args.main_composite, toolkits=cmd_args.toolkits)[0] if cmd_args.create_bundle and 'STREAMS_INSTALL' in os.environ: # Mimic what the build service does by indexing # any required toolkits including Python operator extraction # but only if we can write to it. for tk_path in cmd_args.toolkits: if os.access(tk_path, os.W_OK): streamsx.scripts.extract.main( ['-i', tk_path, '--make-toolkit']) cfg = {} cfg['originator'] = 'streamsxrunner-' + streamsx._streams._version.__version__ + ':spl' return _App(topo, cfg)
def uima_service(): json_toolkit_location = None # use remote toolkit from build-service streams_install = os.environ.get('STREAMS_INSTALL') if streams_install is not None: json_toolkit_location = streams_install+'/toolkits/com.ibm.streamsx.json' topo = Topology('UimaService') nlp_toolkit = '../../com.ibm.streamsx.nlp' streamsx.spl.toolkit.add_toolkit(topo, nlp_toolkit) if json_toolkit_location is not None: streamsx.spl.toolkit.add_toolkit(topo, json_toolkit_location) toolkits=[nlp_toolkit, json_toolkit_location] else: toolkits=[nlp_toolkit] r = op.main_composite(kind='com.ibm.streamsx.nlp.services::UimaService', toolkits=toolkits) _launch(r[0])
def test_main_composite(self): si = os.environ['STREAMS_INSTALL'] tkl = 'tkl_mc_' + str(uuid.uuid4().hex) this_dir = os.path.dirname(os.path.realpath(__file__)) shutil.copytree(os.path.join(this_dir, 'spl_mc'), tkl) ri = subprocess.call( [os.path.join(si, 'bin', 'spl-make-toolkit'), '-i', tkl]) self.assertEqual(0, ri) r = op.main_composite(kind='app::MyMain', toolkits=[tkl]) self.assertIsInstance(r, tuple) self.assertIsInstance(r[0], Topology) self.assertIsInstance(r[1], op.Invoke) rc = streamsx.topology.context.submit('BUNDLE', r[0]) self.assertEqual(0, rc['return_code']) shutil.rmtree(tkl) os.remove(rc['bundlePath']) os.remove(rc['jobConfigPath'])
def _create_topo(cmd_args): topo,invoke = main_composite(kind=cmd_args.main_composite) return topo