fix(ui): сохранять контекст и блокировку рекурсивных маршрутов
This commit is contained in:
1 parent
52493debc2
commit
50fad3ac80
10 files changed
+223
-28
No files matched your search
@@ -0,0 +1,14 @@
|
||||
import {test} from "node:test"
|
||||
import assert from "node:assert/strict"
|
||||
import {readRecursiveUrl,patchRecursiveUrl} from "./recursive-route-url-state"
|
||||
import {permissionForPath} from "./auth"
|
||||
test("recursive context roundtrip owns only its URL fields",()=>{
|
||||
const params=new URLSearchParams("keep=x&server=2&q=ether&route=10.0.0.0%2F24&table=main")
|
||||
assert.deepEqual(readRecursiveUrl(params),{serverId:"2",q:"ether",route:"10.0.0.0/24",table:"main",error:null})
|
||||
const next=patchRecursiveUrl(params,{serverId:"1",q:null,route:null,table:null})
|
||||
assert.equal(next.get("keep"),"x");assert.equal(next.get("server"),"1");assert.equal(next.has("q"),false)
|
||||
assert.equal(permissionForPath("/recursive-routes"),"mm:network:read")
|
||||
})
|
||||
test("recursive invalid or ambiguous URL never guesses a device/group",()=>{
|
||||
for(const q of ["server=0","server=srv1","server=1&server=2","route=10.0.0.0/24","table=main","q=a&q=b","q="+"x".repeat(257)]) assert.ok(readRecursiveUrl(new URLSearchParams(q)).error,q)
|
||||
})
|
||||
Reference in new issue
Block a user