Skip to content

Commit de20d2f

Browse files
committed
Fix: Add Test Room Tabs tests
- Add missing Room Tabs tests - Add the RoomTab class to the main module's interface
1 parent 21596a1 commit de20d2f

File tree

2 files changed

+47
-105
lines changed

2 files changed

+47
-105
lines changed

tests/api/test_room_tabs.py

Lines changed: 45 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,21 @@
2323
"""
2424

2525
import itertools
26+
import os
2627

2728
import pytest
2829

2930
import webexteamssdk
3031
from tests.utils import create_string
3132

33+
WEBEX_TEAMS_TEST_FILE_URL = os.environ.get("WEBEX_TEAMS_TEST_FILE_URL")
34+
35+
if not WEBEX_TEAMS_TEST_FILE_URL:
36+
pytest.skip(
37+
"WEBEX_TEAMS_TEST_FILE_URL environment variable is not set.",
38+
allow_module_level=True,
39+
)
40+
3241

3342
# Helper Functions
3443

@@ -42,131 +51,63 @@ def are_valid_room_tabs(iterable):
4251

4352

4453
# Fixtures
45-
46-
47-
@pytest.fixture(scope="session")
48-
def group_room(api):
49-
room = api.rooms.create(title=create_string("Group Room"))
50-
51-
yield room
52-
53-
api.rooms.delete(room.id)
54-
55-
5654
@pytest.fixture(scope="session")
57-
def direct_rooms(api, direct_messages):
58-
return [api.rooms.get(message.roomId) for message in direct_messages]
59-
60-
61-
@pytest.fixture(scope="session")
62-
def team_room(api, team):
63-
team_room = api.rooms.create(
64-
title=create_string("Team Room"),
65-
teamId=team.id,
55+
def room_tab(api, group_room):
56+
room_tab = api.room_tabs.create(
57+
roomId=group_room.id,
58+
contentUrl=WEBEX_TEAMS_TEST_FILE_URL,
59+
displayName=create_string("RoomTab"),
6660
)
6761

68-
yield team_room
62+
yield room_tab
6963

70-
api.rooms.delete(team_room.id)
64+
api.room_tabs.delete(room_tab.id)
7165

7266

73-
@pytest.fixture(scope="session")
74-
def list_of_rooms(api, group_room, direct_rooms, team_room):
75-
return list(api.rooms.list())
76-
77-
78-
@pytest.fixture
79-
def temp_room(api):
80-
room = api.rooms.create(title=create_string("Temp Room"))
67+
@pytest.fixture()
68+
def temp_room_tab(api, group_room):
69+
temp_room_tab = api.room_tabs.create(
70+
roomId=group_room.id,
71+
contentUrl=WEBEX_TEAMS_TEST_FILE_URL,
72+
displayName=create_string("RoomTab"),
73+
)
8174

82-
yield room
75+
yield temp_room_tab
8376

8477
try:
85-
api.rooms.delete(room.id)
78+
api.room_tabs.delete(temp_room_tab.id)
8679
except webexteamssdk.ApiError:
8780
pass
8881

8982

90-
@pytest.fixture
91-
def add_rooms(api):
92-
rooms = []
93-
94-
def inner(num_rooms):
95-
for i in range(num_rooms):
96-
rooms.append(api.rooms.create(create_string("Additional Room")))
97-
return rooms
98-
99-
yield inner
100-
101-
for room in rooms:
102-
try:
103-
api.rooms.delete(room.id)
104-
except webexteamssdk.ApiError:
105-
pass
106-
107-
10883
# Tests
10984

11085

111-
def test_list_all_room_tabs(list_of_room_tabs):
112-
assert len(list_of_room_tabs) > 0
113-
assert are_valid_room_tabs(list_of_room_tabs)
114-
115-
116-
# def test_list_rooms_with_paging(api, list_of_rooms, add_rooms):
117-
# page_size = 1
118-
# pages = 3
119-
# num_rooms = pages * page_size
120-
# if len(list_of_rooms) < num_rooms:
121-
# add_rooms(num_rooms - len(list_of_rooms))
122-
# rooms = api.rooms.list(max=page_size)
123-
# rooms_list = list(itertools.islice(rooms, num_rooms))
124-
# assert len(rooms_list) == num_rooms
125-
# assert are_valid_rooms(rooms_list)
126-
127-
128-
# def test_list_group_rooms(api, group_room):
129-
# group_rooms_list = list(api.rooms.list(type='group'))
130-
# assert len(group_rooms_list) > 0
131-
# assert are_valid_rooms(group_rooms_list)
132-
86+
def test_list_all_room_tabs(api, group_room, room_tab):
87+
all_room_tabs = list(api.room_tabs.list(roomId=group_room.id))
88+
assert len(all_room_tabs) > 0
89+
assert are_valid_room_tabs(all_room_tabs)
13390

134-
# def test_list_team_rooms(api, team, team_room):
135-
# team_rooms_list = list(api.rooms.list(teamId=team.id))
136-
# assert len(team_rooms_list) > 0
137-
# assert are_valid_rooms(team_rooms_list)
13891

92+
def test_create_room_tab(room_tab):
93+
assert is_valid_room_tab(room_tab)
13994

140-
# def test_list_direct_rooms(api, direct_rooms):
141-
# direct_rooms_list = list(api.rooms.list(type='direct'))
142-
# assert len(direct_rooms_list) > 0
143-
# assert are_valid_rooms(direct_rooms_list)
14495

96+
def test_get_room_tab(api, room_tab):
97+
assert is_valid_room_tab(api.room_tabs.get(room_tab.id))
14598

146-
# def test_create_group_room(group_room):
147-
# assert is_valid_room(group_room)
14899

149-
150-
# def test_create_team_room(team_room):
151-
# assert is_valid_room(team_room)
152-
153-
154-
# def test_get_room_details(api, group_room):
155-
# room = api.rooms.get(group_room.id)
156-
# assert is_valid_room(room)
157-
158-
159-
# def test_get_room_meeting_info(api, group_room):
160-
# room_meeting_info = api.rooms.get_meeting_info(group_room.id)
161-
# assert is_valid_room_meeting_info(room_meeting_info)
162-
163-
164-
# def test_update_room_title(api, group_room):
165-
# new_title = create_string("Updated Group Room")
166-
# room = api.rooms.update(group_room.id, title=new_title)
167-
# assert is_valid_room(room)
168-
# assert room.title == new_title
100+
def test_update_room_tab(api, group_room, room_tab):
101+
new_display_name = create_string("RoomTab")
102+
updated_room_tab = api.room_tabs.update(
103+
roomTabId=room_tab.id,
104+
roomId=group_room.id,
105+
contentUrl=room_tab.contentUrl,
106+
displayName=new_display_name,
107+
)
108+
assert is_valid_room_tab(updated_room_tab)
109+
assert updated_room_tab.displayName == new_display_name
169110

170111

171-
# def test_delete_room(api, temp_room):
172-
# api.rooms.delete(temp_room.id)
112+
def test_delete_room_tab(api, temp_room_tab):
113+
api.room_tabs.delete(temp_room_tab.id)

webexteamssdk/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,15 @@
6868
Message,
6969
Organization,
7070
Person,
71+
Recording,
7172
Role,
7273
Room,
7374
RoomMeetingInfo,
75+
RoomTab,
7476
Team,
7577
TeamMembership,
7678
Webhook,
7779
WebhookEvent,
78-
Recording,
7980
)
8081
from .models.simple import simple_data_factory, SimpleDataModel
8182
from .utils import WebexTeamsDateTime

0 commit comments

Comments
 (0)