Coverage for jbank/management/commands/test_app_req.py: 44%
25 statements
« prev ^ index » next coverage.py v7.2.2, created at 2023-03-27 13:36 +0700
« prev ^ index » next coverage.py v7.2.2, created at 2023-03-27 13:36 +0700
1import logging
2from django.core.management.base import CommandParser
3from jutil.command import SafeCommand
4from jutil.format import format_xml_bytes, format_xml
5from jbank.helpers import validate_xml
6from jbank.models import WsEdiConnection
8logger = logging.getLogger(__name__)
11class Command(SafeCommand):
12 help = "Makes test application request"
14 def add_arguments(self, parser: CommandParser):
15 parser.add_argument("--ws", type=int, default=1)
16 parser.add_argument("--xsd", type=str)
17 parser.add_argument("--command", type=str, default="DownloadFileList")
18 parser.add_argument("--file", type=str)
20 def do(self, *args, **options):
21 ws = WsEdiConnection.objects.get(id=options["ws"])
22 if options["file"]:
23 content = open(options["file"], "rb").read() # noqa
24 else:
25 content = ws.get_application_request(options["command"]).encode()
26 print("------------------------------------------------- Application request")
27 print(format_xml_bytes(content).decode())
28 if options["xsd"]:
29 validate_xml(content, options["xsd"])
30 print("------------------------------------------------- Signed request")
31 print(format_xml(ws.sign_application_request(content.decode())))