Skip to content

Commit 34bb8e2

Browse files
authored
[ServiceBus] fix failing uamqp tests (Azure#37099)
* [ServiceBus] fix tests failing in uamqp * only run uamqp tests * remove uamqp * add connection verify exception back to test * temp - add back uamqp
1 parent b33b649 commit 34bb8e2

File tree

4 files changed

+27
-6
lines changed

4 files changed

+27
-6
lines changed

sdk/servicebus/azure-servicebus/dev_requirements.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@
44
azure-mgmt-servicebus~=8.0.0
55
aiohttp>=3.0
66
websocket-client
7-
azure-mgmt-resource<=16.0.0
7+
azure-mgmt-resource<=16.0.0
8+
uamqp

sdk/servicebus/azure-servicebus/tests/async_tests/test_sb_client_async.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import hmac
1313
import hashlib
1414
import base64
15+
import certifi
1516
from urllib.parse import quote as url_parse_quote
1617

1718
from azure.core.credentials import AzureSasCredential, AzureNamedKeyCredential, AccessToken
@@ -661,14 +662,23 @@ async def test_custom_endpoint_connection_verify_exception_async(self,
661662
hostname = f"{servicebus_namespace.name}{SERVICEBUS_ENDPOINT_SUFFIX}"
662663
credential = AzureNamedKeyCredential(servicebus_namespace_key_name, servicebus_namespace_primary_key)
663664

664-
client = ServiceBusClient(hostname, credential, connection_verify="cacert.pem", uamqp_transport=uamqp_transport)
665+
# ensure regular connection_verify works
666+
certfile = certifi.where()
667+
client = ServiceBusClient(hostname, credential, connection_verify=certfile, uamqp_transport=uamqp_transport)
668+
async with client:
669+
async with client.get_queue_sender(servicebus_queue.name) as sender:
670+
await sender.send_messages(ServiceBusMessage("foo"))
671+
672+
# invalid cert file to connection_verify should fail
673+
client = ServiceBusClient(hostname, credential, connection_verify="fakecertfile.pem", uamqp_transport=uamqp_transport)
665674
async with client:
666675
with pytest.raises(ServiceBusError):
667676
async with client.get_queue_sender(servicebus_queue.name) as sender:
668677
await sender.send_messages(ServiceBusMessage("foo"))
669678

670679
# Skipping on OSX uamqp - it's raising an Authentication/TimeoutError
671680
if not uamqp_transport or not sys.platform.startswith('darwin'):
681+
# invalid custom endpoint should fail
672682
fake_addr = "fakeaddress.com:1111"
673683
client = ServiceBusClient(
674684
hostname,
@@ -686,7 +696,7 @@ async def test_custom_endpoint_connection_verify_exception_async(self,
686696
hostname,
687697
credential,
688698
custom_endpoint_address=fake_addr,
689-
connection_verify="cacert.pem",
699+
connection_verify=certfile,
690700
retry_total=0,
691701
uamqp_transport=uamqp_transport,
692702
)

sdk/servicebus/azure-servicebus/tests/test_sb_client.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import hmac
1414
import hashlib
1515
import base64
16+
import certifi
1617
try:
1718
from urllib.parse import quote as url_parse_quote
1819
except ImportError:
@@ -689,14 +690,23 @@ def test_custom_endpoint_connection_verify_exception(self,
689690
hostname = f"{servicebus_namespace.name}{SERVICEBUS_ENDPOINT_SUFFIX}"
690691
credential = AzureNamedKeyCredential(servicebus_namespace_key_name, servicebus_namespace_primary_key)
691692

692-
client = ServiceBusClient(hostname, credential, connection_verify="cacert.pem", uamqp_transport=uamqp_transport)
693+
# ensure regular connection_verify works
694+
certfile = certifi.where()
695+
client = ServiceBusClient(hostname, credential, connection_verify=certfile, uamqp_transport=uamqp_transport)
696+
with client:
697+
with client.get_queue_sender(servicebus_queue.name) as sender:
698+
sender.send_messages(ServiceBusMessage("foo"))
699+
700+
# invalid cert file to connection_verify should fail
701+
client = ServiceBusClient(hostname, credential, connection_verify="fakecertfile.pem", uamqp_transport=uamqp_transport)
693702
with client:
694703
with pytest.raises(ServiceBusError):
695704
with client.get_queue_sender(servicebus_queue.name) as sender:
696705
sender.send_messages(ServiceBusMessage("foo"))
697706

698707
# Skipping on OSX uamqp - it's raising an Authentication/TimeoutError
699708
if not uamqp_transport or not sys.platform.startswith('darwin'):
709+
# invalid custom endpoint should fail
700710
fake_addr = "fakeaddress.com:1111"
701711
client = ServiceBusClient(
702712
hostname,
@@ -714,7 +724,7 @@ def test_custom_endpoint_connection_verify_exception(self,
714724
hostname,
715725
credential,
716726
custom_endpoint_address=fake_addr,
717-
connection_verify="cacert.pem",
727+
connection_verify=certfile,
718728
retry_total=0,
719729
uamqp_transport=uamqp_transport,
720730
)

sdk/servicebus/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ extends:
44
template: ../../eng/pipelines/templates/stages/archetype-sdk-tests.yml
55
parameters:
66
ServiceDirectory: servicebus
7-
TestTimeoutInMinutes: 480
7+
TestTimeoutInMinutes: 960
88
UseFederatedAuth: true
99
BuildTargetingString: azure-servicebus*
1010
EnvVars:

0 commit comments

Comments
 (0)