|
5 | 5 | from django.test import Client, override_settings
|
6 | 6 | from django.test import TestCase
|
7 | 7 | from pyas2lib import Message as As2Message
|
| 8 | +from pyas2lib import Mdn as As2Mdn |
8 | 9 |
|
9 | 10 | from pyas2 import settings
|
10 | 11 | from pyas2.models import Message
|
@@ -422,6 +423,31 @@ def test_signature_error(self):
|
422 | 423 | "Failed to verify message signature" in out_message.detailed_status
|
423 | 424 | )
|
424 | 425 |
|
| 426 | + def test_missing_message_id(self): |
| 427 | + # Create the client partner and send the command |
| 428 | + partner = Partner.objects.create( |
| 429 | + name="AS2 Server", |
| 430 | + as2_name="as2server", |
| 431 | + target_url="http://localhost:8080/pyas2/as2receive", |
| 432 | + signature="sha1", |
| 433 | + signature_cert=self.server_crt, |
| 434 | + encryption="tripledes_192_cbc", |
| 435 | + encryption_cert=self.server_crt, |
| 436 | + mdn=True, |
| 437 | + mdn_mode="ASYNC", |
| 438 | + mdn_sign="sha1", |
| 439 | + ) |
| 440 | + out_message = self.build_and_send(partner) |
| 441 | + |
| 442 | + # Create MDN object without message_id |
| 443 | + in_message = As2Mdn() |
| 444 | + in_message.orig_message_id = out_message.message_id |
| 445 | + in_message.message_id = None |
| 446 | + mdn_message = Mdn.objects.create_from_as2mdn(in_message, out_message, "R") |
| 447 | + |
| 448 | + # Check that original message id was used to store mdn_id |
| 449 | + self.assertEqual(mdn_message.mdn_id, out_message.message_id) |
| 450 | + |
425 | 451 | @mock.patch("requests.post")
|
426 | 452 | def build_and_send(self, partner, mock_request, smudge=False):
|
427 | 453 | # Build and send the message to server
|
|
0 commit comments