public LimitsLoger(string configurationName, SLimits limits) { this.ConfigurationName = configurationName; this.Limits = limits; this.ApiDailyRequestsLoger = new ApiDailyRequestsLoger(this.ConfigurationName, limits.DailyApiRequests); this.DataStorageLoger = new DataStorageLoger(this.ConfigurationName, limits.DataStorageMb); }
public void GetSalesforceLimitsTest() { SLimits limits = SalesforceManager.GetSalesforceLimits(this.Client); Assert.IsNotNull(limits); Assert.IsNotNull(limits.DailyApiRequests); Assert.IsNotNull(limits.DataStorageMb); Assert.Pass(string.Format("LIMITS -- Daily Api Requests: {0}/{1} | Data Storage: {2}/{3} Mb", limits.DailyApiRequests.Remaining, limits.DailyApiRequests.Max, limits.DataStorageMb.Remaining, limits.DataStorageMb.Max)); }
public virtual void Run() { foreach (var configuration in SalesforceManager.GetConfigurations()) { SLimits limits = SalesforceManager.GetSalesforceLimits(configuration.Client); this.loger = new LimitsLoger(configuration.Name, limits); this.ProcessLimits(limits); } }
public virtual void ProcessLimits(SLimits limits) { if (limits != null) { if (this.LogStatistic) { this.loger.LogStatisticInfo(); } this.ProcessLimit(limits.DailyApiRequests, this.loger.ApiDailyRequestsLoger, this.ApiUsageThreshold); this.ProcessLimit(limits.DataStorageMb, this.loger.DataStorageLoger, this.DataStorageThreshold); } else { this.loger.LogInformationAreNotAvailableWarning(); } }
public void ProcessLimitsTest( string configurationName, SLimits limits, bool logStatistic, int apiUsageThreshold, int dataStorageThreshold, Times[] result) { var mockedApiDailyRequestsLoger = new Moq.Mock <ILimitLoger>(); if (limits != null) { var apiDailyRequestsLoger = new ApiDailyRequestsLoger(configurationName, limits.DailyApiRequests); mockedApiDailyRequestsLoger.SetupGet(p => p.UsedAmount).Returns(apiDailyRequestsLoger.UsedAmount); mockedApiDailyRequestsLoger.SetupGet(p => p.UsedPercents).Returns(apiDailyRequestsLoger.UsedPercents); } mockedApiDailyRequestsLoger.Setup(m => m.LogPointWarning()).Verifiable(); mockedApiDailyRequestsLoger.Setup(m => m.LogHasReachedError()).Verifiable(); var mockedDataStorageLoger = new Moq.Mock <ILimitLoger>(); if (limits != null) { var dataStorageLoger = new ApiDailyRequestsLoger(configurationName, limits.DataStorageMb); mockedDataStorageLoger.SetupGet(p => p.UsedAmount).Returns(dataStorageLoger.UsedAmount); mockedDataStorageLoger.SetupGet(p => p.UsedPercents).Returns(dataStorageLoger.UsedPercents); } mockedDataStorageLoger.Setup(m => m.LogPointWarning()).Verifiable(); mockedDataStorageLoger.Setup(m => m.LogHasReachedError()).Verifiable(); var mockedLoger = new Moq.Mock <ILimitsLoger>(); mockedLoger.SetupGet(p => p.ApiDailyRequestsLoger).Returns(mockedApiDailyRequestsLoger.Object); mockedLoger.SetupGet(p => p.DataStorageLoger).Returns(mockedDataStorageLoger.Object); mockedLoger.Setup(m => m.LogStatisticInfo()).Verifiable(); mockedLoger.Setup(m => m.LogInformationAreNotAvailableWarning()).Verifiable(); var agent = new LimitsAgent(); agent.LogStatistic = logStatistic; agent.ApiUsageThreshold = apiUsageThreshold; agent.DataStorageThreshold = dataStorageThreshold; var logerField = typeof(LimitsAgent).GetField("loger", BindingFlags.Instance | BindingFlags.NonPublic); if (logerField != null) { logerField.SetValue(agent, mockedLoger.Object); } agent.ProcessLimits(limits); mockedLoger.Verify(m => m.LogStatisticInfo(), result[0]); mockedLoger.Verify(m => m.LogInformationAreNotAvailableWarning(), result[1]); mockedApiDailyRequestsLoger.Verify(m => m.LogPointWarning(), result[2]); mockedApiDailyRequestsLoger.Verify(m => m.LogHasReachedError(), result[3]); mockedDataStorageLoger.Verify(m => m.LogPointWarning(), result[4]); mockedDataStorageLoger.Verify(m => m.LogHasReachedError(), result[5]); }