@@ -69,6 +69,36 @@ def test_connect(_socket, conn, states):
6969 assert conn .state is state
7070
7171
72+ def test_api_versions_check (_socket ):
73+ conn = BrokerConnection ('localhost' , 9092 , socket .AF_INET )
74+ assert conn ._api_versions_future is None
75+ conn .connect ()
76+ assert conn ._api_versions_future is not None
77+ assert conn .connecting () is True
78+ assert conn .state is ConnectionStates .API_VERSIONS_RECV
79+
80+ assert conn ._try_api_versions_check () is False
81+ assert conn .connecting () is True
82+ assert conn .state is ConnectionStates .API_VERSIONS_RECV
83+
84+ conn ._api_versions_future = None
85+ conn ._check_version_idx = 0
86+ assert conn ._try_api_versions_check () is False
87+ assert conn .connecting () is True
88+
89+ conn ._check_version_idx = len (conn .VERSION_CHECKS )
90+ conn ._api_versions_future = None
91+ assert conn ._try_api_versions_check () is False
92+ assert conn .connecting () is False
93+ assert conn .disconnected () is True
94+
95+
96+ def test_api_versions_check_unrecognized (_socket ):
97+ conn = BrokerConnection ('localhost' , 9092 , socket .AF_INET , api_version = (0 , 0 ))
98+ with pytest .raises (Errors .UnrecognizedBrokerVersion ):
99+ conn .connect ()
100+
101+
72102def test_connect_timeout (_socket , conn ):
73103 assert conn .state is ConnectionStates .DISCONNECTED
74104
0 commit comments