Skip to content

Commit 2854fc8

Browse files
committed
add room create and delete test case and rebuild forward
1 parent a6dead2 commit 2854fc8

File tree

5 files changed

+92
-3
lines changed

5 files changed

+92
-3
lines changed

src/main/java/com/qiniu/rtc/QRTCClient.java

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,40 @@ public Response call() throws QiniuException {
107107

108108
/////////////////////////room service//////////////////////////////////////
109109

110+
/**
111+
* 创建房间
112+
*
113+
* @param roomParam
114+
* @return
115+
* @throws QiniuException
116+
*/
117+
public QRTCResult<RoomResult> createRoom(final RoomParam roomParam) throws QiniuException {
118+
ServiceCallFunc func = new ServiceCallFunc() {
119+
@Override
120+
public Response call() throws QiniuException {
121+
return roomService.createRoom(appId, roomParam);
122+
}
123+
};
124+
return buildResult(func, RoomResult.class);
125+
}
126+
127+
/**
128+
* 删除房间
129+
*
130+
* @param roomName
131+
* @return
132+
* @throws QiniuException
133+
*/
134+
public QRTCResult<RoomResult> deleteRoom(final String roomName) throws QiniuException {
135+
ServiceCallFunc func = new ServiceCallFunc() {
136+
@Override
137+
public Response call() throws QiniuException {
138+
return roomService.deleteRoom(appId, roomName);
139+
}
140+
};
141+
return buildResult(func, RoomResult.class);
142+
}
143+
110144
/**
111145
* 获取房间内的所有用户
112146
*
@@ -271,7 +305,7 @@ public QRTCResult<MergeResult> updateMergeTrack(final MergeTrackParam mergeTrack
271305
ServiceCallFunc updateMergeTrackFunc = new ServiceCallFunc() {
272306
@Override
273307
public Response call() throws QiniuException {
274-
UrlParam mergeTrackUrlParam = UrlParam.builder().appId(appId).roomName(roomName).jobId(jobId).build();
308+
UrlParam mergeTrackUrlParam = UrlParam.builder().appId(appId).roomName(roomName).jobId(jobId).build();
275309
return mergeService.updateMergeTrack(mergeTrackParam, mergeTrackUrlParam);
276310
}
277311
};
@@ -292,7 +326,7 @@ public QRTCResult<MergeResult> updateMergeWatermarks(final WatermarksParam water
292326
ServiceCallFunc updateMergeWatermarksFunc = new ServiceCallFunc() {
293327
@Override
294328
public Response call() throws QiniuException {
295-
UrlParam mergeWatermarksUrlParam = UrlParam.builder().appId(appId).roomName(roomName).jobId(jobId).build();
329+
UrlParam mergeWatermarksUrlParam = UrlParam.builder().appId(appId).roomName(roomName).jobId(jobId).build();
296330
return mergeService.updateMergeWatermarks(watermarksParam, mergeWatermarksUrlParam);
297331
}
298332
};
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// codebeat:disable[TOO_MANY_IVARS]
2+
package com.qiniu.rtc.model;
3+
4+
import lombok.Data;
5+
6+
@Data
7+
public class RoomParam {
8+
private String roomName;
9+
private int maxUsers;
10+
private int autoCloseTtlS;
11+
private int noEntreTtlS;
12+
private boolean openRoom;
13+
}

src/main/java/com/qiniu/rtc/model/RoomResult.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ public class RoomResult {
1414
private List<String> rooms;
1515
private boolean end;
1616
private int offset;
17+
private String roomId;
1718

1819
@Data
1920
public static class UserInfo {

src/main/java/com/qiniu/rtc/service/RoomService.java

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
import com.qiniu.common.QiniuException;
55
import com.qiniu.http.Response;
6+
import com.qiniu.rtc.model.RoomParam;
67
import com.qiniu.rtc.model.UrlParam;
78
import com.qiniu.rtc.model.RoomAccess;
89
import com.qiniu.util.Auth;
@@ -22,6 +23,32 @@ public RoomService(Auth auth) {
2223
}
2324

2425

26+
/**
27+
* 创建房间
28+
*
29+
* @param appId
30+
* @param roomParam
31+
* @return
32+
* @throws QiniuException
33+
*/
34+
public Response createRoom(String appId, RoomParam roomParam) throws QiniuException {
35+
String urlPattern = "/v3/apps/%s/createroom";
36+
return postCall(roomParam, urlPattern, appId);
37+
}
38+
39+
/**
40+
* 删除房间
41+
*
42+
* @param appId
43+
* @param roomName
44+
* @return
45+
* @throws QiniuException
46+
*/
47+
public Response deleteRoom(String appId, String roomName) throws QiniuException {
48+
String urlPattern = "/v3/apps/%s/rooms/%s";
49+
return deleteCall(null, urlPattern, appId, roomName);
50+
}
51+
2552
/**
2653
* @param appId 房间所属帐号的 app
2754
* @param roomName 操作所查询的连麦房间
@@ -54,7 +81,7 @@ public Response kickUser(String appId, String roomName, String userId) throws Qi
5481
* 获取当前所有活跃的房间
5582
*
5683
* @param roomNamePrefix
57-
* @param urlParam 分页参数
84+
* @param urlParam 分页参数
5885
* @return
5986
* @throws QiniuException
6087
*/

src/test/java/test/com/qiniu/rtc/RtcTest.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,11 @@ public static void initQRTC() throws QiniuException {
2525
appParam.setMaxUsers(20);
2626
appParam.setNoAutoKickUser(false);
2727
QRTCResult<AppResult> result = QRTC.createApp(appParam, TestConfig.testAccessKey, TestConfig.testSecretKey);
28+
//初始化接口,一般有appId的话建议直接走这个接口初始化了
2829
client = QRTC.init(TestConfig.testAccessKey, TestConfig.testSecretKey, result.getResult().getAppId());
2930
}
3031

32+
3133
@Disabled
3234
@Test
3335
public void testApp() throws QiniuException {
@@ -46,6 +48,15 @@ public void testApp() throws QiniuException {
4648
@Disabled
4749
@Test
4850
public void testRoom() throws Exception {
51+
//创建房间
52+
RoomParam roomParam = new RoomParam();
53+
roomParam.setRoomName("test_room_create");
54+
roomParam.setOpenRoom(true);
55+
roomParam.setAutoCloseTtlS(30);
56+
roomParam.setNoEntreTtlS(3600);
57+
roomParam.setMaxUsers(20);
58+
QRTCResult<RoomResult> roomResult = client.createRoom(roomParam);
59+
assert roomResult.getCode() == 200;
4960
//获取房间
5061
QRTCResult<RoomResult> result = client.listUser("1207");
5162
assert result.getCode() == 200;
@@ -58,6 +69,9 @@ public void testRoom() throws Exception {
5869
//获取token
5970
String token = client.getRoomToken("1207", "testUser", System.currentTimeMillis() / 1000, "user");
6071
System.out.println(token);
72+
//删除房间
73+
roomResult = client.deleteRoom(roomParam.getRoomName());
74+
assert roomResult.getCode() == 200;
6175
}
6276

6377
@Disabled

0 commit comments

Comments
 (0)