public async Task TestReplyToMessageWithCard() { var r = await teams.CreateMessageAsync(unitTestSpace.Id, "This message is to be replied with card."); Assert.AreEqual(HttpStatusCode.OK, r.HttpStatusCode); Assert.AreEqual("This message is to be replied with card.", r.Data.Text); var card = AdaptiveCardAttachment.FromJsonString( @" { ""type"": ""AdaptiveCard"", ""version"": ""1.2"", ""body"": [ { ""type"": ""TextBlock"", ""text"": ""Adaptive Cards"", ""size"": ""large"" } ], ""actions"": [ { ""type"": ""Action.OpenUrl"", ""url"": ""http://adaptivecards.io"", ""title"": ""Learn More"" } ] } "); r = await teams.ReplyToMessageAsync(r.Data.Id, unitTestSpace.Id, "This is a reply message with card.", card); Assert.AreEqual(HttpStatusCode.OK, r.HttpStatusCode); Assert.IsTrue(r.IsSuccessStatus); Assert.IsTrue(r.Data.HasValues); Assert.IsNotNull(r.Data.Id); Assert.IsNotNull(r.TrackingId); Assert.AreNotEqual(Guid.Empty, r.TransactionId); Assert.IsTrue(r.RequestInfo.ContentLength > 0); Assert.IsTrue(r.ContentLength > 0); Assert.AreEqual("POST /v1/messages HTTP/1.1", r.RequestLine); Assert.AreEqual("This is a reply message with card.", r.Data.Text); var resourceOperation = r.ParseResourceOperation(); Assert.AreEqual(TeamsResource.Message, resourceOperation.Resource); Assert.AreEqual(TeamsOperation.Create, resourceOperation.Operation); Assert.AreEqual("CreateMessage", resourceOperation.ToString()); }
public async Task TestCreateMessageWithAdaptiveCardFromObject() { var card = new { type = "AdaptiveCard", version = "1.0", body = new [] { new { type = "TextBlock", text = "Adaptive Cards", size = "large", } }, actions = new [] { new { type = "Action.OpenUrl", url = "http://adaptivecards.io", title = "Learn More" } }, }; var r = await teams.CreateMessageAsync(unitTestSpace.Id, "Adaptive Card is not supported in you client.", AdaptiveCardAttachment.FromObject(card)); Assert.AreEqual(HttpStatusCode.OK, r.HttpStatusCode); Assert.IsTrue(r.IsSuccessStatus); Assert.IsTrue(r.Data.HasValues); Assert.IsNotNull(r.Data.Id); Assert.IsNotNull(r.TrackingId); Assert.AreNotEqual(Guid.Empty, r.TransactionId); Assert.AreEqual("POST /v1/messages HTTP/1.1", r.RequestLine); Assert.AreEqual("Adaptive Card is not supported in you client.", r.Data.Text); var resourceOperation = r.ParseResourceOperation(); Assert.AreEqual(TeamsResource.Message, resourceOperation.Resource); Assert.AreEqual(TeamsOperation.Create, resourceOperation.Operation); Assert.AreEqual("CreateMessage", resourceOperation.ToString()); r = await teams.CreateMessageAsync(unitTestSpace.Id, "Adaptive Card is not supported in you client.", AdaptiveCardAttachment.FromObject(new SampleAdaptiveCard01())); Assert.AreEqual(HttpStatusCode.OK, r.HttpStatusCode); Assert.IsTrue(r.IsSuccessStatus); Assert.IsTrue(r.Data.HasValues); Assert.IsNotNull(r.Data.Id); Assert.IsNotNull(r.TrackingId); Assert.AreNotEqual(Guid.Empty, r.TransactionId); Assert.AreEqual("POST /v1/messages HTTP/1.1", r.RequestLine); Assert.AreEqual("Adaptive Card is not supported in you client.", r.Data.Text); resourceOperation = r.ParseResourceOperation(); Assert.AreEqual(TeamsResource.Message, resourceOperation.Resource); Assert.AreEqual(TeamsOperation.Create, resourceOperation.Operation); Assert.AreEqual("CreateMessage", resourceOperation.ToString()); }
public async Task TestCreateMessageWithAdaptiveCardFromString() { var card = AdaptiveCardAttachment.FromJsonString( @" { ""type"": ""AdaptiveCard"", ""version"": ""1.2"", ""body"": [ { ""type"": ""TextBlock"", ""text"": ""Adaptive Cards"", ""size"": ""large"" } ], ""actions"": [ { ""type"": ""Action.OpenUrl"", ""url"": ""http://adaptivecards.io"", ""title"": ""Learn More"" } ] } "); var res = await teams.CreateMessageAsync( unitTestSpace.Id, "[Learn More](http://adaptivecards.io) about Adaptive Card.", card); Assert.AreEqual(HttpStatusCode.OK, res.HttpStatusCode); var exePath = new FileInfo(Assembly.GetExecutingAssembly().Location); string path = String.Format("{0}{1}TestData{1}AdaptiveCards", exePath.DirectoryName, Path.DirectorySeparatorChar); foreach (var item in Directory.EnumerateFiles(path, "*.json", SearchOption.TopDirectoryOnly)) { using (var fs = new FileStream(item, FileMode.Open, FileAccess.Read, FileShare.Read)) using (var reader = new StreamReader(fs, UTF8Utils.UTF8_WITHOUT_BOM, true)) { var r = await teams.CreateMessageAsync(unitTestSpace.Id, "Adaptive Card is not supported in you client.", AdaptiveCardAttachment.FromJsonString(reader.ReadToEnd())); Assert.AreEqual(HttpStatusCode.OK, r.HttpStatusCode); Assert.IsTrue(r.IsSuccessStatus); Assert.IsTrue(r.Data.HasValues); Assert.IsNotNull(r.Data.Id); Assert.IsNotNull(r.TrackingId); Assert.AreNotEqual(Guid.Empty, r.TransactionId); Assert.AreEqual("POST /v1/messages HTTP/1.1", r.RequestLine); Assert.AreEqual("Adaptive Card is not supported in you client.", r.Data.Text); var resourceOperation = r.ParseResourceOperation(); Assert.AreEqual(TeamsResource.Message, resourceOperation.Resource); Assert.AreEqual(TeamsOperation.Create, resourceOperation.Operation); Assert.AreEqual("CreateMessage", resourceOperation.ToString()); } } }