public async Task ProcessDeleteInvite_BadRequest()
        {
            var eventId = Guid.NewGuid().ToString();
            var id      = Guid.NewGuid().ToString();
            HttpResponseMessage resp = this.GetHttpResponseMessage(HttpStatusCode.BadRequest, id);
            var handlerMock          = new Mock <HttpMessageHandler>();

            _ = handlerMock
                .Protected()
                .Setup <Task <HttpResponseMessage> >(
                "SendAsync",
                ItExpr.IsAny <HttpRequestMessage>(),
                ItExpr.IsAny <CancellationToken>())
                .ReturnsAsync(resp);
            var       httpClient      = new HttpClient(handlerMock.Object);
            var       notificationId  = Guid.NewGuid().ToString();
            var       msGrpahProvider = new MSGraphProvider(this.MsGraphSetting, Options.Create(this.retrySetting), this.Logger, httpClient);
            Exception ex = null;

            try
            {
                var result = await msGrpahProvider.DeleteMeetingInvite(this.TestTokenHeader, notificationId, eventId).ConfigureAwait(false);
            }
            catch (Exception e)
            {
                ex = e;
            }

            Assert.IsTrue(ex?.Message?.Contains($"An error occurred while sending notification id: {notificationId}"));
        }
        public async Task ProcessDeleteInvite_TooManyRequest()
        {
            var eventId = Guid.NewGuid().ToString();
            var id      = Guid.NewGuid().ToString();
            HttpResponseMessage resp = this.GetHttpResponseMessage(HttpStatusCode.TooManyRequests, id);
            var handlerMock          = new Mock <HttpMessageHandler>();

            _ = handlerMock
                .Protected()
                .Setup <Task <HttpResponseMessage> >(
                "SendAsync",
                ItExpr.IsAny <HttpRequestMessage>(),
                ItExpr.IsAny <CancellationToken>())
                .ReturnsAsync(resp);
            var httpClient      = new HttpClient(handlerMock.Object);
            var notificationId  = Guid.NewGuid().ToString();
            var msGrpahProvider = new MSGraphProvider(this.MsGraphSetting, Options.Create(this.retrySetting), this.Logger, httpClient);
            var result          = await msGrpahProvider.DeleteMeetingInvite(this.TestTokenHeader, notificationId, eventId).ConfigureAwait(false);

            Assert.AreEqual(result.StatusCode, HttpStatusCode.TooManyRequests);
        }