Skip to content

Commit

Permalink
change spinUp
Browse files Browse the repository at this point in the history
  • Loading branch information
Ad96el committed Jan 30, 2025
1 parent f145049 commit 8d1aa8c
Show file tree
Hide file tree
Showing 31 changed files with 318 additions and 457 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -106,17 +106,19 @@ export const testCases: TestConfiguration[] = [
parachains: [mainChains.kilt.getConfig({}), mainChains.assetHub.getConfig({})],
},
storage: {
senderStorage: mainChains.kilt.storage.assignNativeTokensToAccounts(
[keysAlice.address],
initialBalanceKILT
),
receiverStorage: {
// Assign some coins to create the account.
...mainChains.assetHub.storage.assignNativeTokensToAccountsAsStorage([keysAlice.address]),
// Create the eKilts.
...mainChains.assetHub.storage.createForeignAsset(keysBob.address),
},
relayStorage: {},
parachains: [
// sender
mainChains.kilt.storage.assignNativeTokensToAccounts([keysAlice.address], initialBalanceKILT),
// receiver
{
// Assign some coins to create the account.
...mainChains.assetHub.storage.assignNativeTokensToAccountsAsStorage([keysAlice.address]),
// Create the eKilts.
...mainChains.assetHub.storage.createForeignAsset(keysBob.address),
},
],

relay: {},
},
},
account: keysAlice,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,8 @@ import { createBlock } from '../../../network/utils.js'
import { calculateTxFees, getPaidXcmFees, hexAddress } from '../../../helper/utils.js'
import { testCases } from './config.js'
import { Config } from '../../../network/types.js'
import { shutDownNetwork } from '../../../network/utils.js'
import { checkSwitchPalletInvariant } from '../index.js'
import { spinUpNetwork } from '../../utls.js'
import { spinUpNetwork, tearDownNetwork } from '../../utils.js'

describe.each(testCases)(
'Switch KILTs full flow',
Expand All @@ -31,13 +30,7 @@ describe.each(testCases)(

// Shut down the network
afterEach(async () => {
try {
await shutDownNetwork([nativeContext, foreignContext, relayContext])
} catch (error) {
if (!(error instanceof TypeError)) {
console.error(error)
}
}
await tearDownNetwork([nativeContext, foreignContext, relayContext])
})

it(desc, async ({ expect }) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,19 @@ export const testCases: TestConfiguration[] = [
parachains: [mainChains.kilt.getConfig({})],
},
storage: {
receiverStorage: {},
senderStorage: {
...mainChains.kilt.storage.assignNativeTokensToAccounts([keysAlice.address], initialBalanceKILT),
...mainChains.kilt.storage.assignRelayTokensToAccounts([keysAlice.address], initialBalanceDOT),
},
relayStorage: {},
relay: {},
parachains: [
// sender
{
...mainChains.kilt.storage.assignNativeTokensToAccounts(
[keysAlice.address],
initialBalanceKILT
),
...mainChains.kilt.storage.assignRelayTokensToAccounts([keysAlice.address], initialBalanceDOT),
},
// receiver
{},
],
},
},
account: { sender: keysAlice, receiver: keysBob },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,51 +2,37 @@ import { describe, beforeEach, it, afterEach } from 'vitest'
import { sendTransaction, withExpect } from '@acala-network/chopsticks-testing'
import type { KeyringPair } from '@polkadot/keyring/types'

import { createBlock, setStorage } from '../../../../network/utils.js'
import { createBlock } from '../../../../network/utils.js'
import { calculateTxFees, hexAddress } from '../../../../helper/utils.js'
import { testCases } from './config.js'
import { Config } from '../../../../network/types.js'
import { setupNetwork, shutDownNetwork } from '../../../../network/utils.js'
import { spinUpNetwork, tearDownNetwork } from '../../../utils.js'

describe.each(testCases)('Dust account', async ({ account, query, txContext, config }) => {
let context: Config
let senderAccount: KeyringPair
let receiverAccount: KeyringPair

const { desc, network, storage } = config
const { desc } = config

// Create the network context
beforeEach(async () => {
const { parachains, relay } = network

const { parachainContexts } = await setupNetwork(relay, parachains)
const [senderChainContext] = parachainContexts
const { senderChainContext } = await spinUpNetwork(config)
context = senderChainContext

const { senderStorage } = storage
await setStorage(context, senderStorage)

senderAccount = account.sender
receiverAccount = account.receiver
})

// Shut down the network
afterEach(async () => {
try {
await shutDownNetwork([context])
} catch (error) {
if (!(error instanceof TypeError)) {
console.error(error)
}
}
await tearDownNetwork([context])
})

it(desc, async ({ expect }) => {
const { checkSystemEvents } = withExpect(expect)
const { balanceToTransfer, events, tx } = txContext

// check initial state

// Pre condition checks
const nativeBalance = await query.native(context, senderAccount.address)
const foreignBalance = await query.foreign(context, senderAccount.address)
const receiverNativeBalance = await query.native(context, receiverAccount.address)
Expand All @@ -55,6 +41,8 @@ describe.each(testCases)('Dust account', async ({ account, query, txContext, con
expect(foreignBalance).toBeGreaterThan(BigInt(0))
expect(receiverNativeBalance).toBe(BigInt(0))

// action

let rawTx = tx(context, hexAddress(receiverAccount.address), balanceToTransfer.toString())
const txFees = await calculateTxFees(rawTx, senderAccount)
rawTx = tx(context, hexAddress(receiverAccount.address), (balanceToTransfer - txFees).toString())
Expand All @@ -64,6 +52,8 @@ describe.each(testCases)('Dust account', async ({ account, query, txContext, con
// process tx
await createBlock(context)

// post condition checks

// check balance movement
const nativeBalanceAfter = await query.native(context, senderAccount.address)
const foreignBalanceAfter = await query.foreign(context, senderAccount.address)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,13 @@ export const testCases: TestConfiguration[] = [
parachains: [mainChains.assetHub.getConfig({}), mainChains.kilt.getConfig({})],
},
storage: {
senderStorage: mainChains.assetHub.storage.assignNativeTokensToAccountsAsStorage([keysAlice.address]),
receiverStorage: mainChains.kilt.storage.assignNativeTokensToAccounts(
[keysAlice.address],
initialBalanceKILT
),
relayStorage: {},
parachains: [
// sender
mainChains.assetHub.storage.assignNativeTokensToAccountsAsStorage([keysAlice.address]),
// receiver
mainChains.kilt.storage.assignNativeTokensToAccounts([keysAlice.address], initialBalanceKILT),
],
relay: {},
},
setUpTx: [[tx.switchPallet.pause(), 'receiver']],
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ import { describe, beforeEach, test, afterEach } from 'vitest'
import { sendTransaction, withExpect } from '@acala-network/chopsticks-testing'
import type { KeyringPair } from '@polkadot/keyring/types'

import { createBlock, scheduleTx, setStorage } from '../../../../network/utils.js'
import { createBlock } from '../../../../network/utils.js'
import { calculateTxFees, getPaidXcmFees, hexAddress } from '../../../../helper/utils.js'
import { testCases } from './config.js'
import { Config } from '../../../../network/types.js'
import { setupNetwork, shutDownNetwork } from '../../../../network/utils.js'
import { isSwitchPaused } from '../../index.js'
import { spinUpNetwork, tearDownNetwork } from '../../../utils.js'

describe.each(testCases)(
'Send Relay token while switch paused',
Expand All @@ -17,48 +17,20 @@ describe.each(testCases)(
let receiverContext: Config
let relayContext: Config
let senderAccount: KeyringPair
const { desc, network, storage, setUpTx } = config
const { desc } = config

// Create the network context
beforeEach(async () => {
const { parachains, relay } = network

const { parachainContexts, relayChainContext } = await setupNetwork(relay, parachains)
const [senderChainContext, receiverChainContext] = parachainContexts

relayContext = relayChainContext
const { receiverChainContext, relayChainContext, senderChainContext } = await spinUpNetwork(config)
senderContext = senderChainContext
receiverContext = receiverChainContext

const { receiverStorage, senderStorage, relayStorage } = storage
await setStorage(senderContext, senderStorage)
await setStorage(receiverContext, receiverStorage)
await setStorage(relayContext, relayStorage)

relayContext = relayChainContext
senderAccount = account

if (setUpTx) {
await Promise.all(
setUpTx.map(async ([tx, chain]) => {
if (chain === 'receiver') {
const rawTx = tx(receiverContext)
await scheduleTx(receiverContext, rawTx)
await createBlock(receiverContext)
}
})
)
}
})

// Shut down the network
afterEach(async () => {
try {
await shutDownNetwork([receiverContext, senderContext, relayContext])
} catch (error) {
if (!(error instanceof TypeError)) {
console.error(error)
}
}
await tearDownNetwork([receiverContext, senderContext, relayContext])
})

test(desc, async ({ expect }) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,14 +48,19 @@ export const testCases: TestConfiguration[] = [
parachains: [mainChains.assetHub.getConfig({}), mainChains.kilt.getConfig({})],
},
storage: {
senderStorage: {
...mainChains.assetHub.storage.assignNativeTokensToAccountsAsStorage([keysAlice.address]),
...mainChains.assetHub.storage.assignForeignAssetToAccounts([
[keysAlice.address, initialBalanceKILT],
]),
},
receiverStorage: {},
relayStorage: {},
parachains: [
// sender
{
...mainChains.assetHub.storage.assignNativeTokensToAccountsAsStorage([keysAlice.address]),
...mainChains.assetHub.storage.assignForeignAssetToAccounts([
[keysAlice.address, initialBalanceKILT],
]),
},

// receiver
{},
],
relay: {},
},
setUpTx: [[tx.switchPallet.pause(), 'receiver']],
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ import { describe, beforeEach, it, afterEach } from 'vitest'
import { sendTransaction, withExpect } from '@acala-network/chopsticks-testing'
import type { KeyringPair } from '@polkadot/keyring/types'

import { createBlock, scheduleTx, setStorage } from '../../../../network/utils.js'
import { createBlock } from '../../../../network/utils.js'
import { hexAddress } from '../../../../helper/utils.js'
import { testCases } from './config.js'
import { Config } from '../../../../network/types.js'
import { setupNetwork, shutDownNetwork } from '../../../../network/utils.js'
import { checkSwitchPalletInvariant, isSwitchPaused } from '../../index.js'
import { spinUpNetwork, tearDownNetwork } from '../../../utils.js'

describe.each(testCases)(
'Switch eKILTs while paused',
Expand All @@ -17,48 +17,21 @@ describe.each(testCases)(
let receiverContext: Config
let relayContext: Config
let senderAccount: KeyringPair
const { desc, network, storage, setUpTx } = config
const { desc } = config

// Create the network context
beforeEach(async () => {
const { parachains, relay } = network

const { parachainContexts, relayChainContext } = await setupNetwork(relay, parachains)
const [senderChainContext, receiverChainContext] = parachainContexts
const { receiverChainContext, relayChainContext, senderChainContext } = await spinUpNetwork(config)

relayContext = relayChainContext
senderContext = senderChainContext
receiverContext = receiverChainContext

const { receiverStorage, senderStorage, relayStorage } = storage
await setStorage(senderContext, senderStorage)
await setStorage(receiverContext, receiverStorage)
await setStorage(relayContext, relayStorage)

senderAccount = account

if (setUpTx) {
await Promise.all(
setUpTx.map(async ([tx, chain]) => {
if (chain === 'receiver') {
const rawTx = tx(receiverContext)
await scheduleTx(receiverContext, rawTx)
await createBlock(receiverContext)
}
})
)
}
})

// Shut down the network
afterEach(async () => {
try {
await shutDownNetwork([receiverContext, senderContext, relayContext])
} catch (error) {
if (!(error instanceof TypeError)) {
console.error(error)
}
}
await tearDownNetwork([receiverContext, senderContext, relayContext])
})

it(desc, async ({ expect }) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,19 @@ export const testCases: TestConfiguration[] = [
parachains: [mainChains.kilt.getConfig({}), mainChains.assetHub.getConfig({})],
},
storage: {
senderStorage: {
...mainChains.kilt.storage.assignNativeTokensToAccounts([keysAlice.address], initialBalanceKILT),
...mainChains.kilt.storage.pauseSwitch(),
},
receiverStorage: {},
relayStorage: {},
parachains: [
// Sender
{
...mainChains.kilt.storage.assignNativeTokensToAccounts(
[keysAlice.address],
initialBalanceKILT
),
...mainChains.kilt.storage.pauseSwitch(),
},
// receiver
{},
],
relay: {},
},
},
account: keysAlice,
Expand Down
Loading

0 comments on commit 8d1aa8c

Please sign in to comment.