public async Task TestProcessMeetingInvites_StatusSuccess_WithAttachment() { var applicationAccounts = this.GetApplicationAccounts("*****@*****.**", "*****@*****.**", "Test"); Dictionary <string, string> testConfigValues = new Dictionary <string, string>() { { "ApplicationAccounts", JsonConvert.SerializeObject(applicationAccounts) }, { "RetrySetting", JsonConvert.SerializeObject(this.retrySetting) }, }; var res = new ResponseData <string>() { Status = true, StatusCode = HttpStatusCode.OK, }; _ = this.TokenHelper.Setup(x => x.GetAuthenticationHeaderValueForSelectedAccount(It.IsAny <AccountCredential>())).ReturnsAsync(new AuthenticationHeaderValue("test")); _ = this.MsGraphProvider.Setup(x => x.SendMeetingInvite(It.IsAny <AuthenticationHeaderValue>(), It.IsAny <InvitePayload>(), It.IsAny <string>())).ReturnsAsync(res); var inviteEntities = this.GetMeetingNotificationItems(NotificationItemStatus.Queued); inviteEntities.FirstOrDefault().Attachments = this.GetAttachments(); var attachmentRes = new Dictionary <string, ResponseData <string> >() { { inviteEntities.FirstOrDefault().Attachments.FirstOrDefault().FileName, new ResponseData <string>() { Status = true, StatusCode = HttpStatusCode.OK } }, }; _ = this.MsGraphProvider.Setup(x => x.SendMeetingInviteAttachments(It.IsAny <AuthenticationHeaderValue>(), It.IsAny <List <FileAttachment> >(), It.IsAny <string>(), It.IsAny <string>())).Returns(attachmentRes); var testClass = new MSGraphNotificationProvider(this.Configuration, this.EmailAccountManager.Object, this.Logger, this.MsGraphSetting, Options.Create(this.retrySetting), this.TokenHelper.Object, this.MsGraphProvider.Object, this.EmailManager); await testClass.ProcessMeetingNotificationEntities(this.ApplicationName, inviteEntities); Assert.IsTrue(inviteEntities.FirstOrDefault().Status == NotificationItemStatus.Sent); }
public async Task TestProcessMeetingInvites_AuthHeader_Null() { var applicationAccounts = this.GetApplicationAccounts("*****@*****.**", "*****@*****.**", "Test"); Dictionary <string, string> testConfigValues = new Dictionary <string, string>() { { "ApplicationAccounts", JsonConvert.SerializeObject(applicationAccounts) }, { "RetrySetting", JsonConvert.SerializeObject(this.retrySetting) }, }; var inviteEntities = this.GetMeetingNotificationItems(NotificationItemStatus.Sent); var testClass = new MSGraphNotificationProvider(this.Configuration, this.EmailAccountManager.Object, this.Logger, this.MsGraphSetting, Options.Create(this.retrySetting), this.TokenHelper.Object, this.MsGraphProvider.Object, this.EmailManager); await testClass.ProcessMeetingNotificationEntities(this.ApplicationName, inviteEntities); Assert.IsTrue(inviteEntities.FirstOrDefault().Status == NotificationItemStatus.Failed); }
public async Task TestProcessMeetingInvites_InviteItems_NullOrEmpty() { Exception ex = null; var testClass = new MSGraphNotificationProvider(this.Configuration, this.EmailAccountManager.Object, this.Logger, this.MsGraphSetting, Options.Create(this.retrySetting), this.TokenHelper.Object, this.MsGraphProvider.Object, this.EmailManager); try { await testClass.ProcessMeetingNotificationEntities(this.ApplicationName, null); } catch (ArgumentNullException ane) { ex = ane; } Assert.IsTrue(ex?.Message?.Contains("meetingInviteEntities are null/empty.")); }