def test_delete_profile_deletes_profile(config_accessor, mocker): name = "deleteme" profile = create_mock_profile(name) mock_get_profile = mocker.patch("code42cli.profile._get_profile") mock_get_profile.return_value = profile cliprofile.delete_profile(name) config_accessor.delete_profile.assert_called_once_with(name)
def test_delete_profile_deletes_profile_from_object_name(config_accessor, mocker): expected = "deleteme - different name than the arg" profile = create_mock_profile(expected) mock_get_profile = mocker.patch("code42cli.profile._get_profile") mock_get_profile.return_value = profile cliprofile.delete_profile("deleteme") config_accessor.delete_profile.assert_called_once_with(expected)
def delete(profile_name): """Deletes a profile and its stored password (if any).""" message = "\nDeleting this profile will also delete any stored passwords and checkpoints. Are you sure? (y/n): " if cliprofile.is_default_profile(profile_name): message = "\n'{}' is currently the default profile!\n{}".format( profile_name, message) if does_user_agree(message): cliprofile.delete_profile(profile_name) echo("Profile '{}' has been deleted.".format(profile_name))
def test_delete_profile_deletes_password_if_exists(config_accessor, mocker, password_getter, password_deleter): profile = create_mock_profile("deleteme") mock_get_profile = mocker.patch("code42cli.profile._get_profile") mock_get_profile.return_value = profile password_getter.return_value = "i_exist" cliprofile.delete_profile("deleteme") password_deleter.assert_called_once_with(profile)
def test_delete_profile_clears_checkpoints(config_accessor, mocker): profile = create_mock_profile("deleteme") mock_get_profile = mocker.patch("code42cli.profile._get_profile") mock_get_profile.return_value = profile event_store = mocker.MagicMock(spec=FileEventCursorStore) alert_store = mocker.MagicMock(spec=AlertCursorStore) mock_get_cursor_store = mocker.patch( "code42cli.profile.get_all_cursor_stores_for_profile") mock_get_cursor_store.return_value = [event_store, alert_store] cliprofile.delete_profile("deleteme") assert event_store.clean.call_count == 1 assert alert_store.clean.call_count == 1
def delete(profile_name): """Deletes a profile and its stored password (if any).""" try: cliprofile.get_profile(profile_name) except Code42CLIError: raise Code42CLIError(f"Profile '{profile_name}' does not exist.") message = ( "\nDeleting this profile will also delete any stored passwords and checkpoints. " "Are you sure? (y/n): ") if cliprofile.is_default_profile(profile_name): message = f"\n'{profile_name}' is currently the default profile!\n{message}" if does_user_agree(message): cliprofile.delete_profile(profile_name) echo(f"Profile '{profile_name}' has been deleted.")
def delete_all(): """Deletes all profiles and saved passwords (if any).""" existing_profiles = cliprofile.get_all_profiles() if existing_profiles: message = ( "\nAre you sure you want to delete the following profiles?\n\t{}" "\n\nThis will also delete any stored passwords and checkpoints. (y/n): " ).format("\n\t".join([c42profile.name for c42profile in existing_profiles])) if does_user_agree(message): for profile_obj in existing_profiles: cliprofile.delete_profile(profile_obj.name) echo("Profile '{}' has been deleted.".format(profile_obj.name)) else: echo("\nNo profiles exist. Nothing to delete.")