git.delta.rocks / unique-network / refs/commits / 23899b624a22

difftreelog

retry maintanence mode and fix tests

Max Andreev2023-06-12parent: #e56969b.patch.diff
in: master

2 files changed

modifiedtests/src/migrations/942057-appPromotion/afterMaintenance.test.tsdiffbeforeafterboth
56 '0x046170707374616b656170707374616b65000020c65abc8ed70a00000000000000'],56 '0x046170707374616b656170707374616b65000020c65abc8ed70a00000000000000'],
57 ])]);57 ])]);
5858
59 // const pendingUnstaked = await helper.staking.getPendingUnstakePerBlock()
59 expect((await api.query.appPromotion.pendingUnstake(1)).toJSON()).to.be.deep.equal([['5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY', '0x00000000000000056bc75e2d63100000']]);60 expect((await api.query.appPromotion.pendingUnstake(1)).toJSON()).to.be.deep.equal([[helper.address.normalizeSubstrateToChainFormat('5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY'), '0x00000000000000056bc75e2d63100000']]);
60 expect((await api.query.appPromotion.pendingUnstake(2)).toJSON()).to.be.deep.equal([['5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY', '0x00000000000000056bc75e2d63100000']]);61 expect((await api.query.appPromotion.pendingUnstake(2)).toJSON()).to.be.deep.equal([[helper.address.normalizeSubstrateToChainFormat('5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY'), '0x00000000000000056bc75e2d63100000']]);
61 await testedScript();62 await testedScript();
6263
63 expect((await api.query.appPromotion.pendingUnstake(1)).toJSON()).to.be.deep.equal([]);64 expect((await api.query.appPromotion.pendingUnstake(1)).toJSON()).to.be.deep.equal([]);
modifiedtests/src/util/frankenstein.tsdiffbeforeafterboth
--- a/tests/src/util/frankenstein.ts
+++ b/tests/src/util/frankenstein.ts
@@ -85,17 +85,24 @@
 }
 
 // Enable or disable maintenance mode if present on the chain
-async function toggleMaintenanceMode(value: boolean, wsUri: string) {
-  await usingPlaygrounds(async (helper, privateKey) => {
-    const superuser = await privateKey(SUPERUSER_KEY);
-    try {
-      const toggle = value ? 'enable' : 'disable';
-      await helper.getSudo().executeExtrinsic(superuser, `api.tx.maintenance.${toggle}`, []);
-      console.log(`Maintenance mode ${value ? 'engaged' : 'disengaged'}.`);
-    } catch (e) {
-      console.error('Couldn\'t set maintenance mode. The maintenance pallet probably does not exist. Log:', e);
-    }
-  }, wsUri);
+async function toggleMaintenanceMode(value: boolean, wsUri: string, retries = 5) {
+  try {
+    await usingPlaygrounds(async (helper, privateKey) => {
+      const superuser = await privateKey(SUPERUSER_KEY);
+      try {
+        const toggle = value ? 'enable' : 'disable';
+        await helper.getSudo().executeExtrinsic(superuser, `api.tx.maintenance.${toggle}`, []);
+        console.log(`Maintenance mode ${value ? 'engaged' : 'disengaged'}.`);
+      } catch (e) {
+        console.error('Couldn\'t set maintenance mode. The maintenance pallet probably does not exist. Log:', e);
+      }
+    }, wsUri);
+  } catch (error) {
+    console.error(error);
+    console.log('Trying for retry toggle maintanence mode');
+    await delay(12_000);
+    await toggleMaintenanceMode(value, wsUri, retries - 1);
+  }
 }
 
 const raiseZombienet = async (): Promise<void> => {