11import json
22from typing import Dict
3- from unittest .mock import Mock , patch
3+ from unittest .mock import patch , Mock , MagicMock
44
55import pytest
66import yaml
99
1010
1111@patch ("probely_cli.cli.commands.scans.cancel.cancel_scans" )
12- def test_cancel_scans__command_handler (
12+ def test_scans_cancel__command_handler (
1313 sdk_cancel_scan_mock : Mock ,
1414 valid_scans_cancel_api_response : Dict ,
1515 probely_cli ,
@@ -30,7 +30,7 @@ def test_cancel_scans__command_handler(
3030
3131
3232@patch ("probely_cli.cli.commands.scans.cancel.cancel_scan" )
33- def test_scans_cancel_request_with_exception (
33+ def test_scans_cancel__request_with_exception (
3434 sdk_cancel_scan_mock : Mock ,
3535 probely_cli ,
3636):
@@ -99,19 +99,53 @@ def test_scans_cancel__no_arguments_passed(probely_cli):
9999 ),
100100 ],
101101)
102- @patch ("probely_cli.cli.commands.scans.get.list_scans" )
102+ @patch ("probely_cli.cli.commands.scans.cancel.cancel_scan" )
103+ @patch ("probely_cli.cli.commands.scans.cancel.cancel_scans" )
104+ @patch ("probely_cli.cli.commands.scans.cancel.list_scans" )
103105def test_scans_cancel__arg_filters_success (
104- sdk_list_scans_mock : Mock ,
106+ sdk_list_scans_mock : MagicMock ,
107+ _cancel_scans_mock : MagicMock ,
108+ _cancel_scan_mock : MagicMock ,
105109 filter_arg ,
106110 expected_filter_request ,
107111 probely_cli ,
108112):
109- stdout , stderr = probely_cli ("scans" , "get" , filter_arg , return_list = True )
113+ sdk_list_scans_mock .return_value = [{"id" : "scan_id1" }]
114+
115+ stdout , stderr = probely_cli ("scans" , "cancel" , filter_arg , return_list = True )
110116
111- assert len (stderr ) == 0 , "Expected no errors"
117+ assert sdk_list_scans_mock .call_count == 1
118+ assert stderr == [], "Expected no errors"
112119 sdk_list_scans_mock .assert_called_once_with (scans_filters = expected_filter_request )
113120
114121
122+ @patch ("probely_cli.cli.commands.scans.cancel.cancel_scan" )
123+ @patch ("probely_cli.cli.commands.scans.cancel.cancel_scans" )
124+ @patch ("probely_cli.cli.commands.scans.cancel.list_scans" )
125+ def test_scans_cancel__filters_with_no_results (
126+ sdk_list_scans_mock : MagicMock ,
127+ _cancel_scans_mock : MagicMock ,
128+ _cancel_scan_mock : MagicMock ,
129+ probely_cli ,
130+ ):
131+
132+ sdk_list_scans_mock .return_value = []
133+
134+ stdout_lines , stderr_lines = probely_cli (
135+ "scans" ,
136+ "cancel" ,
137+ "--f-search=test" ,
138+ return_list = True ,
139+ )
140+
141+ assert stdout_lines == [], "Expected no output"
142+
143+ assert len (stderr_lines ) == 1 , "Expected error output"
144+
145+ expected_error = "probely scans cancel: error: Selected Filters returned no results"
146+ assert stderr_lines [- 1 ] == expected_error
147+
148+
115149@patch ("probely_cli.cli.commands.scans.cancel.cancel_scans" )
116150def test_scans_cancel__output_argument_output (
117151 cancel_scans_mock , valid_scans_cancel_api_response : dict , probely_cli
0 commit comments