Skip to content

Commit bf96b3e

Browse files
committed
review: parameterize assign_server_event error outcome tests
1 parent b4ac278 commit bf96b3e

1 file changed

Lines changed: 32 additions & 72 deletions

File tree

src/jupyter/assignments.unit.test.ts

Lines changed: 32 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1427,85 +1427,45 @@ describe('AssignmentManager', () => {
14271427
);
14281428
});
14291429

1430-
it('logs OUTCOME_TOO_MANY_ASSIGNMENTS', async () => {
1431-
colabClientStub.assign.rejects(new TooManyAssignmentsError());
1432-
1433-
await expect(
1434-
assignmentManager.assignServer(defaultAssignmentDescriptor),
1435-
).to.be.rejected;
1436-
1437-
sinon.assert.calledOnceWithExactly(
1438-
logStub,
1439-
AssignmentOutcome.ASSIGNMENT_OUTCOME_TOO_MANY_ASSIGNMENTS,
1440-
{
1441-
variant: Variant.GPU,
1442-
accelerator: 'A100',
1443-
shape: '',
1444-
version: '',
1445-
hadFallback: false,
1446-
},
1447-
);
1448-
});
1449-
1450-
it('logs OUTCOME_INSUFFICIENT_QUOTA', async () => {
1451-
colabClientStub.assign.rejects(new InsufficientQuotaError('💰🐖'));
1452-
1453-
await expect(
1454-
assignmentManager.assignServer(defaultAssignmentDescriptor),
1455-
).to.be.rejected;
1456-
1457-
sinon.assert.calledOnceWithExactly(
1458-
logStub,
1459-
AssignmentOutcome.ASSIGNMENT_OUTCOME_INSUFFICIENT_QUOTA,
1460-
{
1461-
variant: Variant.GPU,
1462-
accelerator: 'A100',
1463-
shape: '',
1464-
version: '',
1465-
hadFallback: false,
1466-
},
1467-
);
1468-
});
1469-
1470-
it('logs OUTCOME_DENYLISTED', async () => {
1471-
colabClientStub.assign.rejects(new DenylistedError('👨‍⚖️'));
1472-
1473-
await expect(
1474-
assignmentManager.assignServer(defaultAssignmentDescriptor),
1475-
).to.be.rejected;
1476-
1477-
sinon.assert.calledOnceWithExactly(
1478-
logStub,
1479-
AssignmentOutcome.ASSIGNMENT_OUTCOME_DENYLISTED,
1480-
{
1481-
variant: Variant.GPU,
1482-
accelerator: 'A100',
1483-
shape: '',
1484-
version: '',
1485-
hadFallback: false,
1486-
},
1487-
);
1488-
});
1489-
1490-
it('logs OUTCOME_OTHER_FAILURE for unexpected errors', async () => {
1491-
colabClientStub.assign.rejects(new Error('boom'));
1430+
const errorOutcomeCases = [
1431+
{
1432+
label: 'OUTCOME_TOO_MANY_ASSIGNMENTS',
1433+
error: new TooManyAssignmentsError(),
1434+
outcome: AssignmentOutcome.ASSIGNMENT_OUTCOME_TOO_MANY_ASSIGNMENTS,
1435+
},
1436+
{
1437+
label: 'OUTCOME_INSUFFICIENT_QUOTA',
1438+
error: new InsufficientQuotaError('💰🐖'),
1439+
outcome: AssignmentOutcome.ASSIGNMENT_OUTCOME_INSUFFICIENT_QUOTA,
1440+
},
1441+
{
1442+
label: 'OUTCOME_DENYLISTED',
1443+
error: new DenylistedError('👨‍⚖️'),
1444+
outcome: AssignmentOutcome.ASSIGNMENT_OUTCOME_DENYLISTED,
1445+
},
1446+
{
1447+
label: 'OUTCOME_OTHER_FAILURE for unexpected errors',
1448+
error: new Error('boom'),
1449+
outcome: AssignmentOutcome.ASSIGNMENT_OUTCOME_OTHER_FAILURE,
1450+
},
1451+
];
1452+
for (const { label, error, outcome } of errorOutcomeCases) {
1453+
it(`logs ${label}`, async () => {
1454+
colabClientStub.assign.rejects(error);
14921455

1493-
await expect(
1494-
assignmentManager.assignServer(defaultAssignmentDescriptor),
1495-
).to.be.rejected;
1456+
await expect(
1457+
assignmentManager.assignServer(defaultAssignmentDescriptor),
1458+
).to.be.rejected;
14961459

1497-
sinon.assert.calledOnceWithExactly(
1498-
logStub,
1499-
AssignmentOutcome.ASSIGNMENT_OUTCOME_OTHER_FAILURE,
1500-
{
1460+
sinon.assert.calledOnceWithExactly(logStub, outcome, {
15011461
variant: Variant.GPU,
15021462
accelerator: 'A100',
15031463
shape: '',
15041464
version: '',
15051465
hadFallback: false,
1506-
},
1507-
);
1508-
});
1466+
});
1467+
});
1468+
}
15091469

15101470
it('logs the requested shape and version when present', async () => {
15111471
colabClientStub.assign.resolves({

0 commit comments

Comments
 (0)