chore: unit test.
parent
675afb4276
commit
9ee503ed9d
|
@ -10,15 +10,22 @@ using static NUnit.Framework.TestContext;
|
|||
|
||||
namespace Realtime.Test {
|
||||
public class Client {
|
||||
private const string USERNAME1 = "username1";
|
||||
private const string PASSWORD1 = "password1";
|
||||
|
||||
private const string USERNAME2 = "username2";
|
||||
private const string PASSWORD2 = "password2";
|
||||
|
||||
[SetUp]
|
||||
public void SetUp() {
|
||||
LCLogger.LogDelegate += Utils.Print;
|
||||
LCApplication.Initialize("ikGGdRE2YcVOemAaRbgp1xGJ-gzGzoHsz", "NUKmuRbdAhg1vrb2wexYo1jo", "https://ikggdre2.lc-cn-n1-shared.com");
|
||||
public async Task SetUp() {
|
||||
Utils.SetUp();
|
||||
await NewUser(USERNAME1, PASSWORD1);
|
||||
await NewUser(USERNAME2, PASSWORD2);
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
public void TearDown() {
|
||||
LCLogger.LogDelegate -= Utils.Print;
|
||||
Utils.TearDown();
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
@ -34,12 +41,12 @@ namespace Realtime.Test {
|
|||
|
||||
[Test]
|
||||
public async Task OpenAndCloseByLCUser() {
|
||||
LCUser user = await LCUser.Login("hello", "world");
|
||||
LCUser user = await LCUser.Login(USERNAME1, PASSWORD1);
|
||||
LCIMClient client = new LCIMClient(user);
|
||||
await client.Open();
|
||||
|
||||
|
||||
LCUser game = await LCUser.Login("game", "play");
|
||||
LCUser game = await LCUser.Login(USERNAME2, PASSWORD2);
|
||||
LCIMClient client2 = new LCIMClient(game);
|
||||
await client2.Open();
|
||||
|
||||
|
@ -134,5 +141,21 @@ namespace Realtime.Test {
|
|||
|
||||
await tcs.Task;
|
||||
}
|
||||
|
||||
private async Task NewUser(string username, string password) {
|
||||
try {
|
||||
await LCUser.Login(username, password);
|
||||
} catch (LCException e) {
|
||||
if (e.Code == 211) {
|
||||
LCUser user1 = new LCUser {
|
||||
Username = username,
|
||||
Password = password
|
||||
};
|
||||
await user1.SignUp();
|
||||
} else {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,8 +16,7 @@ namespace Realtime.Test {
|
|||
|
||||
[SetUp]
|
||||
public async Task SetUp() {
|
||||
LCLogger.LogDelegate += Utils.Print;
|
||||
LCApplication.Initialize("ikGGdRE2YcVOemAaRbgp1xGJ-gzGzoHsz", "NUKmuRbdAhg1vrb2wexYo1jo", "https://ikggdre2.lc-cn-n1-shared.com");
|
||||
Utils.SetUp();
|
||||
c1 = new LCIMClient(Guid.NewGuid().ToString());
|
||||
await c1.Open();
|
||||
c2 = new LCIMClient(Guid.NewGuid().ToString());
|
||||
|
@ -32,7 +31,7 @@ namespace Realtime.Test {
|
|||
await c1.Close();
|
||||
await c2.Close();
|
||||
await lean.Close();
|
||||
LCLogger.LogDelegate -= Utils.Print;
|
||||
Utils.TearDown();
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
|
|
@ -1,27 +1,24 @@
|
|||
using NUnit.Framework;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Threading.Tasks;
|
||||
using LeanCloud;
|
||||
using LeanCloud.Common;
|
||||
using LeanCloud.Realtime;
|
||||
|
||||
namespace Realtime.Test {
|
||||
public class ConversationQuery {
|
||||
private string clientId = "hello123";
|
||||
private readonly string clientId = "m1";
|
||||
private LCIMClient client;
|
||||
|
||||
[SetUp]
|
||||
public async Task SetUp() {
|
||||
LCLogger.LogDelegate += Utils.Print;
|
||||
LCApplication.Initialize("ikGGdRE2YcVOemAaRbgp1xGJ-gzGzoHsz", "NUKmuRbdAhg1vrb2wexYo1jo", "https://ikggdre2.lc-cn-n1-shared.com");
|
||||
Utils.SetUp();
|
||||
client = new LCIMClient(clientId);
|
||||
await client.Open();
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
public async Task TearDown() {
|
||||
LCLogger.LogDelegate -= Utils.Print;
|
||||
await client.Close();
|
||||
Utils.TearDown();
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
@ -36,7 +33,7 @@ namespace Realtime.Test {
|
|||
|
||||
[Test]
|
||||
public async Task QueryMemberConversation() {
|
||||
string memberId = "cc1";
|
||||
string memberId = "m1";
|
||||
LCIMConversationQuery query = new LCIMConversationQuery(client);
|
||||
query.WhereEqualTo("m", memberId);
|
||||
ReadOnlyCollection<LCIMConversation> conversations = await query.Find();
|
||||
|
@ -45,5 +42,34 @@ namespace Realtime.Test {
|
|||
Assert.True(conversation.MemberIds.Contains(memberId));
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task QueryCompact() {
|
||||
string memberId = "m1";
|
||||
LCIMConversationQuery query = new LCIMConversationQuery(client)
|
||||
.WhereEqualTo("m", memberId);
|
||||
query.Compact = true;
|
||||
ReadOnlyCollection<LCIMConversation> conversations = await query.Find();
|
||||
foreach (LCIMConversation conversation in conversations) {
|
||||
Assert.True(conversation.MemberIds.Count == 0);
|
||||
await conversation.Fetch();
|
||||
Assert.True(conversation.MemberIds.Count > 0);
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task QueryWithLastMessage() {
|
||||
string memberId = "m1";
|
||||
LCIMConversationQuery query = new LCIMConversationQuery(client)
|
||||
.WhereEqualTo("m", memberId);
|
||||
query.WithLastMessageRefreshed = true;
|
||||
ReadOnlyCollection<LCIMConversation> conversations = await query.Find();
|
||||
foreach (LCIMConversation conversation in conversations) {
|
||||
Assert.True(!string.IsNullOrEmpty(conversation.LastMessage.Id));
|
||||
if (conversation.LastMessage is LCIMBinaryMessage binaryMessage) {
|
||||
TestContext.WriteLine(System.Text.Encoding.UTF8.GetString(binaryMessage.Data));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,8 +32,7 @@ namespace Realtime.Test {
|
|||
|
||||
[SetUp]
|
||||
public async Task SetUp() {
|
||||
LCLogger.LogDelegate += Utils.Print;
|
||||
LCApplication.Initialize("ikGGdRE2YcVOemAaRbgp1xGJ-gzGzoHsz", "NUKmuRbdAhg1vrb2wexYo1jo", "https://ikggdre2.lc-cn-n1-shared.com");
|
||||
Utils.SetUp();
|
||||
m1 = new LCIMClient("m1");
|
||||
m2 = new LCIMClient("m2");
|
||||
await m1.Open();
|
||||
|
@ -45,7 +44,7 @@ namespace Realtime.Test {
|
|||
public async Task TearDown() {
|
||||
await m1.Close();
|
||||
await m2.Close();
|
||||
LCLogger.LogDelegate -= Utils.Print;
|
||||
Utils.TearDown();
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
@ -76,17 +75,19 @@ namespace Realtime.Test {
|
|||
Assert.NotNull(textMessage.Id);
|
||||
|
||||
LCFile image = new LCFile("hello", "../../../../../assets/hello.png");
|
||||
await image.Save();
|
||||
LCIMImageMessage imageMessage = new LCIMImageMessage(image);
|
||||
await conversation.Send(imageMessage);
|
||||
Assert.NotNull(imageMessage.Id);
|
||||
|
||||
LCFile file = new LCFile("apk", "../../../../../assets/test.apk");
|
||||
await file.Save();
|
||||
LCIMFileMessage fileMessage = new LCIMFileMessage(file);
|
||||
await conversation.Send(fileMessage);
|
||||
Assert.NotNull(fileMessage.Id);
|
||||
|
||||
LCIMBinaryMessage binaryMessage = new LCIMBinaryMessage(System.Text.Encoding.UTF8.GetBytes("LeanCloud"));
|
||||
await conversation.Send(binaryMessage);
|
||||
Assert.NotNull(binaryMessage.Id);
|
||||
|
||||
await tcs.Task;
|
||||
}
|
||||
|
||||
|
@ -152,7 +153,7 @@ namespace Realtime.Test {
|
|||
[Test]
|
||||
[Order(4)]
|
||||
public async Task Query() {
|
||||
ReadOnlyCollection<LCIMMessage> messages = await conversation.QueryMessages();
|
||||
ReadOnlyCollection<LCIMMessage> messages = await conversation.QueryMessages(messageType: -6);
|
||||
Assert.Greater(messages.Count, 0);
|
||||
foreach (LCIMMessage message in messages) {
|
||||
Assert.AreEqual(message.ConversationId, conversation.Id);
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
using NUnit.Framework;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using LeanCloud;
|
||||
using LeanCloud.Realtime;
|
||||
using LeanCloud.Realtime.Internal.Protocol;
|
||||
|
||||
|
@ -14,8 +13,7 @@ namespace Realtime.Test {
|
|||
|
||||
[SetUp]
|
||||
public async Task SetUp() {
|
||||
LCLogger.LogDelegate += Utils.Print;
|
||||
LCApplication.Initialize("ikGGdRE2YcVOemAaRbgp1xGJ-gzGzoHsz", "NUKmuRbdAhg1vrb2wexYo1jo", "https://ikggdre2.lc-cn-n1-shared.com");
|
||||
Utils.SetUp();
|
||||
c1 = new LCIMClient(Guid.NewGuid().ToString());
|
||||
c2 = new LCIMClient(Guid.NewGuid().ToString());
|
||||
await c1.Open();
|
||||
|
@ -28,7 +26,7 @@ namespace Realtime.Test {
|
|||
public async Task TearDown() {
|
||||
await c1.Close();
|
||||
await c2.Close();
|
||||
LCLogger.LogDelegate -= Utils.Print;
|
||||
Utils.TearDown();
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
|
|
@ -1,10 +1,18 @@
|
|||
using System;
|
||||
using LeanCloud;
|
||||
using LeanCloud.Common;
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace Realtime.Test {
|
||||
public static class Utils {
|
||||
internal static void SetUp() {
|
||||
LCLogger.LogDelegate += Print;
|
||||
LCApplication.Initialize("3zWMOXuO9iSdnjXM942i6DdI-gzGzoHsz", "bkwiNq4Tj417eUaHlTWS5sPm", "https://3zwmoxuo.lc-cn-n1-shared.com");
|
||||
}
|
||||
|
||||
internal static void TearDown() {
|
||||
LCLogger.LogDelegate -= Print;
|
||||
}
|
||||
|
||||
internal static void Print(LCLogLevel level, string info) {
|
||||
switch (level) {
|
||||
case LCLogLevel.Debug:
|
||||
|
|
Loading…
Reference in New Issue