Example #1
0
        private static DeletedResponse DeleteMessage(SlackSocketClient client, string channel, DateTime messageTimestamp)
        {
            DeletedResponse deletedResponse = null;

            using (var sync = new InSync(nameof(SlackClient.DeleteMessage)))
            {
                client.DeleteMessage(response =>
                {
                    deletedResponse = response;
                    sync.Proceed();
                }, channel, messageTimestamp);
            }

            return(deletedResponse);
        }
Example #2
0
        private static DeletedResponse DeleteMessage(SlackSocketClient client, string channel, DateTime messageTimestamp)
        {
            DeletedResponse deletedResponse = null;
            var             waiter          = new EventWaitHandle(false, EventResetMode.ManualReset);

            client.DeleteMessage(response =>
            {
                deletedResponse = response;
                waiter.Set();
            }, channel, messageTimestamp);

            Policy
            .Handle <AssertFailedException>()
            .WaitAndRetry(15, x => TimeSpan.FromSeconds(0.2), (exception, span) => Console.WriteLine("Retrying in {0} seconds", span.TotalSeconds))
            .Execute(() =>
            {
                Assert.IsTrue(waiter.WaitOne(), "Still waiting for things to happen...");
            });

            return(deletedResponse);
        }
Example #3
0
        private static DeletedResponse DeleteMessage(SlackSocketClient client, string channel, DateTime messageTimestamp)
        {
            DeletedResponse deletedResponse = null;
            var waiter = new EventWaitHandle(false, EventResetMode.ManualReset);

            client.DeleteMessage(response =>
            {
                deletedResponse = response;
                waiter.Set();
            }, channel, messageTimestamp);

            Policy
                .Handle<AssertFailedException>()
                .WaitAndRetry(15, x => TimeSpan.FromSeconds(0.2), (exception, span) => Console.WriteLine("Retrying in {0} seconds", span.TotalSeconds))
                .Execute(() =>
                {
                    Assert.IsTrue(waiter.WaitOne(), "Still waiting for things to happen...");
                });

            return deletedResponse;
        }
Example #4
0
        public void TestConnectPostAndDelete()
        {
            EventWaitHandle wait = new EventWaitHandle(false, EventResetMode.ManualReset);

            SlackSocketClient client = new SlackSocketClient(token);
            client.Connect((o) =>
            {
                Debug.WriteLine("RTM Start");
            }, () =>
            {
                Debug.WriteLine("Connected");
                wait.Set();
            });

            Assert.IsTrue(wait.WaitOne(10000), "Didn't return within a reasonable time.");
            Thread.Sleep(500);
            Assert.IsTrue(client.IsConnected, "Invalid, doesn't think it's connected.");

            wait = new EventWaitHandle(false, EventResetMode.ManualReset);
            DateTime ts = DateTime.MinValue;
            SlackAPI.WebSocketMessages.MessageReceived a = null;
            client.SendMessage((resp) =>
            {
                a = resp;
                wait.Set();
            }, testChannel, testText);

            Assert.IsTrue(wait.WaitOne(1000), "Took too long for Slack to acknowledge message.");

            ts = a.ts;
            Assert.AreEqual(a.text, testText, "Got invalid returned text, something's not right here...");

            DeletedResponse r = null;
            wait = new EventWaitHandle(false, EventResetMode.ManualReset);
            client.DeleteMessage((resp) =>
            {
                r = resp;
                wait.Set();
            }, testChannel, ts);

            Assert.IsTrue(wait.WaitOne(1000), "Took too long for Slack to acknowledge delete.");
            Assert.IsTrue(r.ok, "Message not deleted!");
            Assert.AreEqual(r.channel, testChannel, "Got invalid channel? Something's not right here...");
            Assert.AreEqual(r.ts, ts, "Got invalid time stamp? Something's not right here...");
        }