// Copyright © 2023 OpenIM SDK. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package testv2 import ( "github.com/openimsdk/openim-sdk-core/v3/open_im_sdk" "github.com/openimsdk/openim-sdk-core/v3/pkg/constant" "github.com/openimsdk/openim-sdk-core/v3/pkg/sdk_params_callback" "github.com/openimsdk/protocol/group" "github.com/openimsdk/protocol/sdkws" "github.com/openimsdk/protocol/wrapperspb" "testing" ) func Test_CreateGroupV2(t *testing.T) { req := &group.CreateGroupReq{ MemberUserIDs: []string{"7299270930"}, AdminUserIDs: []string{"1"}, OwnerUserID: UserID, GroupInfo: &sdkws.GroupInfo{ GroupName: "test", GroupType: 2, }, } info, err := open_im_sdk.UserForSDK.Group().CreateGroup(ctx, req) if err != nil { t.Fatal(err) } t.Logf("group info: %s", info.String()) } func Test_JoinGroup(t *testing.T) { err := open_im_sdk.UserForSDK.Group().JoinGroup(ctx, "3889561099", "1234", 3, "ex") if err != nil { t.Fatal(err) } t.Log("InviteUserToGroup success") } func Test_QuitGroup(t *testing.T) { err := open_im_sdk.UserForSDK.Group().QuitGroup(ctx, "xadxwr24") if err != nil { t.Fatal(err) } t.Log("QuitGroup success") } func Test_DismissGroup(t *testing.T) { err := open_im_sdk.UserForSDK.Group().DismissGroup(ctx, "1728503199") if err != nil { t.Fatal(err) } t.Log("DismissGroup success") } func Test_ChangeGroupMute(t *testing.T) { err := open_im_sdk.UserForSDK.Group().ChangeGroupMute(ctx, "3459296007", true) if err != nil { t.Fatal(err) } t.Log("ChangeGroupMute success", ctx.Value("operationID")) } func Test_CancelMuteGroup(t *testing.T) { err := open_im_sdk.UserForSDK.Group().ChangeGroupMute(ctx, "3459296007", false) if err != nil { t.Fatal(err) } t.Log("ChangeGroupMute success", ctx.Value("operationID")) } func Test_ChangeGroupMemberMute(t *testing.T) { err := open_im_sdk.UserForSDK.Group().ChangeGroupMemberMute(ctx, "3459296007", UserID, 10000) if err != nil { t.Fatal(err) } t.Log("ChangeGroupMute success", ctx.Value("operationID")) } func Test_CancelChangeGroupMemberMute(t *testing.T) { err := open_im_sdk.UserForSDK.Group().ChangeGroupMemberMute(ctx, "3459296007", UserID, 0) if err != nil { t.Fatal(err) } t.Log("CancelChangeGroupMemberMute success", ctx.Value("operationID")) } func Test_SetGroupMemberRoleLevel(t *testing.T) { // 1:普通成员 2:群主 3:管理员 err := open_im_sdk.UserForSDK.Group().SetGroupMemberRoleLevel(ctx, "3459296007", "45644221123", 1) if err != nil { t.Fatal(err) } t.Log("SetGroupMemberRoleLevel success", ctx.Value("operationID")) } func Test_SetGroupMemberNickname(t *testing.T) { err := open_im_sdk.UserForSDK.Group().SetGroupMemberNickname(ctx, "3459296007", "45644221123", "test1234") if err != nil { t.Fatal(err) } t.Log("SetGroupMemberNickname success", ctx.Value("operationID")) } func Test_SetGroupMemberInfo(t *testing.T) { // 1:普通成员 2:群主 3:管理员 err := open_im_sdk.UserForSDK.Group().SetGroupMemberInfo(ctx, &group.SetGroupMemberInfo{ GroupID: "3889561099", UserID: UserID, FaceURL: wrapperspb.String("https://doc.rentsoft.cn/images/logo.png"), Nickname: wrapperspb.String("testupdatename"), Ex: wrapperspb.String("a"), }) if err != nil { t.Fatal(err) } t.Log("SetGroupMemberNickname success", ctx.Value("operationID")) } func Test_GetJoinedGroupList(t *testing.T) { info, err := open_im_sdk.UserForSDK.Group().GetJoinedGroupList(ctx) if err != nil { t.Fatal(err) } t.Logf("GetJoinedGroupList: %d\n", len(info)) for _, localGroup := range info { t.Logf("%#v", localGroup) } } func Test_GetSpecifiedGroupsInfo(t *testing.T) { info, err := open_im_sdk.UserForSDK.Group().GetSpecifiedGroupsInfo(ctx, []string{"test"}) if err != nil { t.Fatal(err) } t.Logf("GetGroupsInfo: %d\n", len(info)) for _, localGroup := range info { t.Logf("%#v", localGroup) } } func Test_GetGroupApplicationListAsRecipient(t *testing.T) { info, err := open_im_sdk.UserForSDK.Group().GetGroupApplicationListAsRecipient(ctx) if err != nil { t.Fatal(err) } t.Logf("GetRecvGroupApplicationList: %d\n", len(info)) for _, localGroup := range info { t.Logf("%#v", localGroup) } } func Test_GetGroupApplicationListAsApplicant(t *testing.T) { info, err := open_im_sdk.UserForSDK.Group().GetGroupApplicationListAsApplicant(ctx) if err != nil { t.Fatal(err) } t.Logf("GetSendGroupApplicationList: %d\n", len(info)) for _, localGroup := range info { t.Logf("%#v", localGroup) } } func Test_AcceptGroupApplication(t *testing.T) { err := open_im_sdk.UserForSDK.Group().AcceptGroupApplication(ctx, "3459296007", "863454357", "test accept") if err != nil { t.Fatal(err) } t.Log("AcceptGroupApplication success", ctx.Value("operationID")) } func Test_RefuseGroupApplication(t *testing.T) { t.Log("operationID:", ctx.Value("operationID")) err := open_im_sdk.UserForSDK.Group().RefuseGroupApplication(ctx, "3459296007", "863454357", "test refuse") if err != nil { t.Fatal(err) } t.Log("AcceptGroupApplication success") } func Test_HandlerGroupApplication(t *testing.T) { err := open_im_sdk.UserForSDK.Group().HandlerGroupApplication(ctx, nil) if err != nil { t.Fatal(err) } t.Log("AcceptGroupApplication success", ctx.Value("operationID")) } func Test_SearchGroupMembers(t *testing.T) { info, err := open_im_sdk.UserForSDK.Group().SearchGroupMembers(ctx, &sdk_params_callback.SearchGroupMembersParam{ GroupID: "3459296007", KeywordList: []string{""}, IsSearchUserID: false, IsSearchMemberNickname: false, Offset: 0, Count: 10, }) if err != nil { t.Fatal(err) } t.Logf("SearchGroupMembers: %d\n", len(info)) for _, localGroup := range info { t.Logf("%#v", localGroup) } } func Test_KickGroupMember(t *testing.T) { err := open_im_sdk.UserForSDK.Group().KickGroupMember(ctx, "3459296007", "test", []string{"863454357"}) if err != nil { t.Fatal(err) } t.Log("InviteUserToGroup success", ctx.Value("operationID")) } func Test_TransferGroupOwner(t *testing.T) { err := open_im_sdk.UserForSDK.Group().TransferGroupOwner(ctx, "1728503199", "5226390099") if err != nil { t.Fatal(err) } t.Log("TransferGroupOwner success", ctx.Value("operationID")) } func Test_InviteUserToGroup(t *testing.T) { err := open_im_sdk.UserForSDK.Group().InviteUserToGroup(ctx, "3459296007", "test", []string{"45644221123"}) if err != nil { t.Fatal(err) } t.Log("InviteUserToGroup success", ctx.Value("operationID")) } //func Test_SyncGroup(t *testing.T) { // err := open_im_sdk.UserForSDK.Group().SyncGroupMember(ctx, "3179997540") // if err != nil { // t.Fatal(err) // } // time.Sleep(time.Second * 100000) //} func Test_GetGroup(t *testing.T) { t.Log("--------------------------") infos, err := open_im_sdk.UserForSDK.Group().GetSpecifiedGroupsInfo(ctx, []string{"3179997540"}) if err != nil { t.Fatal(err) } for i, info := range infos { t.Logf("%d: %#v", i, info) } // time.Sleep(time.Second * 100000) } func Test_GetGroupApplicantsList(t *testing.T) { t.Log("--------------------------") infos, err := open_im_sdk.UserForSDK.Group().GetGroupApplicationListAsRecipient(ctx) if err != nil { t.Fatal(err) } for i, info := range infos { t.Logf("%d: %#v", i, info) } // time.Sleep(time.Second * 100000) } func Test_IsJoinGroup(t *testing.T) { t.Log("--------------------------") join, err := open_im_sdk.UserForSDK.Group().IsJoinGroup(ctx, "3889561099") if err != nil { t.Fatal(err) } t.Log("join:", join) } func Test_GetGroupMemberList(t *testing.T) { t.Log("--------------------------") m := map[int32]string{ constant.GroupOwner: "群主", constant.GroupAdmin: "管理员", constant.GroupOrdinaryUsers: "成员", } members, err := open_im_sdk.UserForSDK.Group().GetGroupMemberList(ctx, "3889561099", 0, 0, 9999999) if err != nil { panic(err) } for i, member := range members { name := m[member.RoleLevel] t.Log(i, member.UserID, member.Nickname, name) } t.Log("--------------------------") } func Test_SyncAllGroupMember(t *testing.T) { err := open_im_sdk.UserForSDK.Group().SyncAllGroupMember(ctx, "3889561099") if err != nil { t.Fatal(err) } } func Test_SetGroupInfo(t *testing.T) { err := open_im_sdk.UserForSDK.Group().SetGroupInfo(ctx, &sdkws.GroupInfoForSet{ GroupID: "3889561099", Ex: &wrapperspb.StringValue{Value: "groupex"}, }) if err != nil { t.Fatal(err) } }