sesamefilter

This commit is contained in:
2020-03-05 18:14:40 +01:00
parent 0057625800
commit f8d475cb53
4 changed files with 43 additions and 14 deletions
+25 -4
View File
@@ -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"))
})
})