14
14
from cardano_node_tests .utils import cluster_nodes
15
15
from cardano_node_tests .utils import configuration
16
16
from cardano_node_tests .utils import dbsync_service_manager as db_sync
17
+ from cardano_node_tests .utils import dbsync_queries
17
18
from cardano_node_tests .utils import dbsync_utils
18
19
from cardano_node_tests .utils import helpers
19
20
@@ -143,7 +144,6 @@ def basic_tx_out(
143
144
"""Test `tx_out` option."""
144
145
db_config = db_sync_manager .get_config_builder ()
145
146
146
- # Test tx_out : enable
147
147
db_sync_manager .restart_with_config (
148
148
custom_config = db_config .with_tx_out (
149
149
value = db_sync .TxOutMode .ENABLE , force_tx_in = False , use_address_table = False
@@ -158,7 +158,6 @@ def basic_tx_out(
158
158
}
159
159
)
160
160
161
- # Test tx_out : disable
162
161
db_sync_manager .restart_with_config (
163
162
custom_config = db_config .with_tx_out (
164
163
value = db_sync .TxOutMode .DISABLE , force_tx_in = True , use_address_table = True
@@ -177,6 +176,83 @@ def basic_tx_out(
177
176
178
177
yield basic_tx_out
179
178
179
+ def governance (
180
+ db_sync_manager : db_sync .DBSyncManager ,
181
+ ):
182
+ """Test `governance` option."""
183
+ db_config = db_sync_manager .get_config_builder ()
184
+
185
+ db_sync_manager .restart_with_config (
186
+ custom_config = db_config .with_governance (
187
+ value = db_sync .SettingState .ENABLE
188
+ )
189
+ )
190
+ # Off-chain vote data is inserted into the database a few minutes after the restart of db-sync
191
+ def _query_func ():
192
+ off_chain_vote_data = next (
193
+ iter (dbsync_queries .query_off_chain_vote_data ()), None
194
+ )
195
+ if off_chain_vote_data is None :
196
+ msg = f"no any off-chain vota data record found id db-sync database"
197
+ raise dbsync_utils .DbSyncNoResponseError (msg )
198
+ return off_chain_vote_data
199
+ dbsync_utils .retry_query (query_func = _query_func , timeout = 360 )
200
+
201
+ check_dbsync_state (
202
+ expected_state = {
203
+ db_sync .Table .COMMITTEE_DE_REGISTRATION : TableCondition .NOT_EMPTY ,
204
+ db_sync .Table .COMMITTEE_MEMBER : TableCondition .NOT_EMPTY ,
205
+ db_sync .Table .COMMITTEE_REGISTRATION : TableCondition .NOT_EMPTY ,
206
+ db_sync .Table .COMMITTEE : TableCondition .NOT_EMPTY ,
207
+ db_sync .Table .CONSTITUTION : TableCondition .NOT_EMPTY ,
208
+ db_sync .Table .DELEGATION_VOTE : TableCondition .NOT_EMPTY ,
209
+ db_sync .Table .DREP_DISTR : TableCondition .NOT_EMPTY ,
210
+ db_sync .Table .DREP_REGISTRATION : TableCondition .NOT_EMPTY ,
211
+ db_sync .Table .EPOCH_STATE : TableCondition .NOT_EMPTY ,
212
+ db_sync .Table .GOV_ACTION_PROPOSAL : TableCondition .NOT_EMPTY ,
213
+ db_sync .Table .OFF_CHAIN_VOTE_DATA : TableCondition .NOT_EMPTY ,
214
+ db_sync .Table .OFF_CHAIN_VOTE_DREP_DATA : TableCondition .NOT_EMPTY ,
215
+ db_sync .Table .OFF_CHAIN_VOTE_EXTERNAL_UPDATE : TableCondition .NOT_EMPTY ,
216
+ db_sync .Table .OFF_CHAIN_VOTE_FETCH_ERROR : TableCondition .NOT_EMPTY ,
217
+ db_sync .Table .OFF_CHAIN_VOTE_GOV_ACTION_DATA : TableCondition .NOT_EMPTY ,
218
+ db_sync .Table .OFF_CHAIN_VOTE_REFERENCE : TableCondition .NOT_EMPTY ,
219
+ db_sync .Table .VOTING_ANCHOR : TableCondition .NOT_EMPTY ,
220
+ db_sync .Table .VOTING_PROCEDURE : TableCondition .NOT_EMPTY ,
221
+ db_sync .Table .TREASURY_WITHDRAWAL : TableCondition .NOT_EMPTY ,
222
+ }
223
+ )
224
+
225
+ db_sync_manager .restart_with_config (
226
+ custom_config = db_config .with_governance (
227
+ value = db_sync .SettingState .DISABLE
228
+ )
229
+ )
230
+ check_dbsync_state (
231
+ expected_state = {
232
+ db_sync .Table .COMMITTEE_DE_REGISTRATION : TableCondition .EMPTY ,
233
+ db_sync .Table .COMMITTEE_MEMBER : TableCondition .EMPTY ,
234
+ db_sync .Table .COMMITTEE_REGISTRATION : TableCondition .EMPTY ,
235
+ db_sync .Table .COMMITTEE : TableCondition .EMPTY ,
236
+ db_sync .Table .CONSTITUTION : TableCondition .EMPTY ,
237
+ db_sync .Table .DELEGATION_VOTE : TableCondition .EMPTY ,
238
+ db_sync .Table .DREP_DISTR : TableCondition .EMPTY ,
239
+ db_sync .Table .DREP_REGISTRATION : TableCondition .EMPTY ,
240
+ db_sync .Table .EPOCH_STATE : TableCondition .EMPTY ,
241
+ db_sync .Table .GOV_ACTION_PROPOSAL : TableCondition .EMPTY ,
242
+ db_sync .Table .OFF_CHAIN_VOTE_DATA : TableCondition .EMPTY ,
243
+ db_sync .Table .OFF_CHAIN_VOTE_DREP_DATA : TableCondition .EMPTY ,
244
+ db_sync .Table .OFF_CHAIN_VOTE_EXTERNAL_UPDATE : TableCondition .EMPTY ,
245
+ db_sync .Table .OFF_CHAIN_VOTE_FETCH_ERROR : TableCondition .EMPTY ,
246
+ db_sync .Table .OFF_CHAIN_VOTE_GOV_ACTION_DATA : TableCondition .EMPTY ,
247
+ db_sync .Table .OFF_CHAIN_VOTE_REFERENCE : TableCondition .EMPTY ,
248
+ db_sync .Table .VOTING_ANCHOR : TableCondition .EMPTY ,
249
+ db_sync .Table .VOTING_PROCEDURE : TableCondition .EMPTY ,
250
+ db_sync .Table .TREASURY_WITHDRAWAL : TableCondition .EMPTY ,
251
+ }
252
+ )
253
+
254
+ yield governance
255
+
180
256
def tx_cbor_value_enable (
181
257
db_sync_manager : db_sync .DBSyncManager ,
182
258
):
0 commit comments