Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ServiceBus] add uamqp switch to pyproto + test kwargs/exceptions #26657

Closed
7 of 10 tasks
swathipil opened this issue Oct 5, 2022 · 4 comments
Closed
7 of 10 tasks

[ServiceBus] add uamqp switch to pyproto + test kwargs/exceptions #26657

swathipil opened this issue Oct 5, 2022 · 4 comments
Assignees
Labels
AMQP Python Client This issue points to a problem in the data-plane of the library. Messaging Messaging crew Service Bus
Milestone

Comments

@swathipil
Copy link
Member

swathipil commented Oct 5, 2022

similar to the switch added to EH, add a uamqp switch to SB.
TODO:

  • currently, connection verify tests are being skipped. Fix these in pyproto and ensure that connection verify works as expected. PR from main [here]. Must be failing for the same reason as listed [here] for EH.
  • Unskip all tests currently being skipped since receive iterator isn't working.
  • Test pickling ServiceBusReceivedMessage that has data described in issue error when pickle ServiceBusReceivedMessage object #27947
  • Test errors:
    • entities not existing when trying to send/receive. --> same SBError for uamqp + pyamqp
    • pass in uamqp.TransportType.AmqpOverWebsocket
    • manually create ServiceBusMessageBatch and set client to uamqp_transport=True when sending.
  • Manually test:
  • proxy
  • custom endpoint + connection_verify
  • user_agent
@swathipil swathipil added Service Bus Client This issue points to a problem in the data-plane of the library. Messaging Messaging crew AMQP Python labels Oct 5, 2022
@swathipil swathipil added this to the 2022-11 milestone Oct 5, 2022
@swathipil swathipil self-assigned this Oct 5, 2022
@github-actions github-actions bot added the needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. label Oct 5, 2022
@xiangyan99 xiangyan99 removed the needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. label Oct 6, 2022
@swathipil
Copy link
Member Author

swathipil commented Apr 19, 2023

added switch here: ccf809f

@swathipil swathipil changed the title [ServiceBus] add uamqp switch to pyproto [ServiceBus] add uamqp switch to pyproto + test kwargs/exceptions Apr 19, 2023
@IsmaelJS
Copy link

Hi @swathipil , when would you release this fix?

@swathipil
Copy link
Member Author

Hi @IsmaelJS - This feature will be included in the upcoming release planned for beginning of May 2023 and will include support for pickling ServiceBusReceivedMessage issue here: #27947. Thanks!

@swathipil
Copy link
Member Author

swathipil commented Apr 26, 2023

x = not implemented
y = passed
n = not passed

API to test kwargs/exception test file test case passed?
SBClient valid fully_qualified_namespace test_topic.py+ async test_topic_by_sas_token_credential_conn_str_send_basic y
SBClient invalid fully_qualified_namespace test_sb_client.py+ async test_sb_client_bad_namespace y - raised ServiceBusError
SBClient invalid fully_qualified_namespace test_sb_client.py+ async test_sb_client_bad_namespace y - raised ServiceBusError
SBClient credential= sas credential test_sb_client.py+ async test_client_sas_credential y
SBClient credential= AzureSasCredential test_sb_client.py+ async test_azure_sas_credential y
SBClient credential= AzureNamedKeyCredential test_sb_client.py+ async test_azure_named_key_credential y
SBClient credential=invalid test_sb_client.py+ async test_sb_client_bad_credentials y - raises ServiceBusAuthError
SBClient logging_enable=True all files most methods x (can't test logging)
SBClient transport_type=TransportType.AmqpOverWebsocket test_queues.py+ async test_queue_message_amqp_over_websocket y
SBClient transport_type=uamqp.TransportType.AmqpOverWebsocket test_queues.py+ async test_queue_send_twice y
SBClient transport_type=TransportType.Amqp test_queues.py+ async test_queue_message_receive_and_delete y
SBClient http_proxy = mock test_queues.py+ async test_queue_message_http_proxy_setting y
SBClient user_agent = "test" x x y - manual testing
SBClient retry_total = 1 test_sessions + async test_session_by..._with_no_session y
SBClient retry_total = 1 test_sessions + async test_session_by..._with_no_session, async session_pool, async idemtpotent y
SBClient retry_backoff_factor test_sb_client + async test_backoff_fixed_retry y
SBClient custom_endpoint_address x x x - manual testing
SBClient invalid custom_endpoint_address test_sb_client.py + async test_connection_verify_custom_endpoint_exception y - ServiceBusConnectionError
SBClient valid connection_verify x x x - manual testing
SBClient invalid connection_verify test_sb_client.py + async test_connection_verify_exception y - ServiceBusError
SBClient from_connection_string with token test_sb_client.py + async test_client_sas_credential y
SBClient from_connection_string + custom cred w/ expired token test_sb_client.py + async test_client_sas_credential y - ServiceBusAuthError
SBClient get_queue_sender + client_identifier test_sb_client.py + async test_custom_client_id_queue_sender y
SBClient get_topic_sender + client_identifier test_sb_client.py + async test_custom_client_id_topic_sender y
SBClient get_queue_receiver + client_identifier test_sb_client.py + async test_custom_client_id_queue_receiver y
SBClient get_queue_receiver + session_id w/ non session queue test_sessions.py + async test_session...handler_with_no_session y - OperationTimeoutError
SBClient get_queue_receiver + session_id NEXT_AVAILABLE_SESSION test_sessions.py + async test_session_connection_failure_is_idempotent y
SBClient get_queue_receiver + session_id custom session id test_sessions.py + async test_session...deferred_receiver_complete y
SBClient get_queue_receiver + session_id non-string id test_sessions.py + async test_session_connection_failure_is_idempotent y - ServiceBusError
SBClient get_queue_receiver + receive_mode PEEK_LOCK test_receive.py + async ...peeklock y
SBClient get_queue_receiver + receive_mode RECEIVE_AND_DELETE test_receive.py + async ...receive_and_delete y
SBClient get_queue_receiver + receive_mode valid string test_receive.py + async test_queue_by_...enum_case_sensitivity y
SBClient get_queue_receiver + receive_mode invalid string test_receive.py + async test_queue_by_...enum_case_sensitivity y - ValueError
SBClient get_queue_receiver + receive_mode invalid type test_queues.py + async test_queue_receiver_invalid_mode y - ValueError
SBClient get_queue_receiver + receive and delete + complete_message test_queues.py + async test_queue_...receiveanddelete y - ValueError
SBClient get_queue_receiver + receive and delete + register AutoLockRenewer test_queues.py + async test_queue_...receiveanddelete y - ValueError
SBClient get_queue_receiver + max_wait_time=None x x y - manual testing
SBClient get_queue_receiver + max_wait_time=0 test_queues.py + async test_queue...peeklock y
SBClient get_queue_receiver + max_wait_time int > 0 test_queues.py + async many y
SBClient get_queue_receiver + max_wait_time int > 0 test_queues.py + async many y
SBClient get_queue_receiver + auto lock renewer receive + w/ expiry test_queues.py + async test_queue...auto_autolockrenew y - SessionLockLostError
SBClient get_queue_receiver + auto lock renewer receive + w/ expiry + session test_sessions.py + async test_session...with_auto_autolockrenew y - SessionLockLostError
SBClient get_queue_receiver + prefetch_count 0 10 test_queues.py + sessions async test_session...with_auto_autolockrenew y
SBSender get_queue/topic_sender + client_identifier test_sb_client.py + async test_custom_client_id_queue_sender y
SBSender create_message_batch - default max_batch_size test_queues.py + async test_queue_send_twice y
SBSender create_message_batch - max_batch_size test_queues.py + async test_queue_send_twice y
SBSender send_messages - disable entity (vendor link detach) x x - local testing y - MessagingEntityDisabledError
SBSender send_messages(AmqpAnnotatedMessage) test_queues.py + async test_queue_send_amqp_annotated_message y
SBSender send_messages w/ manual ServiceBusMessageBatch of other amqp transport (Uamqp vs. Pyamqp) test_queues.py + async test_queue_message_batch y
SBSender send_messages(timeout = 5) test_queues.py + async test_async_queue...handler_peeklock y
SBSender schedule_messages + re-send received test_queues.py + async test_async_queue...handler_peeklock y
SBSender cancel_scheduled_messages test_queues.py + async ... y
SBReceiver session test_sessions.py + async test_session_by...renew_client_locks y
SBReceiver iterator test_queues.py + async test_queue...handler_peeklock y
SBReceiver receive_messages w/ max message count = int + max_wait_time = int test_queues.py + async test_queue...handler_release_messages y
SBReceiver receive_messages w/ max_wait_time = None x x y - local testing
SBReceiver receive_deferred_messages w/ timeout test_queues_async.py test_async_queue...deferred_client y - ServiceBusError
SBReceiver peek_messages, sequence_number x x y - manual testing
SBReceiver complete_message iterator + receive_messages test_queues.py + async ... y
SBReceiver abandon_message test_queues.py + async test_queue...with_abandon y
SBReceiver defer_message test_queues.py + async test_queue...with_defer y
SBReceiver dead_letter_message test_queues.py + async test_queue...with_retrieve_deferred_receiver_deadletter y
SBReceiver renew_message_lock w/ + w/o timeout test_queues.py + async test_async_queue_message_lock_renew y
SBReceiver iterator + check keep alive for network disconnect x x x - manual testing
SBClient get_subscription_receiver + client_identifier test_sb_client.py + async test_custom_client_id_subscription_receiver y
SBClient get_subscription_receiver ... x x - queue receiver kwargs/results applicable

@github-actions github-actions bot locked and limited conversation to collaborators Aug 3, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
AMQP Python Client This issue points to a problem in the data-plane of the library. Messaging Messaging crew Service Bus
Projects
None yet
Development

No branches or pull requests

3 participants