fix(ui): проверять источник IPv4 для диагностики
This commit is contained in:
1 parent
d0c715e93c
commit
b60b7ac8e8
8 files changed
+81
-26
No files matched your search
@@ -2,7 +2,7 @@ import { test, expect, type Page } from "@playwright/test"
|
||||
const devices=[{id:1,name:"Первый",host:"192.0.2.1",site:"Тест",country:"RU",asn:"AS64500",type:"exit-node",enabled:true,status:"online",latency:null}]
|
||||
async function routes(page:Page){
|
||||
await page.route("**/health",r=>r.fulfill({json:{ok:true}}))
|
||||
await page.route("**/api/**",r=>{const p=new URL(r.request().url()).pathname;return r.fulfill({json:p==="/api/servers"?devices:p==="/api/auth/config"?{required:false}:p.endsWith("/ros-src-address")?{ipv4:"192.0.2.1"}:{tunnels:[]}})})
|
||||
await page.route("**/api/**",r=>{const p=new URL(r.request().url()).pathname;return r.fulfill({json:p==="/api/servers"?devices:p==="/api/auth/config"?{required:false}:p.endsWith("/ros-src-address")?{host:"192.0.2.1",ipv4:"192.0.2.1"}:{tunnels:[]}})})
|
||||
}
|
||||
test.beforeEach(async({page})=>routes(page))
|
||||
const run=(page:Page)=>page.getByRole("button",{name:"Запустить",exact:true})
|
||||
@@ -94,7 +94,7 @@ test("Диагностика: DNS приложения, inline ошибка и
|
||||
})
|
||||
|
||||
test("Диагностика: без выбора не запрашивает устройство",async({page})=>{
|
||||
let requests=0;await page.route("**/api/servers/*/**",r=>{requests++;return r.fulfill({json:{ipv4:"192.0.2.1"}})})
|
||||
let requests=0;await page.route("**/api/servers/*/**",r=>{requests++;return r.fulfill({json:{host:"192.0.2.1",ipv4:"192.0.2.1"}})})
|
||||
await page.goto("/probes");await expect(page.getByRole("status").filter({hasText:"Выберите устройство для диагностики"})).toBeVisible();await expect(run(page)).toBeDisabled();expect(requests).toBe(0)
|
||||
})
|
||||
for(const query of ["server=1&server=2","server=bad%20id","server="])test("Диагностика: неверная ссылка не читает API "+query,async({page})=>{
|
||||
|
||||
Reference in new issue
Block a user