8
8
@pytest .mark .asyncio
9
9
class TestTopicTransactionalReader :
10
10
async def test_commit (self , driver : ydb .aio .Driver , topic_with_messages , topic_consumer ):
11
- async with driver . topic_client . reader ( topic_with_messages , topic_consumer ) as reader :
12
- async with ydb . aio . QuerySessionPool ( driver ) as pool :
11
+ async with ydb . aio . QuerySessionPool ( driver ) as pool :
12
+ async with driver . topic_client . reader ( topic_with_messages , topic_consumer ) as reader :
13
13
14
14
async def callee (tx : ydb .aio .QueryTxContext ):
15
15
batch = await wait_for (reader .receive_batch_with_tx (tx , max_messages = 1 ), 1 )
@@ -18,6 +18,7 @@ async def callee(tx: ydb.aio.QueryTxContext):
18
18
19
19
await pool .retry_tx_async (callee )
20
20
21
+ async with driver .topic_client .reader (topic_with_messages , topic_consumer ) as reader :
21
22
msg = await wait_for (reader .receive_message (), 1 )
22
23
assert msg .data .decode () == "456"
23
24
@@ -38,114 +39,114 @@ async def callee(tx: ydb.aio.QueryTxContext):
38
39
assert msg .data .decode () == "123"
39
40
40
41
41
- # class TestTopicTransactionalWriter:
42
- # async def test_commit(self, driver: ydb.aio.Driver, topic_path, topic_reader: ydb.TopicReaderAsyncIO):
43
- # async with ydb.aio.QuerySessionPool(driver) as pool:
42
+ class TestTopicTransactionalWriter :
43
+ async def test_commit (self , driver : ydb .aio .Driver , topic_path , topic_reader : ydb .TopicReaderAsyncIO ):
44
+ async with ydb .aio .QuerySessionPool (driver ) as pool :
44
45
45
- # async def callee(tx: ydb.aio.QueryTxContext):
46
- # tx_writer = driver.topic_client.tx_writer(tx, topic_path)
47
- # await tx_writer.write(ydb.TopicWriterMessage(data="123".encode()))
46
+ async def callee (tx : ydb .aio .QueryTxContext ):
47
+ tx_writer = driver .topic_client .tx_writer (tx , topic_path )
48
+ await tx_writer .write (ydb .TopicWriterMessage (data = "123" .encode ()))
48
49
49
- # await pool.retry_tx_async(callee)
50
+ await pool .retry_tx_async (callee )
50
51
51
- # msg = await wait_for(topic_reader.receive_message(), 0.1)
52
- # assert msg.data.decode() == "123"
52
+ msg = await wait_for (topic_reader .receive_message (), 0.1 )
53
+ assert msg .data .decode () == "123"
53
54
54
- # async def test_rollback(self, driver: ydb.aio.Driver, topic_path, topic_reader: ydb.TopicReaderAsyncIO):
55
- # async with ydb.aio.QuerySessionPool(driver) as pool:
55
+ async def test_rollback (self , driver : ydb .aio .Driver , topic_path , topic_reader : ydb .TopicReaderAsyncIO ):
56
+ async with ydb .aio .QuerySessionPool (driver ) as pool :
56
57
57
- # async def callee(tx: ydb.aio.QueryTxContext):
58
- # tx_writer = driver.topic_client.tx_writer(tx, topic_path)
59
- # await tx_writer.write(ydb.TopicWriterMessage(data="123".encode()))
58
+ async def callee (tx : ydb .aio .QueryTxContext ):
59
+ tx_writer = driver .topic_client .tx_writer (tx , topic_path )
60
+ await tx_writer .write (ydb .TopicWriterMessage (data = "123" .encode ()))
60
61
61
- # await tx.rollback()
62
+ await tx .rollback ()
62
63
63
- # await pool.retry_tx_async(callee)
64
+ await pool .retry_tx_async (callee )
64
65
65
- # with pytest.raises(asyncio.TimeoutError):
66
- # await wait_for(topic_reader.receive_message(), 0.1)
66
+ with pytest .raises (asyncio .TimeoutError ):
67
+ await wait_for (topic_reader .receive_message (), 0.1 )
67
68
68
- # async def test_no_msg_written_in_error_case(
69
- # self, driver: ydb.aio.Driver, topic_path, topic_reader: ydb.TopicReaderAsyncIO
70
- # ):
71
- # async with ydb.aio.QuerySessionPool(driver) as pool:
69
+ async def test_no_msg_written_in_error_case (
70
+ self , driver : ydb .aio .Driver , topic_path , topic_reader : ydb .TopicReaderAsyncIO
71
+ ):
72
+ async with ydb .aio .QuerySessionPool (driver ) as pool :
72
73
73
- # async def callee(tx: ydb.aio.QueryTxContext):
74
- # tx_writer = driver.topic_client.tx_writer(tx, topic_path)
75
- # await tx_writer.write(ydb.TopicWriterMessage(data="123".encode()))
74
+ async def callee (tx : ydb .aio .QueryTxContext ):
75
+ tx_writer = driver .topic_client .tx_writer (tx , topic_path )
76
+ await tx_writer .write (ydb .TopicWriterMessage (data = "123" .encode ()))
76
77
77
- # raise BaseException("error")
78
+ raise BaseException ("error" )
78
79
79
- # with pytest.raises(BaseException):
80
- # await pool.retry_tx_async(callee)
80
+ with pytest .raises (BaseException ):
81
+ await pool .retry_tx_async (callee )
81
82
82
- # with pytest.raises(asyncio.TimeoutError):
83
- # await wait_for(topic_reader.receive_message(), 0.1)
83
+ with pytest .raises (asyncio .TimeoutError ):
84
+ await wait_for (topic_reader .receive_message (), 0.1 )
84
85
85
- # async def test_msg_written_exactly_once_with_retries(
86
- # self, driver: ydb.aio.Driver, topic_path, topic_reader: ydb.TopicReaderAsyncIO
87
- # ):
88
- # error_raised = False
89
- # async with ydb.aio.QuerySessionPool(driver) as pool:
86
+ async def test_msg_written_exactly_once_with_retries (
87
+ self , driver : ydb .aio .Driver , topic_path , topic_reader : ydb .TopicReaderAsyncIO
88
+ ):
89
+ error_raised = False
90
+ async with ydb .aio .QuerySessionPool (driver ) as pool :
90
91
91
- # async def callee(tx: ydb.aio.QueryTxContext):
92
- # nonlocal error_raised
93
- # tx_writer = driver.topic_client.tx_writer(tx, topic_path)
94
- # await tx_writer.write(ydb.TopicWriterMessage(data="123".encode()))
92
+ async def callee (tx : ydb .aio .QueryTxContext ):
93
+ nonlocal error_raised
94
+ tx_writer = driver .topic_client .tx_writer (tx , topic_path )
95
+ await tx_writer .write (ydb .TopicWriterMessage (data = "123" .encode ()))
95
96
96
- # if not error_raised:
97
- # error_raised = True
98
- # raise ydb.issues.Unavailable("some retriable error")
97
+ if not error_raised :
98
+ error_raised = True
99
+ raise ydb .issues .Unavailable ("some retriable error" )
99
100
100
- # await pool.retry_tx_async(callee)
101
+ await pool .retry_tx_async (callee )
101
102
102
- # msg = await wait_for(topic_reader.receive_message(), 0.1)
103
- # assert msg.data.decode() == "123"
103
+ msg = await wait_for (topic_reader .receive_message (), 0.1 )
104
+ assert msg .data .decode () == "123"
104
105
105
- # with pytest.raises(asyncio.TimeoutError):
106
- # await wait_for(topic_reader.receive_message(), 0.1)
106
+ with pytest .raises (asyncio .TimeoutError ):
107
+ await wait_for (topic_reader .receive_message (), 0.1 )
107
108
108
109
109
- # class TestTopicTransactionalWriterSync:
110
- # def test_commit(self, driver_sync: ydb.Driver, topic_path, topic_reader_sync: ydb.TopicReader):
111
- # with ydb.QuerySessionPool(driver_sync) as pool:
110
+ class TestTopicTransactionalWriterSync :
111
+ def test_commit (self , driver_sync : ydb .Driver , topic_path , topic_reader_sync : ydb .TopicReader ):
112
+ with ydb .QuerySessionPool (driver_sync ) as pool :
112
113
113
- # def callee(tx: ydb.QueryTxContext):
114
- # tx_writer = driver_sync.topic_client.tx_writer(tx, topic_path)
115
- # tx_writer.write(ydb.TopicWriterMessage(data="123".encode()))
114
+ def callee (tx : ydb .QueryTxContext ):
115
+ tx_writer = driver_sync .topic_client .tx_writer (tx , topic_path )
116
+ tx_writer .write (ydb .TopicWriterMessage (data = "123" .encode ()))
116
117
117
- # pool.retry_tx_sync(callee)
118
+ pool .retry_tx_sync (callee )
118
119
119
- # msg = topic_reader_sync.receive_message(timeout=0.1)
120
- # assert msg.data.decode() == "123"
120
+ msg = topic_reader_sync .receive_message (timeout = 0.1 )
121
+ assert msg .data .decode () == "123"
121
122
122
- # def test_rollback(self, driver_sync: ydb.aio.Driver, topic_path, topic_reader_sync: ydb.TopicReader):
123
- # with ydb.QuerySessionPool(driver_sync) as pool:
123
+ def test_rollback (self , driver_sync : ydb .aio .Driver , topic_path , topic_reader_sync : ydb .TopicReader ):
124
+ with ydb .QuerySessionPool (driver_sync ) as pool :
124
125
125
- # def callee(tx: ydb.QueryTxContext):
126
- # tx_writer = driver_sync.topic_client.tx_writer(tx, topic_path)
127
- # tx_writer.write(ydb.TopicWriterMessage(data="123".encode()))
126
+ def callee (tx : ydb .QueryTxContext ):
127
+ tx_writer = driver_sync .topic_client .tx_writer (tx , topic_path )
128
+ tx_writer .write (ydb .TopicWriterMessage (data = "123" .encode ()))
128
129
129
- # tx.rollback()
130
+ tx .rollback ()
130
131
131
- # pool.retry_tx_sync(callee)
132
+ pool .retry_tx_sync (callee )
132
133
133
- # with pytest.raises(TimeoutError):
134
- # topic_reader_sync.receive_message(timeout=0.1)
134
+ with pytest .raises (TimeoutError ):
135
+ topic_reader_sync .receive_message (timeout = 0.1 )
135
136
136
- # def test_no_msg_written_in_error_case(
137
- # self, driver_sync: ydb.Driver, topic_path, topic_reader_sync: ydb.TopicReaderAsyncIO
138
- # ):
139
- # with ydb.QuerySessionPool(driver_sync) as pool:
137
+ def test_no_msg_written_in_error_case (
138
+ self , driver_sync : ydb .Driver , topic_path , topic_reader_sync : ydb .TopicReaderAsyncIO
139
+ ):
140
+ with ydb .QuerySessionPool (driver_sync ) as pool :
140
141
141
- # def callee(tx: ydb.QueryTxContext):
142
- # tx_writer = driver_sync.topic_client.tx_writer(tx, topic_path)
143
- # tx_writer.write(ydb.TopicWriterMessage(data="123".encode()))
142
+ def callee (tx : ydb .QueryTxContext ):
143
+ tx_writer = driver_sync .topic_client .tx_writer (tx , topic_path )
144
+ tx_writer .write (ydb .TopicWriterMessage (data = "123" .encode ()))
144
145
145
- # raise BaseException("error")
146
+ raise BaseException ("error" )
146
147
147
- # with pytest.raises(BaseException):
148
- # pool.retry_tx_sync(callee)
148
+ with pytest .raises (BaseException ):
149
+ pool .retry_tx_sync (callee )
149
150
150
- # with pytest.raises(TimeoutError):
151
- # topic_reader_sync.receive_message(timeout=0.1)
151
+ with pytest .raises (TimeoutError ):
152
+ topic_reader_sync .receive_message (timeout = 0.1 )
0 commit comments