


'''simple docstring'''






from unittest.mock import Mock, patch

from file_transfer.send_file import send_file


@patch('''socket.socket'''			)
@patch('''builtins.open'''			)
def    _snake_case  (	A					,       A			)		->       List[Any]:
							# ===== initialization =====
							lowerCAmelCase__			  =      Mock()
							lowerCAmelCase__			  =      conn, Mock()
							lowerCAmelCase__			  =      iter([1, None]			)
							lowerCAmelCase__			  =      lambda A			: next(A			)

							# ===== invoke =====
							send_file(filename='''mytext.txt'''					,       testing=A			)

							# ===== ensurance =====
							sock.assert_called_once()
							sock.return_value.bind.assert_called_once()
							sock.return_value.listen.assert_called_once()
							sock.return_value.accept.assert_called_once()
							conn.recv.assert_called_once()

							file.return_value.__enter__.assert_called_once()
							file.return_value.__enter__.return_value.read.assert_called()

							conn.send.assert_called_once()
							conn.close.assert_called_once()
							sock.return_value.shutdown.assert_called_once()
							sock.return_value.close.assert_called_once()



'''simple docstring'''






import sys

from .dependency_versions_table import deps
from .utils.versions import require_version, require_version_core


# define which module versions we always want to check at run time
# (usually the ones defined in `install_requires` in setup.py)
#
# order specific notes:
# - tqdm must be checked before tokenizers

__UpperCAmelCase       							=				'''python tqdm regex requests packaging filelock numpy tokenizers'''.split()
if sys.version_info < (3, 7):
		pkgs_to_check_at_runtime.append('''dataclasses''')
if sys.version_info < (3, 8):
		pkgs_to_check_at_runtime.append('''importlib_metadata''')

for pkg in pkgs_to_check_at_runtime:
		if pkg in deps:
				if pkg == "tokenizers":
						# must be loaded here, or else tqdm check may fail
						from .utils import is_tokenizers_available

						if not is_tokenizers_available():
								continue  # not required, check version only if installed

				require_version_core(deps[pkg])
		else:
				raise ValueError(f"""can't find {pkg} in {deps.keys()}, check dependency_versions_table.py""")


def    _snake_case  (	A					,       A=None			)		->       Optional[Any]:
							require_version(deps[pkg]					,       A			)