use of org.hypertrace.entity.query.service.v1.Filter in project grpc-java by grpc.
the class ClientXdsClientDataTest method parseServerSideListener_nonUniqueFilterChainMatch_sameFilter.
@Test
public void parseServerSideListener_nonUniqueFilterChainMatch_sameFilter() throws ResourceInvalidException {
Filter filter1 = buildHttpConnectionManagerFilter(HttpFilter.newBuilder().setName("http-filter-1").setTypedConfig(Any.pack(Router.newBuilder().build())).setIsOptional(true).build());
FilterChainMatch filterChainMatch1 = FilterChainMatch.newBuilder().addAllSourcePorts(Arrays.asList(80, 8080)).addAllPrefixRanges(Arrays.asList(CidrRange.newBuilder().setAddressPrefix("10.0.0.0").setPrefixLen(UInt32Value.of(8)).build())).build();
FilterChain filterChain1 = FilterChain.newBuilder().setName("filter-chain-1").setFilterChainMatch(filterChainMatch1).addFilters(filter1).build();
Filter filter2 = buildHttpConnectionManagerFilter(HttpFilter.newBuilder().setName("http-filter-2").setTypedConfig(Any.pack(Router.newBuilder().build())).setIsOptional(true).build());
FilterChainMatch filterChainMatch2 = FilterChainMatch.newBuilder().addAllSourcePorts(Arrays.asList(443, 8080)).addAllPrefixRanges(Arrays.asList(CidrRange.newBuilder().setAddressPrefix("192.168.0.0").setPrefixLen(UInt32Value.of(16)).build(), CidrRange.newBuilder().setAddressPrefix("192.168.0.0").setPrefixLen(UInt32Value.of(16)).build())).build();
FilterChain filterChain2 = FilterChain.newBuilder().setName("filter-chain-2").setFilterChainMatch(filterChainMatch2).addFilters(filter2).build();
Listener listener = Listener.newBuilder().setName("listener1").setTrafficDirection(TrafficDirection.INBOUND).addAllFilterChains(Arrays.asList(filterChain1, filterChain2)).build();
thrown.expect(ResourceInvalidException.class);
thrown.expectMessage("FilterChainMatch must be unique. Found duplicate:");
ClientXdsClient.parseServerSideListener(listener, new HashSet<String>(), null, filterRegistry, null, true);
}
use of org.hypertrace.entity.query.service.v1.Filter in project grpc-java by grpc.
the class ClientXdsClientDataTest method parseServerSideListener_uniqueFilterChainMatch.
@Test
public void parseServerSideListener_uniqueFilterChainMatch() throws ResourceInvalidException {
Filter filter1 = buildHttpConnectionManagerFilter(HttpFilter.newBuilder().setName("http-filter-1").setTypedConfig(Any.pack(Router.newBuilder().build())).setIsOptional(true).build());
FilterChainMatch filterChainMatch1 = FilterChainMatch.newBuilder().addAllSourcePorts(Arrays.asList(80, 8080)).addAllPrefixRanges(Arrays.asList(CidrRange.newBuilder().setAddressPrefix("192.168.0.0").setPrefixLen(UInt32Value.of(16)).build(), CidrRange.newBuilder().setAddressPrefix("10.0.0.0").setPrefixLen(UInt32Value.of(8)).build())).setSourceType(FilterChainMatch.ConnectionSourceType.EXTERNAL).build();
FilterChain filterChain1 = FilterChain.newBuilder().setName("filter-chain-1").setFilterChainMatch(filterChainMatch1).addFilters(filter1).build();
Filter filter2 = buildHttpConnectionManagerFilter(HttpFilter.newBuilder().setName("http-filter-2").setTypedConfig(Any.pack(Router.newBuilder().build())).setIsOptional(true).build());
FilterChainMatch filterChainMatch2 = FilterChainMatch.newBuilder().addAllSourcePorts(Arrays.asList(443, 8080)).addAllPrefixRanges(Arrays.asList(CidrRange.newBuilder().setAddressPrefix("2001:DB8::8:800:200C:417A").setPrefixLen(UInt32Value.of(60)).build(), CidrRange.newBuilder().setAddressPrefix("192.168.0.0").setPrefixLen(UInt32Value.of(16)).build())).setSourceType(FilterChainMatch.ConnectionSourceType.ANY).build();
FilterChain filterChain2 = FilterChain.newBuilder().setName("filter-chain-2").setFilterChainMatch(filterChainMatch2).addFilters(filter2).build();
Listener listener = Listener.newBuilder().setName("listener1").setTrafficDirection(TrafficDirection.INBOUND).addAllFilterChains(Arrays.asList(filterChain1, filterChain2)).build();
ClientXdsClient.parseServerSideListener(listener, new HashSet<String>(), null, filterRegistry, null, true);
}
use of org.hypertrace.entity.query.service.v1.Filter in project grpc-java by grpc.
the class ClientXdsClientDataTest method parseFilterChain_duplicateFilter.
@Test
public void parseFilterChain_duplicateFilter() throws ResourceInvalidException {
Filter filter = buildHttpConnectionManagerFilter(HttpFilter.newBuilder().setName("http-filter-foo").setIsOptional(true).build());
FilterChain filterChain = FilterChain.newBuilder().setName("filter-chain-foo").setFilterChainMatch(FilterChainMatch.getDefaultInstance()).setTransportSocket(TransportSocket.getDefaultInstance()).addAllFilters(Arrays.asList(filter, filter)).build();
thrown.expect(ResourceInvalidException.class);
thrown.expectMessage("FilterChain filter-chain-foo should contain exact one HttpConnectionManager filter");
ClientXdsClient.parseFilterChain(filterChain, new HashSet<String>(), null, filterRegistry, null, null, true);
}
use of org.hypertrace.entity.query.service.v1.Filter in project grpc-java by grpc.
the class ClientXdsClientDataTest method parseFilterChain_filterMissingTypedConfig.
@Test
public void parseFilterChain_filterMissingTypedConfig() throws ResourceInvalidException {
Filter filter = Filter.newBuilder().setName("envoy.http_connection_manager").build();
FilterChain filterChain = FilterChain.newBuilder().setName("filter-chain-foo").setFilterChainMatch(FilterChainMatch.getDefaultInstance()).setTransportSocket(TransportSocket.getDefaultInstance()).addFilters(filter).build();
thrown.expect(ResourceInvalidException.class);
thrown.expectMessage("FilterChain filter-chain-foo contains filter envoy.http_connection_manager " + "without typed_config");
ClientXdsClient.parseFilterChain(filterChain, new HashSet<String>(), null, filterRegistry, null, null, true);
}
use of org.hypertrace.entity.query.service.v1.Filter in project java-datastore by googleapis.
the class QuerySplitterImpl method createSplit.
/**
* Create a new {@link Query} given the query and range.
*
* @param lastKey the previous key. If null then assumed to be the beginning.
* @param nextKey the next key. If null then assumed to be the end.
* @param query the desired query.
*/
private Query createSplit(Key lastKey, Key nextKey, Query query) {
if (lastKey == null && nextKey == null) {
return query;
}
List<Filter> keyFilters = new ArrayList<Filter>();
if (query.hasFilter()) {
keyFilters.add(query.getFilter());
}
if (lastKey != null) {
Filter lowerBound = DatastoreHelper.makeFilter(DatastoreHelper.KEY_PROPERTY_NAME, PropertyFilter.Operator.GREATER_THAN_OR_EQUAL, DatastoreHelper.makeValue(lastKey)).build();
keyFilters.add(lowerBound);
}
if (nextKey != null) {
Filter upperBound = DatastoreHelper.makeFilter(DatastoreHelper.KEY_PROPERTY_NAME, PropertyFilter.Operator.LESS_THAN, DatastoreHelper.makeValue(nextKey)).build();
keyFilters.add(upperBound);
}
return Query.newBuilder(query).setFilter(makeAndFilter(keyFilters)).build();
}
Aggregations