fix(k1): translate onboard operation identities at plugin boundary
This commit is contained in:
@@ -109,3 +109,24 @@ test('delayed operation result cannot clear an observed board outage',()=>{
|
||||
assert.equal(result.fresh,false);
|
||||
assert.equal(api.mergeEnrollmentState(result,{...initial,fresh:true,snapshot_revision:3}).fresh,true);
|
||||
});
|
||||
|
||||
test('failed or unknown Bluetooth search is never presented as an empty successful scan',async()=>{
|
||||
for(const state of ['failed','rejected','unknown']){
|
||||
let posts=0;
|
||||
const transport={submit:async command=>{posts++;return {
|
||||
operation_id:command.operation_id,state:state==='unknown'?'unknown':'complete',
|
||||
error:'unconfirmed device command',
|
||||
result:{...initial,candidates:[],command_result:{operation_id:command.operation_id,action:'scan',status:state}},
|
||||
};}};
|
||||
await assert.rejects(api.enroll(transport,initial,'scan'),/Не удалось выполнить поиск Bluetooth на БК/);
|
||||
assert.equal(posts,1);
|
||||
}
|
||||
assert.equal(api.enrollmentNotice({...initial,command_result:{action:'scan',status:'failed'}}),'');
|
||||
});
|
||||
|
||||
test('a confirmed scan with zero candidates remains a valid empty result',async()=>{
|
||||
const transport={submit:async command=>({operation_id:command.operation_id,state:'complete',
|
||||
result:{...initial,candidates:[],command_result:{operation_id:command.operation_id,action:'scan',status:'succeeded'}},
|
||||
})};
|
||||
assert.deepEqual((await api.enroll(transport,initial,'scan')).candidates,[]);
|
||||
});
|
||||
|
||||
@@ -11,7 +11,7 @@ import sys
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
VERSION = "0.8.1"
|
||||
VERSION = "0.8.2"
|
||||
sys.path.insert(0, str(ROOT.parents[1] / "scripts/packaging"))
|
||||
from debian import package
|
||||
|
||||
|
||||
Reference in New Issue
Block a user