@@ -38,7 +38,8 @@ public void OneTimeSetup()
3838 var apiConfiguration = new Configuration
3939 {
4040 ApiVersion = "v3.0" ,
41- ApiBaseUrl = configurationHelper . GetValue ( "apiBaseUrl" , "https://api-qa.aspose.cloud" ) ,
41+ ApiBaseUrl =
42+ configurationHelper . GetValue ( "apiBaseUrl" , "https://api-qa.aspose.cloud" ) ,
4243 AppKey = configurationHelper . GetValue ( "appKey" , string . Empty ) ,
4344 AppSid = configurationHelper . GetValue ( "appSid" , string . Empty ) ,
4445 AuthUrl = configurationHelper . GetValue < string > ( "authUrl" , null )
@@ -130,7 +131,8 @@ public async Task ContactFormatTest()
130131 var extension = format == "vcard" ? ".vcf" : ".msg" ;
131132 var name = $ "{ Guid . NewGuid ( ) . ToString ( ) } { extension } ";
132133 await emailApi . CreateContactAsync ( new CreateContactRequest ( format , name ,
133- new HierarchicalObjectRequest ( new HierarchicalObject ( "CONTACT" , null , new List < BaseObject > ( ) ) ,
134+ new HierarchicalObjectRequest (
135+ new HierarchicalObject ( "CONTACT" , null , new List < BaseObject > ( ) ) ,
134136 new StorageFolderLocation ( StorageName , folder ) ) ) ) ;
135137 var contactExist = await IsFileExist ( name ) ;
136138 Assert . IsTrue ( contactExist ) ;
@@ -148,7 +150,9 @@ public async Task DateTimeTest()
148150 {
149151 var startDate = DateTime . UtcNow . Date . AddDays ( 1 ) . AddHours ( 12 ) ;
150152 var calendarFile = await CreateCalendar ( startDate ) ;
151- var calendar = await emailApi . GetCalendarAsync ( new GetCalendarRequest ( calendarFile , folder , StorageName ) ) ;
153+ var calendar =
154+ await emailApi . GetCalendarAsync ( new GetCalendarRequest ( calendarFile , folder ,
155+ StorageName ) ) ;
152156 var startDateProperty = calendar . InternalProperties
153157 . First ( property => property . Name == "STARTDATE" ) ;
154158 var factStartDate = DateTime
@@ -163,7 +167,8 @@ public async Task DateTimeTest()
163167 [ Test ]
164168 public async Task AiNameGenderizeTest ( )
165169 {
166- var result = await emailApi . AiNameGenderizeAsync ( new AiNameGenderizeRequest ( "John Cane" ) ) ;
170+ var result =
171+ await emailApi . AiNameGenderizeAsync ( new AiNameGenderizeRequest ( "John Cane" ) ) ;
167172 Assert . GreaterOrEqual ( result . Value . Count , 1 ) ;
168173 Assert . True ( result . Value . Any ( item => item . Gender == "Male" ) ) ;
169174 }
@@ -247,7 +252,8 @@ public async Task AiBcrParseStorageTest()
247252 // 1) Upload business card image to storage
248253 using ( var stream = File . OpenRead ( BcrAiTestFilePath ) )
249254 {
250- await emailApi . UploadFileAsync ( new UploadFileRequest ( $ "{ folder } /{ fileName } ", stream , StorageName ) ) ;
255+ await emailApi . UploadFileAsync ( new UploadFileRequest ( $ "{ folder } /{ fileName } ", stream ,
256+ StorageName ) ) ;
251257 }
252258
253259 var outFolder = Guid . NewGuid ( ) . ToString ( ) ;
@@ -257,7 +263,10 @@ public async Task AiBcrParseStorageTest()
257263 var result = await emailApi . AiBcrParseStorageAsync ( new AiBcrParseStorageRequest (
258264 new AiBcrParseStorageRq ( null ,
259265 new List < AiBcrImageStorageFile >
260- { new AiBcrImageStorageFile ( true , new StorageFileLocation ( StorageName , folder , fileName ) ) } ,
266+ {
267+ new AiBcrImageStorageFile ( true ,
268+ new StorageFileLocation ( StorageName , folder , fileName ) )
269+ } ,
261270 new StorageFolderLocation ( StorageName , outFolderPath ) ) ) ) ;
262271 //Check that only one file produced
263272 Assert . True ( result . Value . Count == 1 ) ;
@@ -275,8 +284,9 @@ public async Task AiBcrParseStorageTest()
275284 }
276285
277286 // 5) Get VCard object properties list, check that there are 3 properties or more
278- var contactProperties = await emailApi . GetContactPropertiesAsync ( new GetContactPropertiesRequest (
279- "vcard" , contactFile . FileName , contactFile . FolderPath , contactFile . Storage ) ) ;
287+ var contactProperties = await emailApi . GetContactPropertiesAsync (
288+ new GetContactPropertiesRequest (
289+ "vcard" , contactFile . FileName , contactFile . FolderPath , contactFile . Storage ) ) ;
280290 Assert . GreaterOrEqual ( contactProperties . InternalProperties . Count , 3 ) ;
281291 }
282292
@@ -287,8 +297,10 @@ public async Task AiBcrParseStorageTest()
287297 [ Test ]
288298 public async Task AiBcrParseTest ( )
289299 {
290- var result = await emailApi . AiBcrParseAsync ( new AiBcrParseRequest ( new AiBcrBase64Rq ( null ,
291- new List < AiBcrBase64Image > { new AiBcrBase64Image ( true , FileToBase64 ( BcrAiTestFilePath ) ) } ) ) ) ;
300+ var result = await emailApi . AiBcrParseAsync ( new AiBcrParseRequest ( new AiBcrBase64Rq (
301+ null ,
302+ new List < AiBcrBase64Image >
303+ { new AiBcrBase64Image ( true , FileToBase64 ( BcrAiTestFilePath ) ) } ) ) ) ;
292304 Assert . AreEqual ( 1 , result . Value . Count ) ;
293305 Assert . True ( result . Value
294306 . First ( )
@@ -298,6 +310,64 @@ public async Task AiBcrParseTest()
298310 . Any ( property => property . Value ? . Contains ( "Thomas" ) ?? false ) ) ;
299311 }
300312
313+ [ Test ]
314+ [ Pipeline ]
315+ public async Task CreateCalendarEmailTest ( )
316+ {
317+ var calendar = new CalendarDto
318+ {
319+ Attendees = new List < MailAddress >
320+ {
321+ new MailAddress ( "Attendee Name" , "attendee@am.ru" , "Accepted" )
322+ } ,
323+ Description = "Some description" ,
324+ Summary = "Some summary" ,
325+ Reminders = new List < CalendarReminder >
326+ {
327+ new CalendarReminder
328+ {
329+ Action = "Email" ,
330+ Description = "Reminder" ,
331+ Duration = TimeSpan . FromMinutes ( 5 ) . Ticks ,
332+ Repeat = 3 ,
333+ Summary = "Reminder summary" ,
334+ Trigger = new ReminderTrigger ( DateTime . Today , TimeSpan . FromMinutes ( 5 ) . Ticks , "Start" ) ,
335+ Attendees = new List < ReminderAttendee >
336+ {
337+ new ReminderAttendee ( "cloud.em@yandex.ru" )
338+ }
339+ }
340+ } ,
341+ Organizer = new MailAddress ( "Organizer Name" , "cloud.em@yandex.ru" , null ) ,
342+ StartDate = DateTime . Now ,
343+ EndDate = DateTime . Now . AddHours ( 1 ) ,
344+ Location = "Some location"
345+ } ;
346+ var alternate = await emailApi . ConvertCalendarModelToAlternateAsync (
347+ new ConvertCalendarModelToAlternateRequest (
348+ new CalendarDtoAlternateRq ( calendar , "Create" , null ) ) ) ;
349+ var email = new EmailDto
350+ {
351+ AlternateViews = new List < AlternateView > { alternate } ,
352+ From = new MailAddress ( "From address" , "cloud.em@yandex.ru" , "Accepted" ) ,
353+ To = new List < MailAddress > { new MailAddress ( "To address" , "cloud.em@yandex.ru" , null ) } ,
354+ Subject = "Some subject" ,
355+ Body = "Some body"
356+ } ;
357+ var file = $ "{ Guid . NewGuid ( ) . ToString ( ) } .eml";
358+ var folderLocation = new StorageFolderLocation ( StorageName , folder ) ;
359+ await emailApi . SaveEmailModelAsync (
360+ new SaveEmailModelRequest ( "Eml" , file ,
361+ new StorageModelRqOfEmailDto ( email ,
362+ folderLocation ) ) ) ;
363+ var emlFile = await emailApi . DownloadFileAsync (
364+ new DownloadFileRequest ( $ "{ folder } /{ file } ", StorageName ) ) ;
365+ emlFile . Seek ( 0 , SeekOrigin . Begin ) ;
366+ var fileReader = new StreamReader ( emlFile ) ;
367+ var emlFileContent = await fileReader . ReadToEndAsync ( ) ;
368+ Assert . That ( emlFileContent . Contains ( "cloud.em@yandex.ru" ) ) ;
369+ }
370+
301371 private static string FileToBase64 ( string filePath )
302372 {
303373 var bytes = File . ReadAllBytes ( filePath ) ;
@@ -338,7 +408,8 @@ private async Task<string> CreateCalendar(DateTime? startDate = null)
338408 new List < BaseObject >
339409 {
340410 new PrimitiveObject ( "ADDRESS" , null , "attendee@am.ru" ) ,
341- new PrimitiveObject ( "DISPLAYNAME" , null , "Attendee Name" )
411+ new PrimitiveObject ( "DISPLAYNAME" , null ,
412+ "Attendee Name" )
342413 } )
343414 } )
344415 } ) , new StorageFolderLocation ( StorageName , folder ) ) ) ;
0 commit comments