23
23
"""
24
24
25
25
import itertools
26
+ import os
26
27
27
28
import pytest
28
29
29
30
import webexteamssdk
30
31
from tests .utils import create_string
31
32
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
+
32
41
33
42
# Helper Functions
34
43
@@ -42,131 +51,63 @@ def are_valid_room_tabs(iterable):
42
51
43
52
44
53
# 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
-
56
54
@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" ),
66
60
)
67
61
68
- yield team_room
62
+ yield room_tab
69
63
70
- api .rooms .delete (team_room .id )
64
+ api .room_tabs .delete (room_tab .id )
71
65
72
66
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
+ )
81
74
82
- yield room
75
+ yield temp_room_tab
83
76
84
77
try :
85
- api .rooms .delete (room .id )
78
+ api .room_tabs .delete (temp_room_tab .id )
86
79
except webexteamssdk .ApiError :
87
80
pass
88
81
89
82
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
-
108
83
# Tests
109
84
110
85
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 )
133
90
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)
138
91
92
+ def test_create_room_tab (room_tab ):
93
+ assert is_valid_room_tab (room_tab )
139
94
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)
144
95
96
+ def test_get_room_tab (api , room_tab ):
97
+ assert is_valid_room_tab (api .room_tabs .get (room_tab .id ))
145
98
146
- # def test_create_group_room(group_room):
147
- # assert is_valid_room(group_room)
148
99
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
169
110
170
111
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