DaanHoogland commented on code in PR #6984: URL: https://github.com/apache/cloudstack/pull/6984#discussion_r1048224921
########## plugins/api/rate-limit/src/test/java/org/apache/cloudstack/ratelimit/ApiRateLimitTest.java: ########## @@ -110,17 +110,26 @@ public void sequentialApiAccess() { @Test public void canDoReasonableNumberOfApiAccessPerSecond() throws Exception { - int allowedRequests = 200; + int allowedRequests = 2000; Review Comment: ```suggestion int allowedRequests = 200; ``` ########## plugins/api/rate-limit/src/test/java/org/apache/cloudstack/ratelimit/ApiRateLimitTest.java: ########## @@ -110,17 +110,26 @@ public void sequentialApiAccess() { @Test public void canDoReasonableNumberOfApiAccessPerSecond() throws Exception { - int allowedRequests = 200; + int allowedRequests = 2000; s_limitService.setMaxAllowed(allowedRequests); - s_limitService.setTimeToLive(1); + s_limitService.setTimeToLive(5); + long startTime = System.nanoTime(); User key = createFakeUser(); for (int i = 0; i < allowedRequests; i++) { - assertTrue("We should allow " + allowedRequests + " requests per second, but failed at request " + i, isUnderLimit(key)); + assertTrue(String.format("We should allow %d requests per second, but failed at request %d.", allowedRequests, i), isUnderLimit(key)); } - - assertFalse("We should block >" + allowedRequests + " requests per second", isUnderLimit(key)); + // we cannot really say more about this test + boolean underLimit = isUnderLimit(key); + long endtime = System.nanoTime(); + int issued = s_limitService.getIssued(key.getAccountId()); + int timeToLive = s_limitService.getTimeToLive(); + + // this assertion is really invalid as we don´t know if we exceeded the time to live for the amount of api calls (for sure) + // so only fail if timeToLive is not exeeded and we didn´t get the requested number of calls + assertTrue(String.format("We should block >%d requests per %d seconds (managed %d, time elapsed %d)", + s_limitService.getMaxAllowed(), timeToLive, issued, endtime - startTime), ( ! underLimit) || ((endtime - starttime)/1000000 > timeToLive); Review Comment: ```suggestion // this assertion is really invalid as we don´t know if we exceeded the time to live for the amount of api calls (for sure) // so only fail if timeToLive is not exeeded and we didn´t get the requested number of calls assertFalse(String.format("We should block >%d requests per %d seconds (managed %d, time elapsed %d)", s_limitService.getMaxAllowed(), timeToLive, issued, endtime - startTime), ((endtime - starttime)/1000000 < timeToLive) && underLimit); ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@cloudstack.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org