
**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
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 = False
        samba_hook_mock.return_value.exists.return_value = False
        hook = SambaHook('samba_default')
        destination_folder = "/path/to/dest"
        destination_filepath = destination_folder + "/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_has_calls(
            [call(destination_filepath), call(destination_folder)]
        )
        samba_hook_mock.return_value.isfile.assert_not_called()
        samba_hook_mock.return_value.remove.assert_not_called()
        samba_hook_mock.return_value.mkdir.assert_called_once_with(destination_folder)
        samba_hook_mock.return_value.upload.assert_called_once_with(local_filepath, destination_filepath)