TEST: align Phase 2E R2 audit with hardened contracts
This commit is contained in:
parent
5a22cc3ead
commit
d265e02777
|
|
@ -170,7 +170,7 @@ void main() {
|
||||||
});
|
});
|
||||||
|
|
||||||
// 4. Malformed Remote Ride ID / Path Traversal Attack Rejection
|
// 4. Malformed Remote Ride ID / Path Traversal Attack Rejection
|
||||||
test('Security 4: Malicious remoteRideId is rejected with HTTP 400 permanent failure', () async {
|
test('Security 4: Malicious remoteRideId is rejected as HTTP 400 permanent failure', () async {
|
||||||
final mockClient = http_testing.MockClient((request) async {
|
final mockClient = http_testing.MockClient((request) async {
|
||||||
final rideId = request.headers['X-Remote-Ride-Id'];
|
final rideId = request.headers['X-Remote-Ride-Id'];
|
||||||
if (rideId == null || rideId.contains('..') || rideId.contains('/')) {
|
if (rideId == null || rideId.contains('..') || rideId.contains('/')) {
|
||||||
|
|
@ -242,8 +242,8 @@ void main() {
|
||||||
expect(computed.length, equals(64));
|
expect(computed.length, equals(64));
|
||||||
});
|
});
|
||||||
|
|
||||||
// 8. Outbox Backward Compatibility & Composite Key Isolation
|
// 8. Outbox Composite Key Isolation
|
||||||
test('Security 8: Outbox preserves composite key \${localRideId}_\${providerId}', () async {
|
test('Security 8: Outbox preserves provider-scoped composite idempotency key', () async {
|
||||||
final outbox = SyncOutbox(prefs);
|
final outbox = SyncOutbox(prefs);
|
||||||
|
|
||||||
await outbox.enqueue(501, 'firebase');
|
await outbox.enqueue(501, 'firebase');
|
||||||
|
|
@ -252,8 +252,9 @@ void main() {
|
||||||
expect(outbox.count, equals(2));
|
expect(outbox.count, equals(2));
|
||||||
expect(outbox.getItem(501, 'firebase'), isNotNull);
|
expect(outbox.getItem(501, 'firebase'), isNotNull);
|
||||||
expect(outbox.getItem(501, 'github'), isNotNull);
|
expect(outbox.getItem(501, 'github'), isNotNull);
|
||||||
expect(outbox.getItem(501, 'firebase')!.key, equals('501_firebase'));
|
expect(outbox.getItem(501, 'firebase')!.key, equals('firebase:501'));
|
||||||
expect(outbox.getItem(501, 'github')!.key, equals('501_github'));
|
expect(outbox.getItem(501, 'github')!.key, equals('github:501'));
|
||||||
|
expect(outbox.getItem(501, 'firebase')!.key, isNot(equals(outbox.getItem(501, 'github')!.key)));
|
||||||
});
|
});
|
||||||
|
|
||||||
// 9. Multi-Provider SyncManager Resilience
|
// 9. Multi-Provider SyncManager Resilience
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue