Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cleanup env #3996

Merged
merged 6 commits into from
Dec 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/monitoring-e2e-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
steps:
- id: set-matrix
run: |
echo "matrix={\"include\":[{ \"base-url\":\"https://app.osmosis.zone\", \"server-url\":\"https://sqs.osmosis.zone\", \"env\": \"production\", \"timeseries-url\":\"https://stage-proxy-data-api.osmosis-labs.workers.dev\"}, { \"base-url\":\"https://stage.osmosis.zone\", \"server-url\":\"https://sqs.stage.osmosis.zone\", \"env\": \"staging\", \"timeseries-url\":\"https://stage-proxy-data-api.osmosis-labs.workers.dev\"}]}" >> "$GITHUB_OUTPUT"
echo "matrix={\"include\":[{ \"base-url\":\"https://app.osmosis.zone\", \"server-url\":\"https://sqs.osmosis.zone\", \"env\": \"production\", \"timeseries-url\":\"https://data.app.osmosis.zone\"}, { \"base-url\":\"https://stage.osmosis.zone\", \"server-url\":\"https://sqs.stage.osmosis.zone\", \"env\": \"staging\", \"timeseries-url\":\"https://data.app.osmosis.zone\"}]}" >> "$GITHUB_OUTPUT"

server-e2e-tests:
name: ${{ matrix.env }}-server-tests
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/server-e2e-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ jobs:
MAIN_BRANCH: "refs/heads/master"
run: |
if [[ "${{ github.ref }}" == "${{ env.MAIN_BRANCH }}" ]]; then
echo "matrix={\"include\":[{ \"server-url\":\"https://sqs.osmosis.zone\", \"env\": \"production\", \"timeseries-url\":\"https://stage-proxy-data-api.osmosis-labs.workers.dev\"}]}" >> "$GITHUB_OUTPUT"
echo "matrix={\"include\":[{ \"server-url\":\"https://sqs.osmosis.zone\", \"env\": \"production\", \"timeseries-url\":\"https://data.app.osmosis.zone\"}]}" >> "$GITHUB_OUTPUT"
else
echo "matrix={\"include\":[{ \"server-url\":\"https://sqs.osmosis.zone\", \"env\": \"production\", \"timeseries-url\":\"https://stage-proxy-data-api.osmosis-labs.workers.dev\"}, { \"server-url\":\"https://sqs.stage.osmosis.zone\", \"env\": \"staging\", \"timeseries-url\":\"https://stage-proxy-data-api.osmosis-labs.workers.dev\"}]}" >> "$GITHUB_OUTPUT"
echo "matrix={\"include\":[{ \"server-url\":\"https://sqs.osmosis.zone\", \"env\": \"production\", \"timeseries-url\":\"https://data.app.osmosis.zone\"}, { \"server-url\":\"https://sqs.stage.osmosis.zone\", \"env\": \"staging\", \"timeseries-url\":\"https://data.app.osmosis.zone\"}]}" >> "$GITHUB_OUTPUT"
fi

test:
Expand Down
146 changes: 72 additions & 74 deletions packages/e2e/tests/monitoring.limit.wallet.spec.ts
Original file line number Diff line number Diff line change
@@ -1,99 +1,97 @@
import { type BrowserContext, chromium, expect, test } from "@playwright/test";
import { type BrowserContext, chromium, expect, test } from '@playwright/test'
import { TestConfig } from '../test-config'
import { UnzipExtension } from '../unzip-extension'

import { TransactionsPage } from "../pages/transactions-page";
import { TestConfig } from "../test-config";
import { UnzipExtension } from "../unzip-extension";
import { WalletPage } from '../pages/keplr-page'
import { TradePage } from '../pages/trade-page'

import { WalletPage } from "../pages/keplr-page";
import { TradePage } from "../pages/trade-page";

test.describe("Test Filled Limit Order feature", () => {
let context: BrowserContext;
const privateKey = process.env.PRIVATE_KEY ?? "private_key";
let tradePage: TradePage;
test.describe('Test Filled Limit Order feature', () => {
let context: BrowserContext
const privateKey = process.env.PRIVATE_KEY ?? 'private_key'
let tradePage: TradePage

test.beforeAll(async () => {
const pathToExtension = new UnzipExtension().getPathToExtension();
console.log("\nSetup Wallet Extension before tests.");
const pathToExtension = new UnzipExtension().getPathToExtension()
console.log('\nSetup Wallet Extension before tests.')
// Launch Chrome with a Keplr wallet extension
context = await chromium.launchPersistentContext(
"",
new TestConfig().getBrowserExtensionConfig(false, pathToExtension)
);
'',
new TestConfig().getBrowserExtensionConfig(false, pathToExtension),
)
// Get all new pages (including Extension) in the context and wait
const emptyPage = context.pages()[0];
await emptyPage.waitForTimeout(2000);
const page = context.pages()[1];
const walletPage = new WalletPage(page);
const emptyPage = context.pages()[0]
await emptyPage.waitForTimeout(2000)
const page = context.pages()[1]
const walletPage = new WalletPage(page)
// Import existing Wallet (could be aggregated in one function).
await walletPage.importWalletWithPrivateKey(privateKey);
await walletPage.setWalletNameAndPassword("Monitoring E2E Tests");
await walletPage.selectChainsAndSave();
await walletPage.finish();
await walletPage.importWalletWithPrivateKey(privateKey)
await walletPage.setWalletNameAndPassword('Monitoring E2E Tests')
await walletPage.selectChainsAndSave()
await walletPage.finish()
// Switch to Application
tradePage = new TradePage(context.pages()[0]);
await tradePage.goto();
await tradePage.connectWallet();
expect(await tradePage.isError(), "Swap is not available!").toBeFalsy();
});
tradePage = new TradePage(context.pages()[0])
await tradePage.goto()
await tradePage.connectWallet()
expect(await tradePage.isError(), 'Swap is not available!').toBeFalsy()
})

test.afterAll(async () => {
await context.close();
});
await context.close()
})

// biome-ignore lint/correctness/noEmptyPattern: <explanation>
test.afterEach(async ({}, testInfo) => {
console.log(`Test [${testInfo.title}] status: ${testInfo.status}`);
if (testInfo.status === "failed") {
const name = testInfo.title;
process.env.GITHUB_STEP_SUMMARY = `Test ${name} failed.`;
console.log(`Test [${testInfo.title}] status: ${testInfo.status}`)
if (testInfo.status === 'failed') {
const name = testInfo.title
process.env.GITHUB_STEP_SUMMARY = `Test ${name} failed.`
}
});
})

test("User should be able to limit sell OSMO", async () => {
await tradePage.goto();
await tradePage.openSellTab();
await tradePage.openLimit();
await tradePage.selectAsset("OSMO");
await tradePage.enterAmount("1.08");
await tradePage.setLimitPriceChange("Market");
test('User should be able to limit sell OSMO', async () => {
await tradePage.goto()
await tradePage.openSellTab()
await tradePage.openLimit()
await tradePage.selectAsset('OSMO')
await tradePage.enterAmount('1.08')
await tradePage.setLimitPriceChange('Market')
const { msgContentAmount } = await tradePage.sellAndGetWalletMsg(
context,
true
);
expect(msgContentAmount, "No msg from the wallet!").toBeTruthy();
true,
)
expect(msgContentAmount, 'No msg from the wallet!').toBeTruthy()
// now this is converted from USDC
expect(msgContentAmount).toContain("place_limit");
expect(msgContentAmount).toContain('"order_direction": "ask"');
await tradePage.isTransactionSuccesful();
await tradePage.getTransactionUrl();
});
expect(msgContentAmount).toContain('place_limit')
expect(msgContentAmount).toContain('"order_direction": "ask"')
await tradePage.isTransactionSuccesful()
await tradePage.getTransactionUrl()
})

test("User should be able to limit buy OSMO", async () => {
const PRICE_INCREASE_FACTOR = 1.07; // 7% increase for limit price
const ORDER_HISTORY_TIMEOUT = 30; // Seconds to wait for order history
await tradePage.goto();
await tradePage.openBuyTab();
await tradePage.openLimit();
await tradePage.selectAsset("OSMO");
await tradePage.enterAmount("1.04");
await tradePage.setLimitPriceChange("Market");
const limitPrice = Number(await tradePage.getLimitPrice());
const highLimitPrice = (limitPrice * PRICE_INCREASE_FACTOR).toFixed(4);
await tradePage.setLimitPrice(String(highLimitPrice));
test('User should be able to limit buy OSMO', async () => {
const PRICE_INCREASE_FACTOR = 1.07 // 7% increase for limit price
const ORDER_HISTORY_TIMEOUT = 30 // Seconds to wait for order history
await tradePage.goto()
await tradePage.openBuyTab()
await tradePage.openLimit()
await tradePage.selectAsset('OSMO')
await tradePage.enterAmount('1.04')
await tradePage.setLimitPriceChange('Market')
const limitPrice = Number(await tradePage.getLimitPrice())
const highLimitPrice = (limitPrice * PRICE_INCREASE_FACTOR).toFixed(4)
await tradePage.setLimitPrice(String(highLimitPrice))
const { msgContentAmount } = await tradePage.buyAndGetWalletMsg(
context,
true
);
expect(msgContentAmount, "No msg from the wallet!").toBeTruthy();
expect(msgContentAmount).toContain('"quantity": "1040000"');
expect(msgContentAmount).toContain("place_limit");
expect(msgContentAmount).toContain('"order_direction": "bid"');
await tradePage.isTransactionSuccesful();
await tradePage.getTransactionUrl();
await tradePage.gotoOrdersHistory(ORDER_HISTORY_TIMEOUT);
true,
)
expect(msgContentAmount, 'No msg from the wallet!').toBeTruthy()
expect(msgContentAmount).toContain('"quantity": "1040000"')
expect(msgContentAmount).toContain('place_limit')
expect(msgContentAmount).toContain('"order_direction": "bid"')
await tradePage.isTransactionSuccesful()
await tradePage.getTransactionUrl()
await tradePage.gotoOrdersHistory(ORDER_HISTORY_TIMEOUT)
//const p = context.pages()[0]
//const trxPage = new TransactionsPage(p)
//await trxPage.isFilledByLimitPrice(highLimitPrice)
});
});
})
})
154 changes: 77 additions & 77 deletions packages/e2e/tests/monitoring.market.wallet.spec.ts
Original file line number Diff line number Diff line change
@@ -1,99 +1,99 @@
import { type BrowserContext, chromium, expect, test } from "@playwright/test";
import { type BrowserContext, chromium, expect, test } from '@playwright/test'

import { TestConfig } from "../test-config";
import { UnzipExtension } from "../unzip-extension";
import { TestConfig } from '../test-config'
import { UnzipExtension } from '../unzip-extension'

import { WalletPage } from "../pages/keplr-page";
import { TradePage } from "../pages/trade-page";
import { WalletPage } from '../pages/keplr-page'
import { TradePage } from '../pages/trade-page'

test.describe("Test Market Buy/Sell Order feature", () => {
let context: BrowserContext;
const privateKey = process.env.PRIVATE_KEY ?? "private_key";
let tradePage: TradePage;
const TRX_SUCCESS_TIMEOUT = 10000;
test.describe('Test Market Buy/Sell Order feature', () => {
let context: BrowserContext
const privateKey = process.env.PRIVATE_KEY ?? 'private_key'
let tradePage: TradePage
const TRX_SUCCESS_TIMEOUT = 10000

test.beforeAll(async () => {
const pathToExtension = new UnzipExtension().getPathToExtension();
console.log("\nSetup Wallet Extension before tests.");
const pathToExtension = new UnzipExtension().getPathToExtension()
console.log('\nSetup Wallet Extension before tests.')
// Launch Chrome with a Keplr wallet extension
context = await chromium.launchPersistentContext(
"",
new TestConfig().getBrowserExtensionConfig(false, pathToExtension)
);
'',
new TestConfig().getBrowserExtensionConfig(false, pathToExtension),
)
// Get all new pages (including Extension) in the context and wait
const emptyPage = context.pages()[0];
await emptyPage.waitForTimeout(2000);
const page = context.pages()[1];
const walletPage = new WalletPage(page);
const emptyPage = context.pages()[0]
await emptyPage.waitForTimeout(2000)
const page = context.pages()[1]
const walletPage = new WalletPage(page)
// Import existing Wallet (could be aggregated in one function).
await walletPage.importWalletWithPrivateKey(privateKey);
await walletPage.setWalletNameAndPassword("Monitoring E2E Tests");
await walletPage.selectChainsAndSave();
await walletPage.finish();
await walletPage.importWalletWithPrivateKey(privateKey)
await walletPage.setWalletNameAndPassword('Monitoring E2E Tests')
await walletPage.selectChainsAndSave()
await walletPage.finish()
// Switch to Application
tradePage = new TradePage(context.pages()[0]);
await tradePage.goto();
await tradePage.connectWallet();
expect(await tradePage.isError(), "Swap is not available!").toBeFalsy();
});
tradePage = new TradePage(context.pages()[0])
await tradePage.goto()
await tradePage.connectWallet()
expect(await tradePage.isError(), 'Swap is not available!').toBeFalsy()
})

test.afterAll(async () => {
await context.close();
});
await context.close()
})

// biome-ignore lint/correctness/noEmptyPattern: <explanation>
test.afterEach(async ({}, testInfo) => {
console.log(`Test [${testInfo.title}] status: ${testInfo.status}`);
if (testInfo.status === "failed") {
const name = testInfo.title;
process.env.GITHUB_STEP_SUMMARY = `Test ${name} failed.`;
console.log(`GITHUB_STEP_SUMMARY: ${process.env.GITHUB_STEP_SUMMARY}`);
console.log(`Test [${testInfo.title}] status: ${testInfo.status}`)
if (testInfo.status === 'failed') {
const name = testInfo.title
process.env.GITHUB_STEP_SUMMARY = `Test ${name} failed.`
console.log(`GITHUB_STEP_SUMMARY: ${process.env.GITHUB_STEP_SUMMARY}`)
}
});
})

// biome-ignore lint/complexity/noForEach: <explanation>
[{ name: "WBTC" }, { name: "OSMO" }].forEach(({ name }) => {
;[{ name: 'WBTC' }, { name: 'OSMO' }].forEach(({ name }) => {
test(`User should be able to Market Buy ${name}`, async () => {
await tradePage.goto();
await tradePage.openBuyTab();
await tradePage.selectAsset(name);
await tradePage.enterAmount("1.55");
await tradePage.isSufficientBalanceForTrade();
await tradePage.showSwapInfo();
const { msgContentAmount } = await tradePage.buyAndGetWalletMsg(context);
expect(msgContentAmount).toBeTruthy();
expect(msgContentAmount).toContain("type: osmosis/poolmanager/");
await tradePage.isTransactionSuccesful(TRX_SUCCESS_TIMEOUT);
await tradePage.getTransactionUrl();
});
});
await tradePage.goto()
await tradePage.openBuyTab()
await tradePage.selectAsset(name)
await tradePage.enterAmount('1.55')
await tradePage.isSufficientBalanceForTrade()
await tradePage.showSwapInfo()
const { msgContentAmount } = await tradePage.buyAndGetWalletMsg(context)
expect(msgContentAmount).toBeTruthy()
expect(msgContentAmount).toContain('type: osmosis/poolmanager/')
await tradePage.isTransactionSuccesful(TRX_SUCCESS_TIMEOUT)
await tradePage.getTransactionUrl()
})
})

// unwrapped market sell tests just in case this affects anything.
test("User should be able to Market Sell WBTC", async () => {
await tradePage.goto();
await tradePage.openSellTab();
await tradePage.selectAsset("WBTC");
await tradePage.enterAmount("1.54");
await tradePage.isSufficientBalanceForTrade();
await tradePage.showSwapInfo();
const { msgContentAmount } = await tradePage.sellAndGetWalletMsg(context);
expect(msgContentAmount).toBeTruthy();
expect(msgContentAmount).toContain("type: osmosis/poolmanager/");
await tradePage.isTransactionSuccesful(TRX_SUCCESS_TIMEOUT);
await tradePage.getTransactionUrl();
});
test('User should be able to Market Sell WBTC', async () => {
await tradePage.goto()
await tradePage.openSellTab()
await tradePage.selectAsset('WBTC')
await tradePage.enterAmount('1.54')
await tradePage.isSufficientBalanceForTrade()
await tradePage.showSwapInfo()
const { msgContentAmount } = await tradePage.sellAndGetWalletMsg(context)
expect(msgContentAmount).toBeTruthy()
expect(msgContentAmount).toContain('type: osmosis/poolmanager/')
await tradePage.isTransactionSuccesful(TRX_SUCCESS_TIMEOUT)
await tradePage.getTransactionUrl()
})

test("User should be able to Market Sell OSMO", async () => {
await tradePage.goto();
await tradePage.openSellTab();
await tradePage.selectAsset("OSMO");
await tradePage.enterAmount("1.54");
await tradePage.isSufficientBalanceForTrade();
await tradePage.showSwapInfo();
const { msgContentAmount } = await tradePage.sellAndGetWalletMsg(context);
expect(msgContentAmount).toBeTruthy();
expect(msgContentAmount).toContain("type: osmosis/poolmanager/");
await tradePage.isTransactionSuccesful(TRX_SUCCESS_TIMEOUT);
await tradePage.getTransactionUrl();
});
});
test('User should be able to Market Sell OSMO', async () => {
await tradePage.goto()
await tradePage.openSellTab()
await tradePage.selectAsset('OSMO')
await tradePage.enterAmount('1.54')
await tradePage.isSufficientBalanceForTrade()
await tradePage.showSwapInfo()
const { msgContentAmount } = await tradePage.sellAndGetWalletMsg(context)
expect(msgContentAmount).toBeTruthy()
expect(msgContentAmount).toContain('type: osmosis/poolmanager/')
await tradePage.isTransactionSuccesful(TRX_SUCCESS_TIMEOUT)
await tradePage.getTransactionUrl()
})
})
Loading
Loading