99import mocket .core .inject
1010from mocket .core .recording import MocketRecordStorage
1111
12- # NOTE this is here for backwards-compat to keep old import-paths working
13- # from mocket.socket import MocketSocket as MocketSocket
14-
1512if TYPE_CHECKING :
16- from mocket .compat .entry import MocketEntry
17- from mocket .core .entry import MocketBaseEntry
13+ from mocket .core .entry import MocketBaseEntry , MocketBaseRequest
1814 from mocket .core .types import Address
1915
2016
2117class Mocket :
2218 _socket_pairs : ClassVar [dict [Address , tuple [int , int ]]] = {}
2319 _address : ClassVar [Address ] = (None , None )
24- _entries : ClassVar [dict [Address , list [MocketEntry | MocketBaseEntry ]]] = (
25- collections . defaultdict ( list )
20+ _entries : ClassVar [dict [Address , list [MocketBaseEntry ]]] = collections . defaultdict (
21+ list
2622 )
27- _requests : ClassVar [list ] = []
23+ _requests : ClassVar [list [MocketBaseRequest ]] = []
24+ _last_entry : ClassVar [MocketBaseEntry | None ] = None
2825 _record_storage : ClassVar [MocketRecordStorage | None ] = None
2926
3027 @classmethod
@@ -73,18 +70,12 @@ def set_pair(cls, address: Address, pair: tuple[int, int]) -> None:
7370 cls ._socket_pairs [address ] = pair
7471
7572 @classmethod
76- def register (cls , * entries : MocketEntry | MocketBaseEntry ) -> None :
73+ def register (cls , * entries : MocketBaseEntry ) -> None :
7774 for entry in entries :
78- address = entry .location if hasattr (entry , "location" ) else entry .address
79- cls ._entries [address ].append (entry )
75+ cls ._entries [entry .address ].append (entry )
8076
8177 @classmethod
82- def get_entry (
83- cls ,
84- host : str ,
85- port : int ,
86- data : bytes ,
87- ) -> MocketEntry | MocketBaseEntry | None :
78+ def get_entry (cls , host : str , port : int , data ) -> MocketBaseEntry | None :
8879 host = host or cls ._address [0 ]
8980 port = port or cls ._address [1 ]
9081 entries = cls ._entries .get ((host , port ), [])
@@ -108,12 +99,13 @@ def reset(cls) -> None:
10899 cls ._record_storage = None
109100
110101 @classmethod
111- def last_request (cls ):
102+ def last_request (cls ) -> MocketBaseRequest | None :
112103 if cls .has_requests ():
113104 return cls ._requests [- 1 ]
105+ return None
114106
115107 @classmethod
116- def request_list (cls ):
108+ def request_list (cls ) -> list [ MocketBaseRequest ] :
117109 return cls ._requests
118110
119111 @classmethod
@@ -140,9 +132,7 @@ def get_truesocket_recording_dir(cls) -> str | None:
140132 @classmethod
141133 def assert_fail_if_entries_not_served (cls ) -> None :
142134 """Mocket checks that all entries have been served at least once."""
143-
144- def served (entry : MocketEntry | MocketBaseEntry ) -> bool | None :
145- return entry ._served if hasattr (entry , "_served" ) else entry .served_response
146-
147- if not all (served (entry ) for entry in itertools .chain (* cls ._entries .values ())):
135+ if not all (
136+ entry .served_response for entry in itertools .chain (* cls ._entries .values ())
137+ ):
148138 raise AssertionError ("Some Mocket entries have not been served" )
0 commit comments