def test_inspect_pipelines(self, cell): with cell: # Cell 1 pipeline_1 = beam.Pipeline(ir.InteractiveRunner()) pipeline_2 = beam.Pipeline(ir.InteractiveRunner()) with cell: # Cell 2 # Re-executes the line that created pipeline_1 causing the original # pipeline_1 no longer inspectable. pipeline_1 = beam.Pipeline(ir.InteractiveRunner()) ib.watch(locals()) expected_inspectable_pipelines = { pipeline_1: 'pipeline_1', pipeline_2: 'pipeline_2' } for inspectable_pipeline in inspector.inspect_pipelines().items(): self.assertTrue( inspectable_pipeline in expected_inspectable_pipelines.items()) pipeline_1_metadata = inspector.meta('pipeline_1', pipeline_1) pipeline_2_metadata = inspector.meta('pipeline_2', pipeline_2) expected_inspectables = { obfuscate(pipeline_2_metadata): { 'metadata': pipeline_2_metadata, 'value': pipeline_2 }, obfuscate(pipeline_1_metadata): { 'metadata': pipeline_1_metadata, 'value': pipeline_1 } } for inspectable in inspector.inspect().items(): self.assertTrue(inspectable in expected_inspectables.items())
def test_inspect(self, cell): with cell: # Cell 1 pipeline = beam.Pipeline(ir.InteractiveRunner()) # Early watch the pipeline so that cell re-execution can be handled. ib.watch({'pipeline': pipeline}) # pylint: disable=bad-option-value pcoll = pipeline | 'Create' >> beam.Create(range(10)) with cell: # Cell 2 # Re-executes the line that created the pcoll causing the original # pcoll no longer inspectable. # pylint: disable=bad-option-value pcoll = pipeline | 'Create' >> beam.Create(range(10)) ib.watch(locals()) pipeline_metadata = inspector.meta('pipeline', pipeline) pcoll_metadata = inspector.meta('pcoll', pcoll) expected_inspectables = { obfuscate(pipeline_metadata): { 'metadata': pipeline_metadata, 'value': pipeline }, obfuscate(pcoll_metadata): { 'metadata': pcoll_metadata, 'value': pcoll } } for inspectable in inspector.inspect().items(): self.assertTrue(inspectable in expected_inspectables.items())