# HG changeset patch # User Jie Kang # Date 1507648632 25200 # Node ID d7a5efac202cc007dfe52a07866c2618aa8a0df6 # Parent 0ce9c3b75ab636bd30067dc72c0ad1455f992f88 Add basic Keycloak integration tests for Byteman service Reviewed-by: ebaron Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2017-September/025163.html Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2017-October/025296.html diff -r 0ce9c3b75ab6 -r d7a5efac202c tests/keycloak-integration-tests/src/test/java/com/redhat/thermostat/gateway/service/jvm/byteman/JvmBytemanMetricsKeycloakIntegrationTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/keycloak-integration-tests/src/test/java/com/redhat/thermostat/gateway/service/jvm/byteman/JvmBytemanMetricsKeycloakIntegrationTest.java Tue Oct 10 08:17:12 2017 -0700 @@ -0,0 +1,70 @@ +/* + * Copyright 2012-2017 Red Hat, Inc. + * + * This file is part of Thermostat. + * + * Thermostat is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published + * by the Free Software Foundation; either version 2, or (at your + * option) any later version. + * + * Thermostat is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Thermostat; see the file COPYING. If not see + * . + * + * Linking this code with other modules is making a combined work + * based on this code. Thus, the terms and conditions of the GNU + * General Public License cover the whole combination. + * + * As a special exception, the copyright holders of this code give + * you permission to link this code with independent modules to + * produce an executable, regardless of the license terms of these + * independent modules, and to copy and distribute the resulting + * executable under terms of your choice, provided that you also + * meet, for each linked independent module, the terms and conditions + * of the license of that module. An independent module is a module + * which is not derived from or based on this code. If you modify + * this code, you may extend this exception to your version of the + * library, but you are not obligated to do so. If you do not wish + * to do so, delete this exception statement from your version. + */ + +package com.redhat.thermostat.gateway.service.jvm.byteman; + +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.jetty.http.HttpMethod; + +import com.redhat.thermostat.gateway.tests.keycloak.BasicKeycloakIntegrationTestSuite; +import com.redhat.thermostat.gateway.tests.utils.EndpointDefinition; + +public class JvmBytemanMetricsKeycloakIntegrationTest extends BasicKeycloakIntegrationTestSuite { + private static final String serviceName = "jvm-byteman"; + private static final String versionNumber = "0.0.1"; + private static final String endpoint = "/metrics"; + + private static final String postData = "[{" + + "\"agentId\":\"aid1\"," + + "\"jvmId\":\"jid1\"," + + "\"marker\":\"marker\"," + + "\"payload\":{\"key\":\"value\"}," + + "\"timeStamp\":{\"$numberLong\":\"1234\"}}]"; + + public JvmBytemanMetricsKeycloakIntegrationTest() { + super(serviceName, versionNumber, serviceName); + } + + @Override + protected List getEndpointList() { + List endpointDefinitions = new ArrayList<>(); + endpointDefinitions.add(new EndpointDefinition(HttpMethod.GET, endpoint + "/jvms/jid1", EndpointDefinition.NO_BODY)); + endpointDefinitions.add(new EndpointDefinition(HttpMethod.POST, endpoint +"/systems/sid1/jvms/jid1", postData)); + return endpointDefinitions; + } +} diff -r 0ce9c3b75ab6 -r d7a5efac202c tests/keycloak-integration-tests/src/test/java/com/redhat/thermostat/gateway/service/jvm/byteman/JvmBytemanStatusKeycloakIntegrationTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/keycloak-integration-tests/src/test/java/com/redhat/thermostat/gateway/service/jvm/byteman/JvmBytemanStatusKeycloakIntegrationTest.java Tue Oct 10 08:17:12 2017 -0700 @@ -0,0 +1,69 @@ +/* + * Copyright 2012-2017 Red Hat, Inc. + * + * This file is part of Thermostat. + * + * Thermostat is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published + * by the Free Software Foundation; either version 2, or (at your + * option) any later version. + * + * Thermostat is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Thermostat; see the file COPYING. If not see + * . + * + * Linking this code with other modules is making a combined work + * based on this code. Thus, the terms and conditions of the GNU + * General Public License cover the whole combination. + * + * As a special exception, the copyright holders of this code give + * you permission to link this code with independent modules to + * produce an executable, regardless of the license terms of these + * independent modules, and to copy and distribute the resulting + * executable under terms of your choice, provided that you also + * meet, for each linked independent module, the terms and conditions + * of the license of that module. An independent module is a module + * which is not derived from or based on this code. If you modify + * this code, you may extend this exception to your version of the + * library, but you are not obligated to do so. If you do not wish + * to do so, delete this exception statement from your version. + */ + +package com.redhat.thermostat.gateway.service.jvm.byteman; + +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.jetty.http.HttpMethod; + +import com.redhat.thermostat.gateway.tests.keycloak.BasicKeycloakIntegrationTestSuite; +import com.redhat.thermostat.gateway.tests.utils.EndpointDefinition; + +public class JvmBytemanStatusKeycloakIntegrationTest extends BasicKeycloakIntegrationTestSuite { + private static final String serviceName = "jvm-byteman"; + private static final String versionNumber = "0.0.1"; + private static final String endpoint = "/status"; + + private static final String postData = "[{" + + "\"jvmId\":\"jid1\"," + + "\"timeStamp\":{\"$numberLong\":\"1234\"}," + + "\"rule\" : \"rule\"," + + "\"listenPort\" : 1234}]"; + + public JvmBytemanStatusKeycloakIntegrationTest() { + super(serviceName, versionNumber, serviceName); + } + + @Override + protected List getEndpointList() { + List endpointDefinitions = new ArrayList<>(); + endpointDefinitions.add(new EndpointDefinition(HttpMethod.GET, endpoint + "/jvms/jid1", EndpointDefinition.NO_BODY)); + endpointDefinitions.add(new EndpointDefinition(HttpMethod.POST, endpoint + "/systems/sid1/jvms/jid1", postData)); + return endpointDefinitions; + } +}