@@ -150,6 +150,47 @@ def test_run_command_existing_output(self):
150150 '--output' , 'output'
151151 ])
152152 self .assertIn ('already exists' , result .output .lower ())
153+
154+ def test_inspect_command_basic (self ):
155+ with self .runner .isolated_filesystem (temp_dir = self .temp_dir ):
156+ result = self .runner .invoke (cli , ['init' , 'test-project' ])
157+ self .assertEqual (result .exit_code , 0 )
158+
159+ result = self .runner .invoke (cli , ['inspect' , 'test-project/workflow.graphml' ])
160+ self .assertEqual (result .exit_code , 0 )
161+ self .assertIn ('Workflow Overview' , result .output )
162+ self .assertIn ('Nodes:' , result .output )
163+ self .assertIn ('Edges:' , result .output )
164+
165+ def test_inspect_missing_file (self ):
166+ result = self .runner .invoke (cli , ['inspect' , 'nonexistent.graphml' ])
167+ self .assertNotEqual (result .exit_code , 0 )
168+
169+ def test_inspect_json_output (self ):
170+ with self .runner .isolated_filesystem (temp_dir = self .temp_dir ):
171+ result = self .runner .invoke (cli , ['init' , 'test-project' ])
172+ self .assertEqual (result .exit_code , 0 )
173+
174+ result = self .runner .invoke (cli , ['inspect' , 'test-project/workflow.graphml' , '--json' ])
175+ self .assertEqual (result .exit_code , 0 )
176+
177+ import json
178+ output_data = json .loads (result .output )
179+ self .assertIn ('workflow' , output_data )
180+ self .assertIn ('nodes' , output_data )
181+ self .assertIn ('edges' , output_data )
182+ self .assertEqual (output_data ['workflow' ], 'workflow.graphml' )
183+
184+ def test_inspect_missing_source_file (self ):
185+ with self .runner .isolated_filesystem (temp_dir = self .temp_dir ):
186+ result = self .runner .invoke (cli , ['init' , 'test-project' ])
187+ self .assertEqual (result .exit_code , 0 )
188+
189+ Path ('test-project/src/script.py' ).unlink ()
190+
191+ result = self .runner .invoke (cli , ['inspect' , 'test-project/workflow.graphml' , '--source' , 'src' ])
192+ self .assertEqual (result .exit_code , 0 )
193+ self .assertIn ('Missing files' , result .output )
153194
154195if __name__ == '__main__' :
155196 unittest .main ()
0 commit comments