Skip to content

Commit a5e9b02

Browse files
committed
Model API autotest added
1 parent 442df2c commit a5e9b02

19 files changed

+185
-113
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ bin/
66
*.DotSettings.user
77
.idea/
88
private-appsettings.json
9-
.vscode
9+
.vscode
10+
*.DotSettings

Api/EmailApi.cs

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1855,11 +1855,11 @@ public async Task<EmailPropertyResponse> AppendEmailMessageAsync(Model.Requests.
18551855
/// <returns><see cref="ValueResponse"/></returns>
18561856
public ValueResponse AppendEmailModelMessage(Model.Requests.AppendEmailModelMessageRequest request)
18571857
{
1858-
// verify the required parameter 'request' is set
1859-
if (request.request == null)
1858+
// verify the required parameter 'rq' is set
1859+
if (request.rq == null)
18601860
{
18611861
throw new ApiException(400,
1862-
"Missing required parameter 'request' when calling AppendEmailModelMessage");
1862+
"Missing required parameter 'rq' when calling AppendEmailModelMessage");
18631863
}
18641864

18651865
// create path and map variables
@@ -1868,7 +1868,7 @@ public ValueResponse AppendEmailModelMessage(Model.Requests.AppendEmailModelMess
18681868
.Replace(resourcePath, "\\*", string.Empty)
18691869
.Replace("&amp;", "&")
18701870
.Replace("/?", "?");
1871-
var postBody = SerializationHelper.Serialize(request.request); // http body (model) parameter
1871+
var postBody = SerializationHelper.Serialize(request.rq); // http body (model) parameter
18721872
var response = apiInvoker.InvokeApi(
18731873
resourcePath,
18741874
"PUT",
@@ -1891,11 +1891,11 @@ public ValueResponse AppendEmailModelMessage(Model.Requests.AppendEmailModelMess
18911891
/// <returns><see cref="ValueResponse"/></returns>
18921892
public async Task<ValueResponse> AppendEmailModelMessageAsync(Model.Requests.AppendEmailModelMessageRequest request)
18931893
{
1894-
// verify the required parameter 'request' is set
1895-
if (request.request == null)
1894+
// verify the required parameter 'rq' is set
1895+
if (request.rq == null)
18961896
{
18971897
throw new ApiException(400,
1898-
"Missing required parameter 'request' when calling AppendEmailModelMessage");
1898+
"Missing required parameter 'rq' when calling AppendEmailModelMessage");
18991899
}
19001900

19011901
// create path and map variables
@@ -1904,7 +1904,7 @@ public async Task<ValueResponse> AppendEmailModelMessageAsync(Model.Requests.App
19041904
.Replace(resourcePath, "\\*", string.Empty)
19051905
.Replace("&amp;", "&")
19061906
.Replace("/?", "?");
1907-
var postBody = SerializationHelper.Serialize(request.request); // http body (model) parameter
1907+
var postBody = SerializationHelper.Serialize(request.rq); // http body (model) parameter
19081908
var response = await apiInvoker.InvokeApiAsync(
19091909
resourcePath,
19101910
"PUT",
@@ -6694,11 +6694,11 @@ await apiInvoker.InvokeApiAsync(
66946694
/// <param name="request">Request. <see cref="SendEmailModelRequest" /></param>
66956695
public void SendEmailModel(Model.Requests.SendEmailModelRequest request)
66966696
{
6697-
// verify the required parameter 'request' is set
6698-
if (request.request == null)
6697+
// verify the required parameter 'rq' is set
6698+
if (request.rq == null)
66996699
{
67006700
throw new ApiException(400,
6701-
"Missing required parameter 'request' when calling SendEmailModel");
6701+
"Missing required parameter 'rq' when calling SendEmailModel");
67026702
}
67036703

67046704
// create path and map variables
@@ -6707,7 +6707,7 @@ public void SendEmailModel(Model.Requests.SendEmailModelRequest request)
67076707
.Replace(resourcePath, "\\*", string.Empty)
67086708
.Replace("&amp;", "&")
67096709
.Replace("/?", "?");
6710-
var postBody = SerializationHelper.Serialize(request.request); // http body (model) parameter
6710+
var postBody = SerializationHelper.Serialize(request.rq); // http body (model) parameter
67116711
apiInvoker.InvokeApi(
67126712
resourcePath,
67136713
"POST",
@@ -6723,11 +6723,11 @@ public void SendEmailModel(Model.Requests.SendEmailModelRequest request)
67236723
/// <param name="request">Request. <see cref="SendEmailModelRequest" /></param>
67246724
public async Task SendEmailModelAsync(Model.Requests.SendEmailModelRequest request)
67256725
{
6726-
// verify the required parameter 'request' is set
6727-
if (request.request == null)
6726+
// verify the required parameter 'rq' is set
6727+
if (request.rq == null)
67286728
{
67296729
throw new ApiException(400,
6730-
"Missing required parameter 'request' when calling SendEmailModel");
6730+
"Missing required parameter 'rq' when calling SendEmailModel");
67316731
}
67326732

67336733
// create path and map variables
@@ -6736,7 +6736,7 @@ public async Task SendEmailModelAsync(Model.Requests.SendEmailModelRequest reque
67366736
.Replace(resourcePath, "\\*", string.Empty)
67376737
.Replace("&amp;", "&")
67386738
.Replace("/?", "?");
6739-
var postBody = SerializationHelper.Serialize(request.request); // http body (model) parameter
6739+
var postBody = SerializationHelper.Serialize(request.rq); // http body (model) parameter
67406740
await apiInvoker.InvokeApiAsync(
67416741
resourcePath,
67426742
"POST",

Aspose.Email-Cloud.Tests/Tests/TestFixture.cs

Lines changed: 82 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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)));
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// --------------------------------------------------------------------------------------------------------------------
2-
// <copyright company="Aspose" file="AppendEmailModelRequest.cs">
2+
// <copyright company="Aspose" file="AppendEmailModelRq.cs">
33
// Copyright (c) 2016 Aspose.Email for Cloud
44
// </copyright>
55
// <summary>
@@ -35,24 +35,24 @@ namespace Aspose.Email.Cloud.Sdk.Model
3535
/// <summary>
3636
/// Append email request
3737
/// </summary>
38-
public class AppendEmailModelRequest : AppendEmailAccountBaseRequest
38+
public class AppendEmailModelRq : AppendEmailAccountBaseRequest
3939
{
4040
/// <summary>
4141
/// Email document
4242
/// </summary>
4343
public EmailDto Message { get; set; }
4444

45-
/// <summary>AppendEmailModelRequest constructor</summary>
46-
public AppendEmailModelRequest() {}
45+
/// <summary>AppendEmailModelRq constructor</summary>
46+
public AppendEmailModelRq() {}
4747

48-
/// <summary>AppendEmailModelRequest constructor</summary>
48+
/// <summary>AppendEmailModelRq constructor</summary>
4949
/// <param name="firstAccount">First account storage file name for receiving emails (or universal one) </param>
5050
/// <param name="secondAccount">Second account storage file name for sending emails (ignored if first is universal) </param>
5151
/// <param name="storageFolder">Storage folder location of account files </param>
5252
/// <param name="folder">Email account folder to store a message </param>
5353
/// <param name="markAsSent">Mark message as sent </param>
5454
/// <param name="message">Email document </param>
55-
public AppendEmailModelRequest(string firstAccount, string secondAccount, StorageFolderLocation storageFolder, string folder, bool? markAsSent, EmailDto message)
55+
public AppendEmailModelRq(string firstAccount, string secondAccount, StorageFolderLocation storageFolder, string folder, bool? markAsSent, EmailDto message)
5656
{
5757
FirstAccount = firstAccount;
5858
SecondAccount = secondAccount;
@@ -68,7 +68,7 @@ public AppendEmailModelRequest(string firstAccount, string secondAccount, Storag
6868
public override string ToString()
6969
{
7070
var sb = new StringBuilder();
71-
sb.Append("class AppendEmailModelRequest {\n");
71+
sb.Append("class AppendEmailModelRq {\n");
7272
sb.Append(" FirstAccount: ").Append(this.FirstAccount).Append("\n");
7373
sb.Append(" SecondAccount: ").Append(this.SecondAccount).Append("\n");
7474
sb.Append(" StorageFolder: ").Append(this.StorageFolder).Append("\n");

0 commit comments

Comments
 (0)