public async Task GroupExistsSocketExceptionTest()
        {
            var mockLogs        = new MockLoggingRepository();
            var telemetryClient = new TelemetryClient(TelemetryConfiguration.CreateDefault());
            var mockGraphGroup  = new Mock <IGraphGroupRepository>();
            var mockMail        = new MockMailRepository();
            var mailSenders     = new EmailSenderRecipient("*****@*****.**", "fake_pass", "*****@*****.**", "*****@*****.**", "*****@*****.**");
            var mockSynJobs     = new MockSyncJobRepository();
            var dryRun          = new DryRunValue(false);

            var attemptNumber = 1;

            mockGraphGroup.Setup(x => x.GroupExists(It.IsAny <Guid>())).Callback(() =>
            {
                if (attemptNumber == 1)
                {
                    attemptNumber++;
                    throw new SocketException();
                }
            }).ReturnsAsync(true);

            var graphUpdaterService = new GraphUpdaterService(mockLogs, telemetryClient, mockGraphGroup.Object, mockMail, mailSenders, mockSynJobs, dryRun);

            var groupId  = Guid.NewGuid();
            var runId    = Guid.NewGuid();
            var response = await graphUpdaterService.GroupExistsAsync(groupId, runId);

            Assert.IsTrue(response.Result);
            Assert.IsTrue(mockLogs.MessagesLogged.Any(x => x.Message.Contains("Got a transient SocketException")));
        }
        public async Task GroupExistsTest()
        {
            var mockLogs        = new MockLoggingRepository();
            var telemetryClient = new TelemetryClient(TelemetryConfiguration.CreateDefault());
            var mockGraphGroup  = new MockGraphGroupRepository();
            var mockMail        = new MockMailRepository();
            var mailSenders     = new EmailSenderRecipient("*****@*****.**", "fake_pass", "*****@*****.**", "*****@*****.**", "*****@*****.**");
            var mockSynJobs     = new MockSyncJobRepository();
            var dryRun          = new DryRunValue(false);

            var graphUpdaterService = new GraphUpdaterService(mockLogs, telemetryClient, mockGraphGroup, mockMail, mailSenders, mockSynJobs, dryRun);

            var groupId = Guid.NewGuid();
            var runId   = Guid.NewGuid();

            mockGraphGroup.GroupsToUsers.Add(groupId, new List <AzureADUser>());

            var response = await graphUpdaterService.GroupExistsAsync(groupId, runId);

            Assert.IsTrue(response.Result);
        }