add testcase

This commit is contained in:
mckang
2018-09-07 14:04:13 +09:00
parent 2b48c2004e
commit 6d861fccfc
7 changed files with 125 additions and 1 deletions

View File

@ -0,0 +1,40 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.bdwise.prometheus.client</groupId>
<artifactId>promql_client_test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>promql_client_test</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.bdwise.prometheus.client</groupId>
<artifactId>promql_client</artifactId>
<version>0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.3</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.5.6.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,75 @@
package com.bdwise.prometheus.client;
import java.net.MalformedURLException;
import java.net.URI;
import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;
import com.bdwise.prometheus.client.builder.InstantQueryBuilder;
import com.bdwise.prometheus.client.builder.QueryBuilderType;
import com.bdwise.prometheus.client.builder.RangeQueryBuilder;
import com.bdwise.prometheus.client.converter.ConvertUtil;
import com.bdwise.prometheus.client.converter.query.DefaultQueryResult;
import com.bdwise.prometheus.client.converter.query.MatrixData;
import com.bdwise.prometheus.client.converter.query.VectorData;
import junit.framework.TestCase;
public class PromqlTest extends TestCase {
private final static String TARGET_SERVER = "http://52.192.4.59:30900";
private RestTemplate template = null;
@Override
protected void setUp() throws Exception {
HttpComponentsClientHttpRequestFactory httpRequestFactory = new HttpComponentsClientHttpRequestFactory();
httpRequestFactory.setConnectTimeout(1000);
httpRequestFactory.setReadTimeout(2000);
HttpClient httpClient = HttpClientBuilder.create()
.setMaxConnTotal(100)
.setMaxConnPerRoute(10)
.build();
httpRequestFactory.setHttpClient(httpClient);
template = new RestTemplate(httpRequestFactory);
}
public void testSimpleRangeQuery() throws MalformedURLException {
RangeQueryBuilder rangeQueryBuilder = QueryBuilderType.RangeQuery.newInstance(TARGET_SERVER);
URI targetUri = rangeQueryBuilder.withQuery("irate(received_api_call_total[60s])")
.withStartEpochTime(System.currentTimeMillis() / 1000 - 60*10)
.withEndEpochTime(System.currentTimeMillis() / 1000)
.withStepTime("60s")
.build();
System.out.println(targetUri.toURL().toString());
String rtVal = template.getForObject(targetUri, String.class);
DefaultQueryResult<MatrixData> result = ConvertUtil.convertQueryResultString(rtVal);
System.out.println(result);
}
public void testSimpleInstantQuery() throws MalformedURLException {
InstantQueryBuilder iqb = QueryBuilderType.InstantQuery.newInstance(TARGET_SERVER);
URI targetUri = iqb.withQuery("irate(received_api_call_total[60s])").build();
System.out.println(targetUri.toURL().toString());
String rtVal = template.getForObject(targetUri, String.class);
DefaultQueryResult<VectorData> result = ConvertUtil.convertQueryResultString(rtVal);
System.out.println(result);
}
}