adf0d17497
publish / version_or_publish (push) Has been cancelled
storybook-build / changes (push) Has been cancelled
storybook-build / :storybook-build (push) Has been cancelled
Sync Gradio Skills to Hugging Face / sync-skills (push) Has been cancelled
functional / changes (push) Has been cancelled
functional / build-frontend (push) Has been cancelled
functional / functional-test-SSR=false (push) Has been cancelled
functional / functional-reload (push) Has been cancelled
js / changes (push) Has been cancelled
js / js-test (push) Has been cancelled
docs-build / changes (push) Has been cancelled
docs-build / docs-build (push) Has been cancelled
docs-build / website-build (push) Has been cancelled
functional / functional-test-SSR=true (push) Has been cancelled
hygiene / hygiene-test (push) Has been cancelled
python / changes (push) Has been cancelled
python / build (push) Has been cancelled
python / test-ubuntu-latest-flaky (push) Has been cancelled
python / test-ubuntu-latest-not-flaky (push) Has been cancelled
python / test-windows-latest-flaky (push) Has been cancelled
python / test-windows-latest-not-flaky (push) Has been cancelled
41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
import { test, expect } from "@self/tootils";
|
|
|
|
test.skip(
|
|
process.env?.GRADIO_SSR_MODE?.toLowerCase() === "true",
|
|
"Not Running SSR Mode"
|
|
);
|
|
|
|
test.skip("Gradio works behind a reverse proxy with root_path", async ({
|
|
page
|
|
}) => {
|
|
const url = new URL(page.url());
|
|
await page.goto(`${url.origin}/myapp/gradio/`);
|
|
|
|
const configResponse = await page.request.get(
|
|
`${url.origin}/myapp/gradio/config`
|
|
);
|
|
const config = await configResponse.json();
|
|
expect(config.root).toContain("/myapp/gradio");
|
|
|
|
const uploader = page.locator("input[type=file]");
|
|
await uploader.setInputFiles("./test/files/cheetah1.jpg");
|
|
await page.getByRole("button", { name: "Submit" }).click();
|
|
|
|
// Wait for the output image to load with a src URL that goes through
|
|
// the proxied gradio_api path
|
|
// Without the fix, the src would use /gradio/gradio_api/... (missing /myapp).
|
|
await expect(async () => {
|
|
const imgs = page.locator('[data-testid="image"] img');
|
|
const count = await imgs.count();
|
|
let foundProxiedSrc = false;
|
|
for (let i = 0; i < count; i++) {
|
|
const src = await imgs.nth(i).getAttribute("src");
|
|
if (src && src.includes("/myapp/gradio/gradio_api/")) {
|
|
foundProxiedSrc = true;
|
|
break;
|
|
}
|
|
}
|
|
expect(foundProxiedSrc).toBe(true);
|
|
}).toPass();
|
|
});
|