public void SendMessage_With_Default_Payload() { //ARRANGE SlackClient sut = new SlackClient(_slackUrlWithAccessToken); ResponseSlackClientEnum expected = ResponseSlackClientEnum.ok; ResponseSlackClientEnum actual; Payload payload = new Payload(); //ACT actual = sut.SendMessage(payload); //ASSERT Assert.AreEqual(expected, actual); }
public void SendMessage_With_Attachments_Payload() { //ARRANGE SlackClient sut = new SlackClient(_slackUrlWithAccessToken); ResponseSlackClientEnum expected = ResponseSlackClientEnum.ok; ResponseSlackClientEnum actual; Payload payload = new Payload(); payload.Attachments.Add(new Attachment("Fallback Attachment, Test from SlackClient.ServiceLibrary.IntegrationTests") { Color = "danger", Text = "Optional Text from test", Fields = new List <Field>() { new Field("ShortField1") { Short = true, Value = "Value for Short Field 1" }, new Field("ShortField2") { Short = true, Value = "Value for Short Field 2" }, new Field("LongField1") { Short = false, Value = "Value for *Long Long Long Long* Long Field 1" }, new Field("LongField2WithFormat") { Short = false, Value = "```Value for Long Long Long Long Long Field 2```" } } }); //ACT actual = sut.SendMessage(payload); //ASSERT Assert.AreEqual(expected, actual); }
public void SendMessage_With_Link_In_Payload() { //ARRANGE SlackClient sut = new SlackClient(_slackUrlWithAccessToken); ResponseSlackClientEnum expected = ResponseSlackClientEnum.ok; ResponseSlackClientEnum actual; Payload payload = new Payload() { Username = "******", Text = @"https://slack.com/: <https://slack.com/|Click aquí>", Channel = "#devtest" }; //ACT actual = sut.SendMessage(payload); //ASSERT Assert.AreEqual(expected, actual); }
public void SendMessage_With_Simple_Payload() { //ARRANGE SlackClient sut = new SlackClient(_slackUrlWithAccessToken); ResponseSlackClientEnum expected = ResponseSlackClientEnum.ok; ResponseSlackClientEnum actual; Payload payload = new Payload() { Username = "******", Text = "MessageSample From Integrarion Tests .Net", Channel = "#devtest" }; //ACT actual = sut.SendMessage(payload); //ASSERT Assert.AreEqual(expected, actual); }
public void SendMessage_With_EmojiUrl_In_Payload() { //ARRANGE SlackClient sut = new SlackClient(_slackUrlWithAccessToken); ResponseSlackClientEnum expected = ResponseSlackClientEnum.ok; ResponseSlackClientEnum actual; Payload payload = new Payload() { Username = "******", Text = @"Text with custom Emoji Icon", Channel = "#devtest", IconEmoji = @":ghost:" }; //ACT actual = sut.SendMessage(payload); //ASSERT Assert.AreEqual(expected, actual); }
public void SendMessage_With_IconUrl_In_Payload() { //ARRANGE SlackClient sut = new SlackClient(_slackUrlWithAccessToken); ResponseSlackClientEnum expected = ResponseSlackClientEnum.ok; ResponseSlackClientEnum actual; Payload payload = new Payload() { Username = "******", Text = @"Text with custom Icon Url", Channel = "#devtest", IconUrl = @"https://slack.com/img/icons/app-57.png" }; //ACT actual = sut.SendMessage(payload); //ASSERT Assert.AreEqual(expected, actual); }
public ResponseSlackClientEnum SendMessage(Payload payload) { ResponseSlackClientEnum result = ResponseSlackClientEnum.ko; string payloadJson = JsonConvert.SerializeObject(payload, Formatting.None, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); using (WebClient client = new WebClient()) { NameValueCollection data = new NameValueCollection(); data["payload"] = payloadJson; try{ var response = client.UploadValues(_uri, "POST", data); //The response text is usually "ok" string responseText = _encoding.GetString(response); result = (ResponseSlackClientEnum)Enum.Parse(typeof(ResponseSlackClientEnum), responseText, true); } catch (System.Net.WebException ex) { ///TODO: Add your favorite log system throw new IncomingWebHookDisabledException("The Slack Incoming WebHooks may be disabled or Slack Url is incorrect.Check it and try again", ex); } catch { ///TODO: Add your favorite log system throw; } } return(result); }