Пример #1
0
        public async Task CreateRecoveryObjectivesReportData_WithUpdate()
        {
            var rpo1 = new DatabaseRpoScoreData {
                DatabaseId = 1, RpoScore = 33m, PotentialDataLoss = 22
            };
            var rto1 = new DatabaseRtoScoreData {
                DatabaseId = 1, RtoScore = 34m, TimeToRecoverHours = 32m
            };

            await this.reportRepository.UpdateRecoveryObjectivesRpoReport(rpo1);

            await this.reportRepository.UpdateRecoveryObjectivesRtoReport(rto1);

            var rpo2 = new DatabaseRpoScoreData {
                DatabaseId = 1, RpoScore = 12m, PotentialDataLoss = 55
            };
            var rto2 = new DatabaseRtoScoreData {
                DatabaseId = 1, RtoScore = 13m, TimeToRecoverHours = 60m
            };

            await this.reportRepository.UpdateRecoveryObjectivesRpoReport(rpo2);

            await this.reportRepository.UpdateRecoveryObjectivesRtoReport(rto2);

            Assert.Pass("No results returned");
        }
Пример #2
0
        public async Task UpdateRecoveryObjectivesRtoReport(DatabaseRtoScoreData rtoScoreData)
        {
            using (var conn = this.connectionFactory.GetEddsPerformanceConnection())
            {
                var updatedRecords = await conn.ExecuteAsync(
                    Resources.Reports_RecoveryObjectives_Rto_Update,
                    new { rtoScoreData.DatabaseId, RtoTimeToRecover = rtoScoreData.TimeToRecoverHours, rtoScoreData.RtoScore });

                if (updatedRecords == 0)
                {
                    await conn.ExecuteAsync(
                        Resources.Reports_RecoveryObjectives_Rto_Create,
                        new { rtoScoreData.DatabaseId, RtoTimeToRecover = rtoScoreData.TimeToRecoverHours, rtoScoreData.RtoScore });
                }
            }
        }
Пример #3
0
        public async Task UpdateRecoveryObjectivesRtoReport()
        {
            var databaseId       = 1;
            var rtoScore         = 14m;
            var rtoTimeToRecover = 13m;
            var rto = new DatabaseRtoScoreData
            {
                DatabaseId         = databaseId,
                RtoScore           = rtoScore,
                TimeToRecoverHours = rtoTimeToRecover
            };
            var rtoList = new[] { rto }.ToList();

            this.reportRepositoryMock.Setup(m => m.UpdateRecoveryObjectivesRtoReport(rto)).ReturnsAsyncDefault();

            // act
            await this.recoveryObjectivesReporter.UpdateRtoReport(rtoList);

            // assert
            this.reportRepositoryMock.VerifyAll();
        }