2323"""
2424
2525import itertools
26+ import os
2627
2728import pytest
2829
2930import webexteamssdk
3031from 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 )
0 commit comments