package com.github.obourgain.elasticsearch.http.response.entity.aggs; import static org.assertj.core.api.Assertions.assertThat; import java.util.List; import org.elasticsearch.common.bytes.BytesArray; import org.elasticsearch.common.xcontent.XContentHelper; import org.junit.Test; import com.github.obourgain.elasticsearch.http.TestFilesUtils; public class IPV4RangeTest { @Test public void should_parse() throws Exception { String json = TestFilesUtils.readFromClasspath("com/github/obourgain/elasticsearch/http/response/entity/aggs/ipv4range/ipv4range.json"); IPV4Range ranges = new IPV4Range().parse(XContentHelper.createParser(new BytesArray(json)), "ip_ranges"); assertThat(ranges.getName()).isEqualTo("ip_ranges"); List<IPV4Range.Bucket> buckets = ranges.getBuckets(); assertThat(buckets).hasSize(2); IPV4Range.Bucket bucket = buckets.get(0); assertThat(bucket.getKey()).isNull(); assertThat(bucket.getFrom()).isNull(); assertThat(bucket.getFromAsString()).isNull(); assertThat(bucket.getTo()).isEqualTo(167772165); assertThat(bucket.getToAsString()).isEqualTo("10.0.0.5"); assertThat(bucket.getDocCount()).isEqualTo(4); assertThat(bucket.getAggregations()).isNull(); bucket = buckets.get(1); assertThat(bucket.getKey()).isNull(); assertThat(bucket.getFrom()).isEqualTo(167772165); assertThat(bucket.getFromAsString()).isEqualTo("10.0.0.5"); assertThat(bucket.getTo()).isNull(); assertThat(bucket.getToAsString()).isNull(); assertThat(bucket.getDocCount()).isEqualTo(6); assertThat(bucket.getAggregations()).isNull(); } @Test public void should_parse_with_mask() throws Exception { String json = TestFilesUtils.readFromClasspath("com/github/obourgain/elasticsearch/http/response/entity/aggs/ipv4range/ipv4range_with_mask.json"); IPV4Range ranges = new IPV4Range().parse(XContentHelper.createParser(new BytesArray(json)), "ip_ranges"); assertThat(ranges.getName()).isEqualTo("ip_ranges"); List<IPV4Range.Bucket> buckets = ranges.getBuckets(); assertThat(buckets).hasSize(2); IPV4Range.Bucket bucket = buckets.get(0); assertThat(bucket.getKey()).isEqualTo("10.0.0.0/25"); assertThat(bucket.getFrom()).isEqualTo(1.6777216E+8); assertThat(bucket.getFromAsString()).isEqualTo("10.0.0.0"); assertThat(bucket.getTo()).isEqualTo(167772287); assertThat(bucket.getToAsString()).isEqualTo("10.0.0.127"); assertThat(bucket.getDocCount()).isEqualTo(127); assertThat(bucket.getAggregations()).isNull(); bucket = buckets.get(1); assertThat(bucket.getKey()).isEqualTo("10.0.0.127/25"); assertThat(bucket.getFrom()).isEqualTo(1.6777216E+8); assertThat(bucket.getFromAsString()).isEqualTo("10.0.0.0"); assertThat(bucket.getTo()).isEqualTo(167772287); assertThat(bucket.getToAsString()).isEqualTo("10.0.0.127"); assertThat(bucket.getDocCount()).isEqualTo(127); assertThat(bucket.getAggregations()).isNull(); } }