tighten deployment profile artifact vocabulary
This commit is contained in:
@@ -69,8 +69,10 @@ spec:
|
||||
audit:
|
||||
portableArtifactsRequired: true
|
||||
requiredArtifacts:
|
||||
- canonical_events
|
||||
- queue_items
|
||||
- bridge_receipts
|
||||
- profile_snapshot
|
||||
capability_expectations:
|
||||
required:
|
||||
- create_queue_items
|
||||
@@ -113,7 +115,7 @@ test('deployment profile schema validator rejects malformed profile', () => {
|
||||
operatorVisibleRecoveryRequired: true,
|
||||
allowedTerminalStates: ['acked'],
|
||||
},
|
||||
audit: { portableArtifactsRequired: true, requiredArtifacts: ['queue_items'] },
|
||||
audit: { portableArtifactsRequired: true, requiredArtifacts: ['canonical_events', 'queue_items', 'bridge_receipts'] },
|
||||
capability_expectations: { required: [] },
|
||||
},
|
||||
}),
|
||||
@@ -143,7 +145,7 @@ test('deployment profile schema validator rejects tightened semantic violations'
|
||||
},
|
||||
audit: {
|
||||
portableArtifactsRequired: true,
|
||||
requiredArtifacts: ['queue_items'],
|
||||
requiredArtifacts: ['canonical_events', 'queue_items', 'bridge_receipts'],
|
||||
},
|
||||
capability_expectations: { required: [] },
|
||||
},
|
||||
@@ -198,13 +200,83 @@ test('deployment profile schema validator rejects tightened semantic violations'
|
||||
...validBase.spec,
|
||||
audit: {
|
||||
portableArtifactsRequired: 'true',
|
||||
requiredArtifacts: ['queue_items'],
|
||||
requiredArtifacts: ['canonical_events', 'queue_items', 'bridge_receipts'],
|
||||
},
|
||||
},
|
||||
}),
|
||||
/deployment profile schema validation failed: .*\/spec\/audit\/portableArtifactsRequired must be boolean/
|
||||
);
|
||||
|
||||
assert.throws(
|
||||
() => validateDeploymentProfileSchema({
|
||||
...validBase,
|
||||
spec: {
|
||||
...validBase.spec,
|
||||
notifications: {
|
||||
operatorVisibleRecoveryRequired: true,
|
||||
allowedTerminalStates: [],
|
||||
},
|
||||
},
|
||||
}),
|
||||
/deployment profile schema validation failed: .*\/spec\/notifications\/allowedTerminalStates must NOT have fewer than 1 items/
|
||||
);
|
||||
|
||||
assert.throws(
|
||||
() => validateDeploymentProfileSchema({
|
||||
...validBase,
|
||||
spec: {
|
||||
...validBase.spec,
|
||||
notifications: {
|
||||
operatorVisibleRecoveryRequired: true,
|
||||
allowedTerminalStates: ['acked', 'acked'],
|
||||
},
|
||||
},
|
||||
}),
|
||||
/deployment profile schema validation failed: .*\/spec\/notifications\/allowedTerminalStates must NOT have duplicate items/
|
||||
);
|
||||
|
||||
assert.throws(
|
||||
() => validateDeploymentProfileSchema({
|
||||
...validBase,
|
||||
spec: {
|
||||
...validBase.spec,
|
||||
audit: {
|
||||
portableArtifactsRequired: true,
|
||||
requiredArtifacts: ['canonical_events', 'queue_items', 'queue_items', 'bridge_receipts'],
|
||||
},
|
||||
},
|
||||
}),
|
||||
/deployment profile schema validation failed: .*\/spec\/audit\/requiredArtifacts must NOT have duplicate items/
|
||||
);
|
||||
|
||||
assert.throws(
|
||||
() => validateDeploymentProfileSchema({
|
||||
...validBase,
|
||||
spec: {
|
||||
...validBase.spec,
|
||||
audit: {
|
||||
portableArtifactsRequired: true,
|
||||
requiredArtifacts: ['queue_items', 'bridge_receipts'],
|
||||
},
|
||||
},
|
||||
}),
|
||||
/deployment profile schema validation failed: .*\/spec\/audit\/requiredArtifacts must contain at least 1 valid item\(s\)/
|
||||
);
|
||||
|
||||
assert.throws(
|
||||
() => validateDeploymentProfileSchema({
|
||||
...validBase,
|
||||
spec: {
|
||||
...validBase.spec,
|
||||
audit: {
|
||||
portableArtifactsRequired: true,
|
||||
requiredArtifacts: ['canonical_events', 'queue_items', 'bridge_receipts', 'made_up_artifact'],
|
||||
},
|
||||
},
|
||||
}),
|
||||
/deployment profile schema validation failed: .*\/spec\/audit\/requiredArtifacts\/3 must be equal to one of the allowed values/
|
||||
);
|
||||
|
||||
assert.throws(
|
||||
() => validateDeploymentProfileSchema({
|
||||
...validBase,
|
||||
@@ -322,7 +394,9 @@ spec:
|
||||
audit:
|
||||
portableArtifactsRequired: true
|
||||
requiredArtifacts:
|
||||
- canonical_events
|
||||
- queue_items
|
||||
- bridge_receipts
|
||||
capability_expectations:
|
||||
required: []
|
||||
`, 'utf8');
|
||||
|
||||
Reference in New Issue
Block a user