static void SendMessage(string ssn, string msgId, string msgText) { Console.WriteLine("--- Sending the test message to Viestit-Service ---"); Console.WriteLine(" * Press enter to confirm action *"); Console.ReadLine(); var msg = new ViestitMessage { SocialSecurityNumber = ssn, Id = msgId, Topic = "TestiViesti", SenderName = "HubClientTestingSoftware", Text = msgText, MsgId = "123", Links = new List <ViestitMessageLink>(), Files = new List <ViestitMessageFile>() }; // Hardcoded links and files just to make sure everything works msg.Links.Add(new ViestitMessageLink { Description = "Linkki asiointiin", Url = "www.google.fi" }); msg.Links.Add(new ViestitMessageLink { Description = "Toinen linkki asiointiin", Url = "www.google.fi" }); msg.Files.Add(new ViestitMessageFile { Content = Base64Files.PNG, ContentType = "image/jpeg", Name = "Kuva.jpg", Size = 16 }); var msgState = _client.SendMessageToViestit(new List <ViestitMessage> { msg }).GetAwaiter().GetResult(); Console.WriteLine(JsonConvert.SerializeObject(msgState[0]) + Environment.NewLine); }
public async void TestAddTargets() { // ARRANGE const string ssn = "123456-7890"; const MessageStateCode msgCode = MessageStateCode.Success; const string msgCodeDescription = "Asia on tallennettuna ja näkyy asiakkaalle."; const string sentMsgId = "SPAv2-1234-test"; const string viestitId = "TiliTunniste"; const string sanomaTunniste = "123-123"; // request const string sentMsgNumber = "ViestinTunniste"; const string sentTopic = "Otsikko"; const string sentName = "Lähettäjänimi"; const string sentText = "Sisältötekstiä."; var linkList = new List <ViestitMessageLink> { new ViestitMessageLink { Url = "TestUrl.com", Description = "UrlDescription" } }; var fileList = new List <ViestitMessageFile> { new ViestitMessageFile { Name = "Filename", Size = 10, Content = "Base64 text", ContentType = "application/pdf" } }; var viestitMessage = new ViestitMessage { SocialSecurityNumber = ssn, Id = sentMsgId, MsgId = sentMsgNumber, Topic = sentTopic, SenderName = sentName, Text = sentText, Links = linkList, Files = fileList }; // response dynamic responseMessage = new JObject(); responseMessage.tilaKoodi = ResponseStateCode.Success; responseMessage.tilaKoodiKuvaus = "TestiKuvaus"; responseMessage.sanomaTunniste = sanomaTunniste; responseMessage.aikaleima = (long)12345; responseMessage.kohdeMaara = 1; responseMessage.kohteet = new JArray(); dynamic kohde = new JObject(); kohde.viranomaisTunniste = sentMsgId; kohde.asiakkaat = new JArray(); responseMessage.kohteet.Add(kohde); dynamic asiakas = new JObject(); asiakas.asiakasTunnus = ssn; asiakas.tunnusTyyppi = "SSN"; asiakas.asiointitiliTunniste = viestitId; asiakas.kohteenTila = msgCode; asiakas.kohteenTilaKuvaus = msgCodeDescription; kohde.asiakkaat.Add(asiakas); var mockResponse = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(responseMessage.ToString()) }; var client = GetClient(mockResponse); // ACT var responseData = await client.SendMessageToViestit(new List <ViestitMessage> { viestitMessage }); // ASSERT Func <HttpContent, bool> requestContainsCorrectData = (content => { var data = JsonConvert.DeserializeObject <dynamic>(content.ReadAsStringAsync().Result); return(data.asiakasTunnus == ssn && data.viranomaisTunniste == sentMsgId && data.asiaNumero == sentMsgNumber && data.nimeke == sentTopic && data.lahettajaNimi == sentName && data.kuvausTeksti == sentText && data.tiedostot.Count == 1 && data.linkit.Count == 1 && data.lukuKuittaus == false && data.vastaanottoVahvistus == false); }); Assert.Equal(responseData[0].StateCode, msgCode); Assert.Equal(responseData[0].StateDescription, msgCodeDescription); Assert.Equal(responseData[0].Id, sanomaTunniste); _handlerMock.Protected().Verify( "SendAsync", Times.Exactly(1), ItExpr.Is <HttpRequestMessage>(req => req.Method == HttpMethod.Post && req.RequestUri == GetExpectedUri("/lisaakohteita") && requestContainsCorrectData(req.Content) ), ItExpr.IsAny <CancellationToken>() ); }