Skip to content

Commit 20b967b

Browse files
committed
update tests
1 parent 357a8fe commit 20b967b

11 files changed

+117
-106
lines changed

test/smoke/test_calls_api.py

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,14 @@
2727
class CallsIntegration(unittest.TestCase):
2828
"""Voice Calls API integration test"""
2929

30-
def setUp(self):
30+
@classmethod
31+
def setUpClass(cls):
3132
configuration = Configuration(
3233
client_id=BW_CLIENT_ID,
3334
client_secret=BW_CLIENT_SECRET
3435
)
3536
api_client = ApiClient(configuration)
36-
self.calls_api_instance = calls_api.CallsApi(api_client)
37+
cls.calls_api_instance = calls_api.CallsApi(api_client)
3738

3839
# Unauthorized API Client
3940

@@ -42,7 +43,7 @@ def setUp(self):
4243
password='bad_password'
4344
)
4445
unauthorized_api_client = ApiClient(unauthorizedConfiguration)
45-
self.unauthorized_api_instance = calls_api.CallsApi(unauthorized_api_client)
46+
cls.unauthorized_api_instance = calls_api.CallsApi(unauthorized_api_client)
4647

4748
# Forbidden API Client
4849

@@ -51,9 +52,9 @@ def setUp(self):
5152
password=FORBIDDEN_PASSWORD
5253
)
5354
forbidden_api_client = ApiClient(forbiddenConfiguration)
54-
self.forbidden_api_instance = calls_api.CallsApi(forbidden_api_client)
55-
self.account_id = BW_ACCOUNT_ID
56-
self.createCallBody = CreateCall(
55+
cls.forbidden_api_instance = calls_api.CallsApi(forbidden_api_client)
56+
cls.account_id = BW_ACCOUNT_ID
57+
cls.createCallBody = CreateCall(
5758
to=USER_NUMBER,
5859
var_from=BW_NUMBER,
5960
privacy=True,
@@ -91,17 +92,18 @@ def setUp(self):
9192
priority=5,
9293
tag="tag_example",
9394
)
94-
self.testCallBody = CreateCall(to=USER_NUMBER, var_from=BW_NUMBER, application_id=BW_VOICE_APPLICATION_ID, answer_url=BASE_CALLBACK_URL)
95-
self.testMantecaCallBody = CreateCall(to=MANTECA_IDLE_NUMBER, var_from=MANTECA_ACTIVE_NUMBER, application_id=MANTECA_APPLICATION_ID, answer_url=MANTECA_BASE_URL + "/bxml/pause")
96-
self.updateStateCompleted = UpdateCall(state=CallStateEnum("completed"))
97-
self.testCallId = "Call-Id"
98-
self.testBxmlBody = '<?xml version="1.0" encoding="UTF-8"?><Bxml><SpeakSentence locale="en_US" gender="female" voice="susan">This is a test bxml response</SpeakSentence><Pause duration="3"/></Bxml>'
99-
self.callIdArray = []
100-
self.TEST_SLEEP = 5
101-
self.TEST_SLEEP_LONG = 15
102-
103-
def tearDown(self):
104-
callCleanup(self)
95+
cls.testCallBody = CreateCall(to=USER_NUMBER, var_from=BW_NUMBER, application_id=BW_VOICE_APPLICATION_ID, answer_url=BASE_CALLBACK_URL)
96+
cls.testMantecaCallBody = CreateCall(to=MANTECA_IDLE_NUMBER, var_from=MANTECA_ACTIVE_NUMBER, application_id=MANTECA_APPLICATION_ID, answer_url=MANTECA_BASE_URL + "/bxml/pause")
97+
cls.updateStateCompleted = UpdateCall(state=CallStateEnum("completed"))
98+
cls.testCallId = "Call-Id"
99+
cls.testBxmlBody = '<?xml version="1.0" encoding="UTF-8"?><Bxml><SpeakSentence locale="en_US" gender="female" voice="susan">This is a test bxml response</SpeakSentence><Pause duration="3"/></Bxml>'
100+
cls.callIdArray = []
101+
cls.TEST_SLEEP = 5
102+
cls.TEST_SLEEP_LONG = 15
103+
104+
@classmethod
105+
def tearDownClass(cls):
106+
callCleanup(cls)
105107

106108
def assertApiException(self, context: ApiException, expectedException: ApiException, expected_status_code: int):
107109
"""Validates that common API exceptions, (401, 403, and 404) are properly formatted

test/smoke/test_conferences_api.py

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ class ConferencesIntegration(unittest.TestCase):
3333
Voice Conferences API integration test
3434
"""
3535

36-
def setUp(self):
36+
@classmethod
37+
def setUpClass(cls):
3738
"""
3839
Set up for our tests by creating the CallsApi and ConferencesApi instances
3940
for testing as well as the unauthorized and forbidden credentials for the 4xx tests.
@@ -44,33 +45,33 @@ def setUp(self):
4445
)
4546
api_client = ApiClient(configuration)
4647

47-
self.calls_api_instance = calls_api.CallsApi(api_client)
48-
self.conference_api_instance = conferences_api.ConferencesApi(api_client)
48+
cls.calls_api_instance = calls_api.CallsApi(api_client)
49+
cls.conference_api_instance = conferences_api.ConferencesApi(api_client)
4950

5051
unauthorizedConfiguration = Configuration(
5152
username='bad_username',
5253
password='bad_password'
5354
)
5455
unauthorized_api_client = ApiClient(unauthorizedConfiguration)
55-
self.unauthorized_api_instance = conferences_api.ConferencesApi(unauthorized_api_client)
56+
cls.unauthorized_api_instance = conferences_api.ConferencesApi(unauthorized_api_client)
5657

5758
forbiddenConfiguration = Configuration(
5859
username=FORBIDDEN_USERNAME,
5960
password=FORBIDDEN_PASSWORD
6061
)
6162
forbidden_api_client = ApiClient(forbiddenConfiguration)
62-
self.forbidden_api_instance = conferences_api.ConferencesApi(forbidden_api_client)
63+
cls.forbidden_api_instance = conferences_api.ConferencesApi(forbidden_api_client)
6364

6465
# Rest client for interacting with Manteca
65-
self.rest_client = RESTClientObject(Configuration.get_default_copy())
66+
cls.rest_client = RESTClientObject(Configuration.get_default_copy())
6667
configuration = Configuration(
6768
username=BW_USERNAME,
6869
password=BW_PASSWORD,
6970
)
7071

71-
self.account_id = BW_ACCOUNT_ID
72-
self.callIdArray = []
73-
self.testUpdateConf = UpdateConference(
72+
cls.account_id = BW_ACCOUNT_ID
73+
cls.callIdArray = []
74+
cls.testUpdateConf = UpdateConference(
7475
state=ConferenceStateEnum("active"),
7576
redirect_url=MANTECA_BASE_URL + "/bxml/pause",
7677
redirect_method=RedirectMethodEnum("POST"),
@@ -82,17 +83,18 @@ def setUp(self):
8283
fallback_password="mySecretPassword1!",
8384
tag="My Custom Tag",
8485
)
85-
self.testUpdateBxml = '<?xml version="1.0" encoding="UTF-8"?><Bxml><SpeakSentence locale="en_US" gender="female" voice="susan">This is test BXML.</SpeakSentence></Bxml>'
86-
self.testUpdateMember = UpdateConferenceMember(mute=False)
87-
self.testConfId = "Conf-id"
88-
self.testMemberId = "Member-Id"
89-
self.testRecordId = "Recording-Id"
90-
self.TEST_SLEEP = 3
91-
self.TEST_SLEEP_LONG = 10
92-
self.MAX_RETRIES = 40
93-
94-
def tearDown(self):
95-
callCleanup(self)
86+
cls.testUpdateBxml = '<?xml version="1.0" encoding="UTF-8"?><Bxml><SpeakSentence locale="en_US" gender="female" voice="susan">This is test BXML.</SpeakSentence></Bxml>'
87+
cls.testUpdateMember = UpdateConferenceMember(mute=False)
88+
cls.testConfId = "Conf-id"
89+
cls.testMemberId = "Member-Id"
90+
cls.testRecordId = "Recording-Id"
91+
cls.TEST_SLEEP = 3
92+
cls.TEST_SLEEP_LONG = 10
93+
cls.MAX_RETRIES = 40
94+
95+
@classmethod
96+
def tearDownClass(cls):
97+
callCleanup(cls)
9698

9799
def assertApiException(self, context: ApiException, expectedException: ApiException, expected_status_code: int):
98100
"""Validates that common API exceptions, (401, 403, and 404) are properly formatted

test/smoke/test_media_api.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,20 @@ class TestMedia(unittest.TestCase):
2121
"""Media API integration Test
2222
"""
2323

24-
def setUp(self) -> None:
24+
@classmethod
25+
def setUpClass(cls) -> None:
2526
configuration = Configuration(
2627
username=BW_USERNAME,
2728
password=BW_PASSWORD
2829
)
29-
self.api_client = ApiClient(configuration)
30-
self.api_instance = media_api.MediaApi(self.api_client)
31-
self.account_id = BW_ACCOUNT_ID
32-
self.media_path = "./test/fixtures/"
33-
self.media_file = "python_cat.jpeg"
34-
self.media_id = PYTHON_VERSION + "_" + RUNNER_OS + "_" + str(uuid.uuid4()) + "_" + self.media_file
35-
self.download_file_path = "cat_download.jpeg"
36-
self.original_file = open(self.media_path + self.media_file, "rb")
30+
cls.api_client = ApiClient(configuration)
31+
cls.api_instance = media_api.MediaApi(cls.api_client)
32+
cls.account_id = BW_ACCOUNT_ID
33+
cls.media_path = "./test/fixtures/"
34+
cls.media_file = "python_cat.jpeg"
35+
cls.media_id = PYTHON_VERSION + "_" + RUNNER_OS + "_" + str(uuid.uuid4()) + "_" + cls.media_file
36+
cls.download_file_path = "cat_download.jpeg"
37+
cls.original_file = open(cls.media_path + cls.media_file, "rb")
3738

3839
def uploadMedia(self) -> None:
3940
"""Test uploading media

test/smoke/test_messages_api.py

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -27,43 +27,44 @@
2727
class TestMessagesApi(unittest.TestCase):
2828
"""MessagesApi unit test stubs"""
2929

30-
def setUp(self):
30+
@classmethod
31+
def setUpClass(cls):
3132
# API Client
3233
configuration = Configuration(
3334
client_id=BW_CLIENT_ID,
3435
client_secret=BW_CLIENT_SECRET
3536
)
3637
api_client = ApiClient(configuration)
37-
self.api_instance = messages_api.MessagesApi(api_client)
38-
self.account_id = BW_ACCOUNT_ID
38+
cls.api_instance = messages_api.MessagesApi(api_client)
39+
cls.account_id = BW_ACCOUNT_ID
3940

4041
# Unauthorized API Client
41-
self.unauthorized_api_client = ApiClient()
42-
self.unauthorized_api_instance = messages_api.MessagesApi(self.unauthorized_api_client)
42+
cls.unauthorized_api_client = ApiClient()
43+
cls.unauthorized_api_instance = messages_api.MessagesApi(cls.unauthorized_api_client)
4344

4445
# Message Properties
45-
self.application_id = BW_MESSAGING_APPLICATION_ID
46-
self.to_number = [USER_NUMBER]
47-
self.from_number = BW_NUMBER
48-
self.text = 'python integration'
49-
self.media = ['https://cdn2.thecatapi.com/images/MTY3ODIyMQ.jpg']
50-
self.tag = 'python integration tag'
51-
self.priority = PriorityEnum("default")
46+
cls.application_id = BW_MESSAGING_APPLICATION_ID
47+
cls.to_number = [USER_NUMBER]
48+
cls.from_number = BW_NUMBER
49+
cls.text = 'python integration'
50+
cls.media = ['https://cdn2.thecatapi.com/images/MTY3ODIyMQ.jpg']
51+
cls.tag = 'python integration tag'
52+
cls.priority = PriorityEnum("default")
5253

5354
# Message Request
54-
self.message_request = MessageRequest(
55-
application_id=self.application_id,
56-
to=self.to_number,
57-
var_from=self.from_number,
58-
text=self.text,
59-
media=self.media,
60-
tag=self.tag,
61-
priority=self.priority,
55+
cls.message_request = MessageRequest(
56+
application_id=cls.application_id,
57+
to=cls.to_number,
58+
var_from=cls.from_number,
59+
text=cls.text,
60+
media=cls.media,
61+
tag=cls.tag,
62+
priority=cls.priority,
6263
)
6364

6465
# Invalid Message Request
65-
self.invalid_message_request = MessageRequest(
66-
application_id=self.application_id,
66+
cls.invalid_message_request = MessageRequest(
67+
application_id=cls.application_id,
6768
to=['+invalid'],
6869
var_from='+invalid',
6970
text='',

test/smoke/test_mfa_api.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,31 +25,32 @@ class TestMultiFactorAuthentication(unittest.TestCase):
2525
"""Multi-Factor Authentication API integration Test
2626
"""
2727

28-
def setUp(self) -> None:
28+
@classmethod
29+
def setUpClass(cls) -> None:
2930
configuration = Configuration(
3031
username=BW_USERNAME,
3132
password=BW_PASSWORD
3233
)
3334
api_client = ApiClient(configuration)
34-
self.api_instance = mfa_api.MFAApi(api_client)
35-
self.account_id = BW_ACCOUNT_ID
36-
self.messaging_code_request = CodeRequest(
35+
cls.api_instance = mfa_api.MFAApi(api_client)
36+
cls.account_id = BW_ACCOUNT_ID
37+
cls.messaging_code_request = CodeRequest(
3738
to=USER_NUMBER,
3839
var_from=BW_NUMBER,
3940
application_id=BW_MESSAGING_APPLICATION_ID,
4041
scope="scope",
4142
message="Your temporary {NAME} {SCOPE} code is {CODE}",
4243
digits=6,
4344
)
44-
self.voice_code_request = CodeRequest(
45+
cls.voice_code_request = CodeRequest(
4546
to=USER_NUMBER,
4647
var_from=BW_NUMBER,
4748
application_id=BW_VOICE_APPLICATION_ID,
4849
scope="scope",
4950
message="Your temporary {NAME} {SCOPE} code is {CODE}",
5051
digits=6,
5152
)
52-
self.bad_code_request = CodeRequest(
53+
cls.bad_code_request = CodeRequest(
5354
to=USER_NUMBER,
5455
var_from=BW_NUMBER,
5556
application_id='not_an_application_id',

test/smoke/test_multi_channel_api.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,16 @@
4444
class TestMultiChannelApi(unittest.TestCase):
4545
"""MultiChannelApi unit test stubs"""
4646

47-
def setUp(self) -> None:
47+
@classmethod
48+
def setUpClass(cls) -> None:
4849
configuration = Configuration(
4950
username=BW_USERNAME,
5051
password=BW_PASSWORD,
5152
)
5253
api_client = ApiClient(configuration)
53-
self.multi_channel_api_instance = MultiChannelApi(api_client)
54+
cls.multi_channel_api_instance = MultiChannelApi(api_client)
5455

55-
self.expiration = datetime.now(ZoneInfo('America/New_York')) + timedelta(minutes=1)
56+
cls.expiration = datetime.now(ZoneInfo('America/New_York')) + timedelta(minutes=1)
5657

5758
def test_create_multi_channel_sms_message(self) -> None:
5859
"""Test case for create_multi_channel_message

test/smoke/test_phone_number_lookup_api.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,18 +38,16 @@
3838
class TestPhoneNumberLookupApi(unittest.TestCase):
3939
"""PhoneNumberLookupApi unit test stubs"""
4040

41-
def setUp(self) -> None:
41+
@classmethod
42+
def setUpClass(cls) -> None:
4243
configuration = Configuration(
4344
client_id=BW_CLIENT_ID,
4445
client_secret=BW_CLIENT_SECRET
4546
)
4647
api_client = ApiClient(configuration)
47-
self.api = PhoneNumberLookupApi(api_client)
48+
cls.api = PhoneNumberLookupApi(api_client)
4849

49-
self.phone_numbers = [BW_NUMBER, USER_NUMBER]
50-
51-
def tearDown(self) -> None:
52-
pass
50+
cls.phone_numbers = [BW_NUMBER, USER_NUMBER]
5351

5452
def test_create_get_async_bulk_lookup(self) -> None:
5553
"""Test case for create_async_bulk_lookup

test/smoke/test_recordings_api.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ class TestRecordings(unittest.TestCase):
6060
Integration tests for the Recordings API.
6161
"""
6262

63-
def setUp(self) -> None:
63+
@classmethod
64+
def setUpClass(cls) -> None:
6465
"""
6566
Set up for our tests by creating the CallsApi and RecordingsApi instances
6667
for testing.
@@ -72,22 +73,23 @@ def setUp(self) -> None:
7273
api_client = ApiClient(configuration)
7374

7475
# Two Valid API Clients
75-
self.calls_api_instance = CallsApi(api_client)
76-
self.recordings_api_instance = RecordingsApi(api_client)
76+
cls.calls_api_instance = CallsApi(api_client)
77+
cls.recordings_api_instance = RecordingsApi(api_client)
7778

7879
# Unauthorized Recordings API Client
79-
self.unauthorized_recordings_api_instance = RecordingsApi(
80+
cls.unauthorized_recordings_api_instance = RecordingsApi(
8081
api_client=ApiClient(Configuration.get_default_copy())
8182
)
8283

8384
# Rest client for interacting with Manteca
84-
self.rest_client = RESTClientObject(Configuration.get_default_copy())
85+
cls.rest_client = RESTClientObject(Configuration.get_default_copy())
8586

8687
# Call ID Array
87-
self.callIdArray = []
88+
cls.callIdArray = []
8889

89-
def tearDown(self):
90-
callCleanup(self)
90+
@classmethod
91+
def tearDownClass(cls):
92+
callCleanup(cls)
9193

9294
def create_and_validate_call(self, answer_url: str) -> Tuple[str, str]:
9395
"""

test/smoke/test_statistics_api.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,15 @@ class TestStatisticsApi(unittest.TestCase):
1515
"""StatisticsApi integration Test
1616
"""
1717

18-
def setUp(self):
18+
@classmethod
19+
def setUpClass(cls):
1920
configuration = Configuration(
2021
client_id=BW_CLIENT_ID,
2122
client_secret=BW_CLIENT_SECRET
2223
)
23-
self.api_client = ApiClient(configuration)
24-
self.api_instance = StatisticsApi(self.api_client)
25-
self.account_id = BW_ACCOUNT_ID
24+
cls.api_client = ApiClient(configuration)
25+
cls.api_instance = StatisticsApi(cls.api_client)
26+
cls.account_id = BW_ACCOUNT_ID
2627

2728
def test_get_statistics(self):
2829
api_response_with_http_info = self.api_instance.get_statistics_with_http_info(self.account_id)

0 commit comments

Comments
 (0)