@@ -69,6 +69,36 @@ def test_connect(_socket, conn, states):
69
69
assert conn .state is state
70
70
71
71
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
+
72
102
def test_connect_timeout (_socket , conn ):
73
103
assert conn .state is ConnectionStates .DISCONNECTED
74
104
0 commit comments