



from unittest.mock import Mock, patch

from file_transfer.send_file import send_file






@patch('''socket.socket''')
@patch('''builtins.open''')
def 			lowerCAmelCase__	(					lowerCamelCase_	:	Tuple ,lowerCamelCase_	:	List[Any]):





    '''simple docstring'''

    lowerCAmelCase__  :       Tuple				=  Mock()
    lowerCAmelCase__  :       int				=  conn, Mock()
    lowerCAmelCase__  :       List[Any]				=  iter([1, None])
    lowerCAmelCase__  :       Dict				=  lambda lowerCamelCase_: next(lowerCamelCase_)

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

    # ===== 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()






import copy

from ...configuration_utils import PretrainedConfig
from ...utils import logging


__snake_case       :	Any            =logging.get_logger(__name__)



class  lowerCamelCase__    (							lowerCamelCase__):




		'''simple docstring'''



		snake_case_			="""encoder-decoder"""
		snake_case_			=True



		def __init__(self	,**__lowerCamelCase				)  ->    Union[str, Any]:

						"""simple docstring"""






						super().__init__(**__lowerCamelCase				)
						assert (
						    "encoder" in kwargs and "decoder" in kwargs
						), "Config has to be initialized with encoder and decoder config"
						lowerCAmelCase__  :       Optional[Any]				=  kwargs.pop('''encoder'''				)
						lowerCAmelCase__  :       Any				=  encoder_config.pop('''model_type'''				)
						lowerCAmelCase__  :       str				=  kwargs.pop('''decoder'''				)
						lowerCAmelCase__  :       Tuple				=  decoder_config.pop('''model_type'''				)

						from ..auto.configuration_auto import AutoConfig

						lowerCAmelCase__  :       Tuple				=  AutoConfig.for_model(__lowerCamelCase	,**__lowerCamelCase				)
						lowerCAmelCase__  :       Any				=  AutoConfig.for_model(__lowerCamelCase	,**__lowerCamelCase				)
						lowerCAmelCase__  :       str				=  True



		@classmethod
		def 	lowerCAmelCase__   (cls	,__lowerCamelCase	,__lowerCamelCase	,**__lowerCamelCase				)  ->    PretrainedConfig:

						"""simple docstring"""






						logger.info('''Set `config.is_decoder=True` and `config.add_cross_attention=True` for decoder_config'''				)
						lowerCAmelCase__  :       Optional[int]				=  True
						lowerCAmelCase__  :       List[str]				=  True

						return cls(encoder=encoder_config.to_dict()	,decoder=decoder_config.to_dict()	,**__lowerCamelCase				)



		def 	lowerCAmelCase__   (self				)  ->    Tuple:

						"""simple docstring"""






						lowerCAmelCase__  :       int				=  copy.deepcopy(self.__dict__				)
						lowerCAmelCase__  :       Optional[Any]				=  self.encoder.to_dict()
						lowerCAmelCase__  :       str				=  self.decoder.to_dict()
						lowerCAmelCase__  :       Optional[int]				=  self.__class__.model_type
						return output

