sesamefilter
This commit is contained in:
+25
-4
@@ -542,8 +542,9 @@ type myExporterIfc = {
|
||||
describe("Class binding", ()=>{
|
||||
|
||||
let exporter1 : MyExporter
|
||||
let serv : RPCServer
|
||||
let serv : RPCServer<{}, myExporterIfc>
|
||||
let sock: RPCSocket & myExporterIfc
|
||||
let allowed = true
|
||||
|
||||
class MyExporter implements RPCExporter<myExporterIfc>{
|
||||
name = "MyExporter" as "MyExporter";
|
||||
@@ -563,20 +564,34 @@ describe("Class binding", ()=>{
|
||||
this.myRPC
|
||||
]
|
||||
|
||||
myRPC = async () => "Hello Borld"
|
||||
myRPC = async () => {
|
||||
return "Hello Borld"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
before(done => {
|
||||
exporter1 = new MyExporter()
|
||||
serv = new RPCServer(21004, [exporter1])
|
||||
serv = new RPCServer<{}, myExporterIfc>(21004, [exporter1], {
|
||||
accessFilter: async (sesame,exporter) => {
|
||||
switch(exporter.name){
|
||||
case "MyExporter":
|
||||
if(!allowed) return false
|
||||
allowed = false
|
||||
return sesame==='xxx';
|
||||
default:
|
||||
return false
|
||||
}
|
||||
},
|
||||
sesame: "xxx"
|
||||
})
|
||||
done()
|
||||
})
|
||||
|
||||
beforeEach((done)=>{
|
||||
|
||||
const s = new RPCSocket(21004, 'localhost')
|
||||
s.connect<myExporterIfc>().then(conn => {
|
||||
s.connect<myExporterIfc>("xxx").then(conn => {
|
||||
sock = conn
|
||||
done()
|
||||
})
|
||||
@@ -596,6 +611,7 @@ describe("Class binding", ()=>{
|
||||
done(new Error(res))
|
||||
}).catch(e => {
|
||||
//job will time out because of setExporters
|
||||
allowed = true
|
||||
done()
|
||||
})
|
||||
})
|
||||
@@ -608,6 +624,11 @@ describe("Class binding", ()=>{
|
||||
done(new Error(res))
|
||||
})
|
||||
})
|
||||
|
||||
it("use sesameFilter", (done) => {
|
||||
if(!sock['MyExporter']) done()
|
||||
else done(new Error("RPC supposed to be gone"))
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user