
**Description**
The  [SambaHook](https://github.com/apache/airflow/blob/master/airflow/providers/samba/hooks/samba.py#L26) currently using [pysmbclient](https://github.com/apache/airflow/blob/master/setup.py#L408) this library hasn't been updated since 2017 https://pypi.org/project/PySmbClient/

I think worth moving to https://pypi.org/project/smbprotocol/ which newer and maintained.

tests/providers/samba/hooks/test_samba.py
get_conn_mock.return_value = connection
        hook = SambaHook('samba_default')
        conn = hook.get_conn()
        assert str(get_client_mock.mock_calls[0].workgroup) == "workgroup"
        assert conn is get_client_mock()
        get_conn_mock.assert_called_once_with('samba_default')
    @mock.patch('airflow.providers.samba.hooks.samba.SambaHook.get_conn')
    @mock.patch('airflow.hooks.base.BaseHook.get_connection')
    def test_push_from_local_should_succeed_if_destination_has_same_name_but_not_a_file(
        self, base_conn_mock, samba_hook_mock
    ):
        base_conn_mock.return_value = connection
        samba_hook_mock.get_conn.return_value = mock.Mock()
        samba_hook_mock.return_value.exists.return_value = True
        samba_hook_mock.return_value.isfile.return_value = False
        samba_hook_mock.return_value.exists.return_value = True
        hook = SambaHook('samba_default')
        destination_filepath = "/path/to/dest/file"
        local_filepath = "/path/to/local/file"
        hook.push_from_local(destination_filepath=destination_filepath, local_filepath=local_filepath)
        base_conn_mock.assert_called_once_with('samba_default')
        samba_hook_mock.assert_called_once()
        samba_hook_mock.return_value.exists.assert_called_once_with(destination_filepath)
        samba_hook_mock.return_value.isfile.assert_called_once_with(destination_filepath)
        samba_hook_mock.return_value.remove.assert_not_called()
        samba_hook_mock.return_value.upload.assert_called_once_with(local_filepath, destination_filepath)
    @mock.patch('airflow.providers.samba.hooks.samba.SambaHook.get_conn')
    @mock.patch('airflow.hooks.base.BaseHook.get_connection')
    def test_push_from_local_should_delete_file_if_exists_and_save_file(