use of org.wso2.carbon.apimgt.gateway.throttling.util.BlockingConditionRetriever in project carbon-apimgt by wso2.
the class GatewayStartupListener method retrieveBlockConditionsAndKeyTemplates.
private void retrieveBlockConditionsAndKeyTemplates() {
if (throttleProperties.getBlockCondition().isEnabled()) {
BlockingConditionRetriever webServiceThrottleDataRetriever = new BlockingConditionRetriever();
webServiceThrottleDataRetriever.startWebServiceThrottleDataRetriever();
KeyTemplateRetriever webServiceBlockConditionsRetriever = new KeyTemplateRetriever();
webServiceBlockConditionsRetriever.startKeyTemplateDataRetriever();
// Start web service based revoked JWT tokens retriever.
// Advanced throttle properties & blocking conditions have to be enabled for JWT token
// retrieval due to the throttle config dependency for this feature.
RevokedJWTTokensRetriever webServiceRevokedJWTTokensRetriever = new RevokedJWTTokensRetriever();
webServiceRevokedJWTTokensRetriever.startRevokedJWTTokensRetriever();
}
}
use of org.wso2.carbon.apimgt.gateway.throttling.util.BlockingConditionRetriever in project carbon-apimgt by wso2.
the class BlockingConditionRetrieverTest method run.
@Test
public void run() throws Exception {
String content = "{\"api\":[\"/pizzashack/1.0.0\"],\"application\":[\"admin:DefaultApplication\"]," + "\"ip\":[{\"fixedIp\":\"127.0.0.1\",\"invert\":false,\"type\":\"IP\",\"tenantDomain\":\"carbon" + ".super\"}],\"user\":[\"admin\"],\"custom\":[]}";
PowerMockito.mockStatic(APIUtil.class);
HttpClient httpClient = Mockito.mock(HttpClient.class);
HttpResponse httpResponse = Mockito.mock(HttpResponse.class);
BasicHttpEntity httpEntity = new BasicHttpEntity();
httpEntity.setContent(new ByteArrayInputStream(content.getBytes()));
Mockito.when(httpResponse.getEntity()).thenReturn(httpEntity);
StatusLine status = Mockito.mock(StatusLine.class);
Mockito.when(status.getStatusCode()).thenReturn(200);
Mockito.when(httpResponse.getStatusLine()).thenReturn(status);
Mockito.when(httpClient.execute(Mockito.any(HttpGet.class))).thenReturn(httpResponse);
BDDMockito.given(APIUtil.getHttpClient(Mockito.anyInt(), Mockito.anyString())).willReturn(httpClient);
EventHubConfigurationDto eventHubConfigurationDto = new EventHubConfigurationDto();
eventHubConfigurationDto.setUsername("admin");
eventHubConfigurationDto.setPassword("admin".toCharArray());
eventHubConfigurationDto.setEnabled(true);
eventHubConfigurationDto.setServiceUrl("http://localhost:18083/internal/data/v1");
ThrottleDataHolder throttleDataHolder = new ThrottleDataHolder();
BlockingConditionRetriever blockingConditionRetriever = new BlockingConditionRetrieverWrapper(eventHubConfigurationDto, throttleDataHolder);
blockingConditionRetriever.run();
Assert.assertTrue(throttleDataHolder.isRequestBlocked("/pizzashack/1.0.0", "admin:DefaultApplication", "admin", "127.0.0.1", "carbon.super", "/pizzashack/1.0.0:1.0.0:admin-DefaultApplication"));
}
Aggregations