public void IsAllowed_20ExecutionsOnFreeApp_AllowsAll() { var limiter = new Limiter("free"); for (int i = 0; i < 20; i++) { Assert.IsTrue(limiter.IsAllowed(GetCurrentMethod().Name), $"Iteration index {i} was improperly disallowed"); } }
private async Task <MessageProcessInstruction> GetMessageProcessInstruction(string routingKeyOrQueueName, string consumerTag, long firstErrorTimestamp, string exchange, string message, string messageAdditionalInfo) { var isAllowed = true; if (Limiter != null) { isAllowed = Limiter.IsAllowed(routingKeyOrQueueName, consumerTag, firstErrorTimestamp, exchange, message); } if (!isAllowed) { return(new MessageProcessInstruction(Limiter.DeniedProcessInstruction, messageAdditionalInfo)); } var messageProcessInstruction = await OnReceiveMessage(routingKeyOrQueueName, consumerTag, firstErrorTimestamp, exchange, message, messageAdditionalInfo) .ConfigureAwait(false); return(messageProcessInstruction); }