From e387d14cae92f9ebb773b2345721e3c11400d9a6 Mon Sep 17 00:00:00 2001 From: Mohit Tejani Date: Mon, 10 Jun 2024 21:21:32 +0530 Subject: [PATCH] take-2:test: added more debug logs, disable all other tests than receive message --- .../PubNub/Runtime/Plugins/PubnubApiUnity.dll | Bin 898560 -> 898560 bytes .../Assets/PubNub/Tests/CallbackWrappers.cs | 592 +++++++++--------- PubNubUnity/Assets/PubNub/Tests/PNTestBase.cs | 1 + PubNubUnity/Assets/PubNub/Tests/Publish.cs | 2 + 4 files changed, 299 insertions(+), 296 deletions(-) diff --git a/PubNubUnity/Assets/PubNub/Runtime/Plugins/PubnubApiUnity.dll b/PubNubUnity/Assets/PubNub/Runtime/Plugins/PubnubApiUnity.dll index 47c3c73482e4a1ea68cc5279aac579d0bc80b56e..61052c871adae3406c8ec8750136488a21fe76b8 100644 GIT binary patch delta 52697 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 delta 52700 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 diff --git a/PubNubUnity/Assets/PubNub/Tests/CallbackWrappers.cs b/PubNubUnity/Assets/PubNub/Tests/CallbackWrappers.cs index 36da93c9..2123d3d0 100644 --- a/PubNubUnity/Assets/PubNub/Tests/CallbackWrappers.cs +++ b/PubNubUnity/Assets/PubNub/Tests/CallbackWrappers.cs @@ -8,342 +8,342 @@ public class CallbackWrappers : PNTestBase { private readonly string[] channels = new[] { "test" }; private string channel => channels[0]; - [UnityTest] - public IEnumerator Fire() { - pn.Fire().Channel(channel).Message("test").Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } - - [UnityTest] - public IEnumerator Signal() { - pn.Signal().Channel(channel).Message("test").Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator Fire() { + // pn.Fire().Channel(channel).Message("test").Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator ListFiles() { - // PNStatus status = null; - // float startTime = Time.time; - // pn.ListFiles().Channel(channel).Execute(((result, pnStatus) => status = pnStatus)); - // yield return new WaitUntil(() => status == null || Time.time > startTime + 10f); - // Assert.IsFalse(status.Error); + // [UnityTest] + // public IEnumerator Signal() { + // pn.Signal().Channel(channel).Message("test").Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - pn.ListFiles().Channel(channel).Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator ListFiles() { + // // PNStatus status = null; + // // float startTime = Time.time; + // // pn.ListFiles().Channel(channel).Execute(((result, pnStatus) => status = pnStatus)); + // // yield return new WaitUntil(() => status == null || Time.time > startTime + 10f); + // // Assert.IsFalse(status.Error); + + // pn.ListFiles().Channel(channel).Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator GetFileUrl() { - pn.GetFileUrl().Channel(channel).FileId("").FileName("") - .Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsTrue(s.Error); - Assert.IsTrue(s.ErrorData.Information.Contains("Missing")); - } + // [UnityTest] + // public IEnumerator GetFileUrl() { + // pn.GetFileUrl().Channel(channel).FileId("").FileName("") + // .Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsTrue(s.Error); + // Assert.IsTrue(s.ErrorData.Information.Contains("Missing")); + // } - [UnityTest] - public IEnumerator SendFile() { - pn.SendFile().Channel(channel).FileName("test").Message("test").File(new byte[] { 0x00 }) - .Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator SendFile() { + // pn.SendFile().Channel(channel).FileName("test").Message("test").File(new byte[] { 0x00 }) + // .Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator DownloadFile() { - pn.DownloadFile().Channel(channel).FileName("").FileId("") - .Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsTrue(s.Error); - Assert.IsTrue(s.ErrorData.Information.Contains("Missing")); - } + // [UnityTest] + // public IEnumerator DownloadFile() { + // pn.DownloadFile().Channel(channel).FileName("").FileId("") + // .Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsTrue(s.Error); + // Assert.IsTrue(s.ErrorData.Information.Contains("Missing")); + // } - [UnityTest] - public IEnumerator PublishFileMessage() { - pn.PublishFileMessage().Channel(channel).FileName("").FileId("").Message("test") - .Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsTrue(s.Error); - Assert.IsTrue(s.ErrorData.Information.Contains("Missing")); - } + // [UnityTest] + // public IEnumerator PublishFileMessage() { + // pn.PublishFileMessage().Channel(channel).FileName("").FileId("").Message("test") + // .Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsTrue(s.Error); + // Assert.IsTrue(s.ErrorData.Information.Contains("Missing")); + // } - [UnityTest] - public IEnumerator FetchHistory() { - pn.FetchHistory().Channels(channels).Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator FetchHistory() { + // pn.FetchHistory().Channels(channels).Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator WhereNow() { - pn.WhereNow().Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator WhereNow() { + // pn.WhereNow().Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator GetChannelMembers() { - pn.GetChannelMembers().Channel(channel).Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator GetChannelMembers() { + // pn.GetChannelMembers().Channel(channel).Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator SetChannelMemberships() { - pn.SetChannelMembers().Channel(channel) - .Uuids(new List() { new PNChannelMember() { Uuid = "test" } }) - .Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator SetChannelMemberships() { + // pn.SetChannelMembers().Channel(channel) + // .Uuids(new List() { new PNChannelMember() { Uuid = "test" } }) + // .Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator GetMessageActions() { - pn.GetMessageActions().Channel(channel).Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator GetMessageActions() { + // pn.GetMessageActions().Channel(channel).Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator HereNow() { - pn.HereNow().Channels(channels).Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator HereNow() { + // pn.HereNow().Channels(channels).Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator AddMessageAction() { - pn.AddMessageAction().Channel(channel).Action(new PNMessageAction() { Type = "test", Value = "test" }) - .Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; + // [UnityTest] + // public IEnumerator AddMessageAction() { + // pn.AddMessageAction().Channel(channel).Action(new PNMessageAction() { Type = "test", Value = "test" }) + // .Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; - Assert.IsTrue(!s.Error || s.ErrorData.Information.Contains("Already Added")); - } + // Assert.IsTrue(!s.Error || s.ErrorData.Information.Contains("Already Added")); + // } - [UnityTest] - public IEnumerator RemoveMessageAction() { - pn.RemoveMessageAction().Channel(channel).Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsTrue(s.Error); - } + // [UnityTest] + // public IEnumerator RemoveMessageAction() { + // pn.RemoveMessageAction().Channel(channel).Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsTrue(s.Error); + // } - [UnityTest] - public IEnumerator SetMemberships() { - pn.SetMemberships().Channels(new List() { new PNMembership() { Channel = "test" } }) - .Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator SetMemberships() { + // pn.SetMemberships().Channels(new List() { new PNMembership() { Channel = "test" } }) + // .Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator GetMemberships() { - pn.GetMemberships().Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator GetMemberships() { + // pn.GetMemberships().Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator RemoveMemberships() { - pn.RemoveMemberships().Uuid("test").Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator RemoveMemberships() { + // pn.RemoveMemberships().Uuid("test").Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator SetChannelMetadata() { - pn.SetChannelMetadata().Channel(channel).Name("testname") - .Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator SetChannelMetadata() { + // pn.SetChannelMetadata().Channel(channel).Name("testname") + // .Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator GetChannelMetadata() { - pn.GetChannelMetadata().Channel(channel).Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator GetChannelMetadata() { + // pn.GetChannelMetadata().Channel(channel).Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator RemoveChannelMetadata() { - pn.RemoveChannelMetadata().Channel(channel).Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator RemoveChannelMetadata() { + // pn.RemoveChannelMetadata().Channel(channel).Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator AuditPushChannel() { - pn.AuditPushChannelProvisions().Environment(PushEnvironment.Development).Topic("test") - .Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator AuditPushChannel() { + // pn.AuditPushChannelProvisions().Environment(PushEnvironment.Development).Topic("test") + // .Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator GetAllChannelMetadata() { - pn.GetAllChannelMetadata().Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator GetAllChannelMetadata() { + // pn.GetAllChannelMetadata().Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator RemoveChannelMembers() { - pn.RemoveChannelMembers().Channel(channel).Uuids(new List() { "test" }) - .Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator RemoveChannelMembers() { + // pn.RemoveChannelMembers().Channel(channel).Uuids(new List() { "test" }) + // .Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator RemoveUuidMetadata() { - pn.RemoveUuidMetadata().Uuid("test").Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator RemoveUuidMetadata() { + // pn.RemoveUuidMetadata().Uuid("test").Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator SetUuidMetadata() { - pn.SetUuidMetadata().Uuid("test").Name("testname").Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator SetUuidMetadata() { + // pn.SetUuidMetadata().Uuid("test").Name("testname").Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator GetUuidMetadata() { - pn.GetUuidMetadata().Uuid("test").Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator GetUuidMetadata() { + // pn.GetUuidMetadata().Uuid("test").Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator GetAllUuidMetadata() { - pn.GetAllUuidMetadata().Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator GetAllUuidMetadata() { + // pn.GetAllUuidMetadata().Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator RemoveAllPushNotificationsFromDeviceWithPushToken() { - pn.RemoveAllPushNotificationsFromDeviceWithPushToken().Environment(PushEnvironment.Development) - .Topic("test") - .Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator RemoveAllPushNotificationsFromDeviceWithPushToken() { + // pn.RemoveAllPushNotificationsFromDeviceWithPushToken().Environment(PushEnvironment.Development) + // .Topic("test") + // .Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator RemovePushNotificationsFromChannels() { - pn.RemovePushNotificationsFromChannels().Channels(channels).Environment(PushEnvironment.Development) - .Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator RemovePushNotificationsFromChannels() { + // pn.RemovePushNotificationsFromChannels().Channels(channels).Environment(PushEnvironment.Development) + // .Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator AddPushNotificationOnChannels() { - pn.AddPushNotificationsOnChannels().Channels(channels).Environment(PushEnvironment.Development) - .Topic("test") - .Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator AddPushNotificationOnChannels() { + // pn.AddPushNotificationsOnChannels().Channels(channels).Environment(PushEnvironment.Development) + // .Topic("test") + // .Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator DeleteMessages() { - pn.DeleteMessages().Channel(channel).Start(0).End(99999999) - .Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator DeleteMessages() { + // pn.DeleteMessages().Channel(channel).Start(0).End(99999999) + // .Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator MessageCounts() { - pn.MessageCounts().Channels(channels).ChannelsTimetoken(new long[] { 0 }) - .Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator MessageCounts() { + // pn.MessageCounts().Channels(channels).ChannelsTimetoken(new long[] { 0 }) + // .Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator SetPresenceState() { - pn.SetPresenceState().Channels(channels).State(new Dictionary()).Uuid("test") - .Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator SetPresenceState() { + // pn.SetPresenceState().Channels(channels).State(new Dictionary()).Uuid("test") + // .Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator DeleteChannelGroup() { - pn.DeleteChannelGroup().ChannelGroup("testgroup").Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator DeleteChannelGroup() { + // pn.DeleteChannelGroup().ChannelGroup("testgroup").Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator AddChannelsToGroup() { - pn.AddChannelsToChannelGroup().Channels(channels).ChannelGroup("testgroup") - .Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator AddChannelsToGroup() { + // pn.AddChannelsToChannelGroup().Channels(channels).ChannelGroup("testgroup") + // .Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator ListChannelGroups() { - pn.ListChannelGroups().Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator ListChannelGroups() { + // pn.ListChannelGroups().Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } - [UnityTest] - public IEnumerator RemoveChannelsFromChannelGroup() { - pn.RemoveChannelsFromChannelGroup().Channels(channels).ChannelGroup("testgroup") - .Execute(Callback(out var awaiter, out var assigner)); - yield return awaiter; - var s = assigner().status; - Assert.IsFalse(s.Error); - } + // [UnityTest] + // public IEnumerator RemoveChannelsFromChannelGroup() { + // pn.RemoveChannelsFromChannelGroup().Channels(channels).ChannelGroup("testgroup") + // .Execute(Callback(out var awaiter, out var assigner)); + // yield return awaiter; + // var s = assigner().status; + // Assert.IsFalse(s.Error); + // } // TODO re-enable // [UnityTest] diff --git a/PubNubUnity/Assets/PubNub/Tests/PNTestBase.cs b/PubNubUnity/Assets/PubNub/Tests/PNTestBase.cs index 6076283e..88e9759b 100644 --- a/PubNubUnity/Assets/PubNub/Tests/PNTestBase.cs +++ b/PubNubUnity/Assets/PubNub/Tests/PNTestBase.cs @@ -16,6 +16,7 @@ public void OneTimeSetUp() { SubscribeKey = System.Environment.GetEnvironmentVariable("SUB_KEY"), SecretKey = System.Environment.GetEnvironmentVariable("PAM_SECRET_KEY") }; + pnConfiguration.LogVerbosity = PNLogVerbosity.BODY; pn = new Pubnub(pnConfiguration); pn.AddListener(listener); diff --git a/PubNubUnity/Assets/PubNub/Tests/Publish.cs b/PubNubUnity/Assets/PubNub/Tests/Publish.cs index 7f284ff1..95cdad5a 100644 --- a/PubNubUnity/Assets/PubNub/Tests/Publish.cs +++ b/PubNubUnity/Assets/PubNub/Tests/Publish.cs @@ -9,6 +9,8 @@ public class Publish : PNTestBase { string lastMessage = null; private void OnMessage(Pubnub arg1, PNMessageResult arg2) { + Debug.Log($"Message Received. Channel: {arg2.Channel} / Message: {arg2.Message}"); + Debug.Log($"Received Message type {arg2.Message?.GetType()?.ToString()}"); lastMessage = arg2.Message as string; }