Enable support for handling new command line arguments (#1318)
* Enable support for handling new command line arguments with functions- prefix
This commit is contained in:
Родитель
d0135b091e
Коммит
b8291fb75f
|
@ -2,7 +2,6 @@
|
||||||
# Licensed under the MIT License.
|
# Licensed under the MIT License.
|
||||||
"""Main entrypoint."""
|
"""Main entrypoint."""
|
||||||
|
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
|
|
||||||
|
|
||||||
|
@ -26,6 +25,18 @@ def parse_args():
|
||||||
'syslog, or a file path')
|
'syslog, or a file path')
|
||||||
parser.add_argument('--grpcMaxMessageLength', type=int,
|
parser.add_argument('--grpcMaxMessageLength', type=int,
|
||||||
dest='grpc_max_msg_len')
|
dest='grpc_max_msg_len')
|
||||||
|
parser.add_argument('--functions-uri', dest='functions_uri', type=str,
|
||||||
|
help='URI with IP Address and Port used to'
|
||||||
|
' connect to the Host via gRPC.')
|
||||||
|
parser.add_argument('--functions-request-id', dest='functions_request_id',
|
||||||
|
type=str, help='Request ID used for gRPC communication '
|
||||||
|
'with the Host.')
|
||||||
|
parser.add_argument('--functions-worker-id',
|
||||||
|
dest='functions_worker_id', type=str,
|
||||||
|
help='Worker ID assigned to this language worker.')
|
||||||
|
parser.add_argument('--functions-grpc-max-message-length', type=int,
|
||||||
|
dest='functions_grpc_max_msg_len',
|
||||||
|
help='Max grpc message length for Functions')
|
||||||
return parser.parse_args()
|
return parser.parse_args()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,79 @@
|
||||||
|
import unittest
|
||||||
|
import sys
|
||||||
|
from unittest.mock import patch
|
||||||
|
from azure_functions_worker.main import parse_args
|
||||||
|
|
||||||
|
|
||||||
|
class TestMain(unittest.TestCase):
|
||||||
|
|
||||||
|
@patch.object(sys, 'argv',
|
||||||
|
['xxx', '--host', '127.0.0.1',
|
||||||
|
'--port', '50821',
|
||||||
|
'--workerId', 'e9efd817-47a1-45dc-9e20-e6f975d7a025',
|
||||||
|
'--requestId', 'cbef5957-cdb3-4462-9ee7-ac9f91be0a51',
|
||||||
|
'--grpcMaxMessageLength', '2147483647',
|
||||||
|
'--functions-uri', 'http://127.0.0.1:50821',
|
||||||
|
'--functions-worker-id',
|
||||||
|
'e9efd817-47a1-45dc-9e20-e6f975d7a025',
|
||||||
|
'--functions-request-id',
|
||||||
|
'cbef5957-cdb3-4462-9ee7-ac9f91be0a51',
|
||||||
|
'--functions-grpc-max-message-length', '2147483647'])
|
||||||
|
def test_all_args(self):
|
||||||
|
args = parse_args()
|
||||||
|
self.assertEqual(args.host, '127.0.0.1')
|
||||||
|
self.assertEqual(args.port, 50821)
|
||||||
|
self.assertEqual(args.worker_id,
|
||||||
|
'e9efd817-47a1-45dc-9e20-e6f975d7a025')
|
||||||
|
self.assertEqual(args.request_id,
|
||||||
|
'cbef5957-cdb3-4462-9ee7-ac9f91be0a51')
|
||||||
|
self.assertEqual(args.grpc_max_msg_len, 2147483647)
|
||||||
|
self.assertEqual(args.functions_uri, 'http://127.0.0.1:50821')
|
||||||
|
self.assertEqual(args.functions_worker_id,
|
||||||
|
'e9efd817-47a1-45dc-9e20-e6f975d7a025')
|
||||||
|
self.assertEqual(args.functions_request_id,
|
||||||
|
'cbef5957-cdb3-4462-9ee7-ac9f91be0a51')
|
||||||
|
self.assertEqual(args.functions_grpc_max_msg_len, 2147483647)
|
||||||
|
|
||||||
|
@patch.object(sys, 'argv',
|
||||||
|
['xxx', '--host', '127.0.0.1',
|
||||||
|
'--port', '50821',
|
||||||
|
'--workerId', 'e9efd817-47a1-45dc-9e20-e6f975d7a025',
|
||||||
|
'--requestId', 'cbef5957-cdb3-4462-9ee7-ac9f91be0a51',
|
||||||
|
'--grpcMaxMessageLength', '2147483647'])
|
||||||
|
def test_old_args(self):
|
||||||
|
args = parse_args()
|
||||||
|
self.assertEqual(args.host, '127.0.0.1')
|
||||||
|
self.assertEqual(args.port, 50821)
|
||||||
|
self.assertEqual(args.worker_id,
|
||||||
|
'e9efd817-47a1-45dc-9e20-e6f975d7a025')
|
||||||
|
self.assertEqual(args.request_id,
|
||||||
|
'cbef5957-cdb3-4462-9ee7-ac9f91be0a51')
|
||||||
|
self.assertEqual(args.grpc_max_msg_len, 2147483647)
|
||||||
|
self.assertIsNone(args.functions_uri)
|
||||||
|
self.assertIsNone(args.functions_worker_id)
|
||||||
|
self.assertIsNone(args.functions_request_id)
|
||||||
|
self.assertIsNone(args.functions_grpc_max_msg_len)
|
||||||
|
|
||||||
|
@patch.object(sys, 'argv',
|
||||||
|
['xxx', '--functions-uri', 'http://127.0.0.1:50821',
|
||||||
|
'--functions-worker-id',
|
||||||
|
'e9efd817-47a1-45dc-9e20-e6f975d7a025',
|
||||||
|
'--functions-request-id',
|
||||||
|
'cbef5957-cdb3-4462-9ee7-ac9f91be0a51',
|
||||||
|
'--functions-grpc-max-message-length', '2147483647'])
|
||||||
|
def test_new_args(self):
|
||||||
|
args = parse_args()
|
||||||
|
self.assertEqual(args.functions_uri, 'http://127.0.0.1:50821')
|
||||||
|
self.assertEqual(args.functions_worker_id,
|
||||||
|
'e9efd817-47a1-45dc-9e20-e6f975d7a025')
|
||||||
|
self.assertEqual(args.functions_request_id,
|
||||||
|
'cbef5957-cdb3-4462-9ee7-ac9f91be0a51')
|
||||||
|
self.assertEqual(args.functions_grpc_max_msg_len, 2147483647)
|
||||||
|
|
||||||
|
@patch.object(sys, 'argv', ['xxx', '--host', 'dummy_host',
|
||||||
|
'--port', '12345',
|
||||||
|
'--invalid-arg', 'invalid_value'])
|
||||||
|
def test_invalid_args(self):
|
||||||
|
with self.assertRaises(SystemExit) as context:
|
||||||
|
parse_args()
|
||||||
|
self.assertEqual(context.exception.code, 2)
|
Загрузка…
Ссылка в новой задаче