Skip to content

Commit e2cae65

Browse files
authored
Merge pull request #335 from Sahil-u07/test/add-inspect-command-tests
Add test coverage for inspect command
2 parents a3b0752 + 1b73752 commit e2cae65

1 file changed

Lines changed: 41 additions & 0 deletions

File tree

tests/test_cli.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

154195
if __name__ == '__main__':
155196
unittest.main()

0 commit comments

Comments
 (0)