mirror of
https://github.com/nasa/openmct.git
synced 2025-01-31 16:36:13 +00:00
[Entanglement] Correctly Call Policy Service
Move, Copy, and Link services correctly call the policy service to check whether composition is allowed. Fixes open-1254.
This commit is contained in:
parent
d041655546
commit
c6186ae186
@ -83,8 +83,8 @@ define(
|
||||
}
|
||||
return policyService.allow(
|
||||
"composition",
|
||||
object.getCapability('type'),
|
||||
parentCandidate.getCapability('type')
|
||||
parentCandidate.getCapability('type'),
|
||||
object.getCapability('type')
|
||||
);
|
||||
},
|
||||
/**
|
||||
|
@ -44,8 +44,8 @@ define(
|
||||
}
|
||||
return policyService.allow(
|
||||
"composition",
|
||||
object.getCapability('type'),
|
||||
parentCandidate.getCapability('type')
|
||||
parentCandidate.getCapability('type'),
|
||||
object.getCapability('type')
|
||||
);
|
||||
},
|
||||
/**
|
||||
|
@ -51,8 +51,8 @@ define(
|
||||
}
|
||||
return policyService.allow(
|
||||
"composition",
|
||||
object.getCapability('type'),
|
||||
parentCandidate.getCapability('type')
|
||||
parentCandidate.getCapability('type'),
|
||||
object.getCapability('type')
|
||||
);
|
||||
},
|
||||
/**
|
||||
|
@ -60,10 +60,16 @@ define(
|
||||
policyService
|
||||
);
|
||||
object = domainObjectFactory({
|
||||
name: 'object'
|
||||
name: 'object',
|
||||
capabilities: {
|
||||
type: { type: 'object' }
|
||||
}
|
||||
});
|
||||
parentCandidate = domainObjectFactory({
|
||||
name: 'parentCandidate'
|
||||
name: 'parentCandidate',
|
||||
capabilities: {
|
||||
type: { type: 'parentCandidate' }
|
||||
}
|
||||
});
|
||||
validate = function () {
|
||||
return copyService.validate(object, parentCandidate);
|
||||
@ -88,6 +94,15 @@ define(
|
||||
parentCandidate.id = 'b';
|
||||
});
|
||||
|
||||
it("calls policy service with correct args", function () {
|
||||
validate();
|
||||
expect(policyService.allow).toHaveBeenCalledWith(
|
||||
"composition",
|
||||
parentCandidate.capabilities.type,
|
||||
object.capabilities.type
|
||||
);
|
||||
});
|
||||
|
||||
it("and returns false", function () {
|
||||
policyService.allow.andReturn(false);
|
||||
expect(validate()).toBe(false);
|
||||
|
@ -84,10 +84,23 @@ define(
|
||||
describe("defers to policyService", function () {
|
||||
beforeEach(function () {
|
||||
object.id = 'abc';
|
||||
object.capabilities.type = { type: 'object' };
|
||||
parentCandidate.id = 'xyz';
|
||||
parentCandidate.capabilities.type = {
|
||||
type: 'parentCandidate'
|
||||
};
|
||||
parentCandidate.model.composition = [];
|
||||
});
|
||||
|
||||
it("calls policy service with correct args", function () {
|
||||
validate();
|
||||
expect(mockPolicyService.allow).toHaveBeenCalledWith(
|
||||
"composition",
|
||||
parentCandidate.capabilities.type,
|
||||
object.capabilities.type
|
||||
);
|
||||
});
|
||||
|
||||
it("and returns false", function () {
|
||||
mockPolicyService.allow.andReturn(true);
|
||||
expect(validate()).toBe(true);
|
||||
|
@ -65,7 +65,8 @@ define(
|
||||
name: 'object',
|
||||
id: 'a',
|
||||
capabilities: {
|
||||
context: objectContextCapability
|
||||
context: objectContextCapability,
|
||||
type: { type: 'object' }
|
||||
}
|
||||
});
|
||||
|
||||
@ -79,7 +80,10 @@ define(
|
||||
parentCandidate = domainObjectFactory({
|
||||
name: 'parentCandidate',
|
||||
model: { composition: [] },
|
||||
id: 'c'
|
||||
id: 'c',
|
||||
capabilities: {
|
||||
type: { type: 'parentCandidate' }
|
||||
}
|
||||
});
|
||||
|
||||
validate = function () {
|
||||
@ -112,6 +116,15 @@ define(
|
||||
|
||||
describe("defers to policyService", function () {
|
||||
|
||||
it("calls policy service with correct args", function () {
|
||||
validate();
|
||||
expect(policyService.allow).toHaveBeenCalledWith(
|
||||
"composition",
|
||||
parentCandidate.capabilities.type,
|
||||
object.capabilities.type
|
||||
);
|
||||
});
|
||||
|
||||
it("and returns false", function () {
|
||||
policyService.allow.andReturn(false);
|
||||
expect(validate()).toBe(false);
|
||||
|
Loading…
x
Reference in New Issue
Block a user