test/jdk/javax/management/remote/rest/RestAdapterConfigTest.java
author hb
Tue, 02 Jan 2018 13:20:18 +0530
branchjmx-rest-api
changeset 56003 4f7f76f6be2f
parent 56002 60ab3b595a8e
child 56006 352a4f213fc6
permissions -rw-r--r--
* Start Rest adapter via command line arguments * Rest adapter config via management.properties
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
56002
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
     1
import org.testng.annotations.AfterClass;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
     2
import org.testng.annotations.BeforeClass;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
     3
import org.testng.annotations.Test;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
     4
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
     5
import javax.management.remote.rest.PlatformRestAdapter;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
     6
import javax.net.ssl.HttpsURLConnection;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
     7
import javax.net.ssl.KeyManagerFactory;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
     8
import javax.net.ssl.SSLContext;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
     9
import javax.net.ssl.TrustManagerFactory;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    10
import java.io.*;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    11
import java.net.InetAddress;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    12
import java.net.UnknownHostException;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    13
import java.security.KeyStore;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    14
import java.util.ArrayList;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    15
import java.util.List;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    16
import java.util.Properties;
56003
4f7f76f6be2f * Start Rest adapter via command line arguments
hb
parents: 56002
diff changeset
    17
4f7f76f6be2f * Start Rest adapter via command line arguments
hb
parents: 56002
diff changeset
    18
4f7f76f6be2f * Start Rest adapter via command line arguments
hb
parents: 56002
diff changeset
    19
/* @test
4f7f76f6be2f * Start Rest adapter via command line arguments
hb
parents: 56002
diff changeset
    20
 * @summary Configuration test for rest adapter
4f7f76f6be2f * Start Rest adapter via command line arguments
hb
parents: 56002
diff changeset
    21
 * @library /test/lib
4f7f76f6be2f * Start Rest adapter via command line arguments
hb
parents: 56002
diff changeset
    22
 * @modules java.management.rest/com.oracle.jmx.remote.rest.http
4f7f76f6be2f * Start Rest adapter via command line arguments
hb
parents: 56002
diff changeset
    23
 *          java.management.rest/com.oracle.jmx.remote.rest.json
4f7f76f6be2f * Start Rest adapter via command line arguments
hb
parents: 56002
diff changeset
    24
 *          java.management.rest/com.oracle.jmx.remote.rest.json.parser
4f7f76f6be2f * Start Rest adapter via command line arguments
hb
parents: 56002
diff changeset
    25
 *          java.management.rest/com.oracle.jmx.remote.rest.mapper
4f7f76f6be2f * Start Rest adapter via command line arguments
hb
parents: 56002
diff changeset
    26
 * @build RestAdapterConfigTest RestAdapterTest
4f7f76f6be2f * Start Rest adapter via command line arguments
hb
parents: 56002
diff changeset
    27
 * @run testng/othervm RestAdapterConfigTest
4f7f76f6be2f * Start Rest adapter via command line arguments
hb
parents: 56002
diff changeset
    28
 */
56002
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    29
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    30
@Test
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    31
public class RestAdapterConfigTest {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    32
    private static String sslAgentConfig;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    33
    private static String sslClientConfig;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    34
    private static String passwordFile;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    35
    private static String configFile;
56003
4f7f76f6be2f * Start Rest adapter via command line arguments
hb
parents: 56002
diff changeset
    36
    private static final List<Runnable> tasks = new ArrayList<>();
56002
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    37
    private static RestAdapterTest test = new RestAdapterTest();
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    38
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    39
    static {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    40
        tasks.add(test::testAllMBeanServers);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    41
        tasks.add(test::testAllMBeanInfo);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    42
        tasks.add(test::testAllMBeans);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    43
        tasks.add(test::testMBeanFiltering);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    44
        tasks.add(test::testMBeanGetAttributes);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    45
        tasks.add(test::testMBeanSetAttributes);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    46
        tasks.add(test::testMbeanNoArgOperations);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    47
        tasks.add(test::testAllMBeansBulkRequest);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    48
        tasks.add(test::testThreadMXBeanBulkRequest);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    49
        tasks.add(test::testThreadMXBeanThreadInfo);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    50
    }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    51
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    52
    private void createAgentSslConfigFile(String fileName) throws IOException {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    53
        File f = new File(fileName);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    54
        if (f.exists()) {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    55
            f.delete();
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    56
        }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    57
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    58
        Properties props = new Properties();
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    59
        String testDir = System.getProperty("test.src");
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    60
        props.setProperty("javax.net.ssl.keyStore", testDir + File.separator + "keystoreAgent");
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    61
        props.setProperty("javax.net.ssl.keyStorePassword", "glopglop");
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    62
        props.setProperty("javax.net.ssl.trustStore", testDir + File.separator + "truststoreAgent");
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    63
        props.setProperty("javax.net.ssl.trustStorePassword", "glopglop");
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    64
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    65
        try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileName))) {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    66
            props.store(writer, "");
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    67
        }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    68
    }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    69
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    70
    private void createClientSslConfigFile(String fileName) throws IOException {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    71
        File f = new File(fileName);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    72
        if (f.exists()) {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    73
            f.delete();
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    74
        }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    75
        Properties props = new Properties();
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    76
        String testDir = System.getProperty("test.src");
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    77
        props.setProperty("javax.net.ssl.keyStore", testDir + File.separator + "keystoreClient");
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    78
        props.setProperty("javax.net.ssl.keyStorePassword", "glopglop");
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    79
        props.setProperty("javax.net.ssl.trustStore", testDir + File.separator + "truststoreClient");
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    80
        props.setProperty("javax.net.ssl.trustStorePassword", "glopglop");
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    81
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    82
        try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileName))) {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    83
            props.store(writer, "");
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    84
        }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    85
    }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    86
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    87
    private void setupMgmtConfig(String fileName, boolean isSSL, boolean isAuth) throws IOException {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    88
        Properties props = new Properties();
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    89
        File f = new File(fileName);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    90
        if (f.exists()) {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    91
            f.delete();
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    92
        }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    93
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    94
        props.setProperty("com.sun.management.jmxremote.ssl", isSSL ? "true" : "false");
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    95
        if(isSSL) {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    96
            props.setProperty("com.sun.management.jmxremote.ssl.config.file", sslAgentConfig);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    97
        }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    98
        props.setProperty("com.sun.management.jmxremote.authenticate", isAuth ? "true" : "false");
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
    99
        if (isAuth) {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   100
            props.setProperty("com.sun.management.jmxremote.password.file", passwordFile);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   101
        }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   102
        props.setProperty("com.sun.management.jmxremote.rest.port", "0");
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   103
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   104
        try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileName))) {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   105
            props.store(writer, "");
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   106
        }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   107
    }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   108
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   109
    @BeforeClass
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   110
    public void init() throws Exception {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   111
        String testSrcRoot = System.getProperty("test.src") + File.separator;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   112
        sslAgentConfig = testSrcRoot + "sslConfigAgent";
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   113
        sslClientConfig = testSrcRoot + "sslConfigClient";
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   114
        passwordFile = testSrcRoot + "password.properties";
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   115
        configFile = testSrcRoot + "mgmt.properties";
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   116
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   117
        createAgentSslConfigFile(sslAgentConfig);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   118
        createClientSslConfigFile(sslClientConfig);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   119
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   120
        SSLContext ctx = getSSlContext(sslClientConfig);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   121
        HttpsURLConnection.setDefaultSSLSocketFactory(ctx.getSocketFactory());
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   122
        HttpsURLConnection.setDefaultHostnameVerifier(
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   123
                (String hostname, javax.net.ssl.SSLSession sslSession) -> {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   124
                    try {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   125
                        return hostname.equals(InetAddress.getLocalHost().getHostName());
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   126
                    } catch (UnknownHostException ex) {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   127
                        throw new RuntimeException(ex);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   128
                    }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   129
                });
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   130
    }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   131
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   132
    private static SSLContext getSSlContext(String sslConfigFileName) {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   133
        final String keyStore, keyStorePassword, trustStore, trustStorePassword;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   134
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   135
        try {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   136
            Properties p = new Properties();
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   137
            BufferedInputStream bin = new BufferedInputStream(new FileInputStream(sslConfigFileName));
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   138
            p.load(bin);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   139
            keyStore = p.getProperty(PlatformRestAdapter.PropertyNames.SSL_KEYSTORE_FILE);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   140
            keyStorePassword = p.getProperty(PlatformRestAdapter.PropertyNames.SSL_KEYSTORE_PASSWORD);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   141
            trustStore = p.getProperty(PlatformRestAdapter.PropertyNames.SSL_TRUSTSTORE_FILE);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   142
            trustStorePassword = p.getProperty(PlatformRestAdapter.PropertyNames.SSL_TRUSTSTORE_PASSWORD);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   143
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   144
            char[] keyStorePasswd = null;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   145
            if (keyStorePassword.length() != 0) {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   146
                keyStorePasswd = keyStorePassword.toCharArray();
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   147
            }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   148
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   149
            char[] trustStorePasswd = null;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   150
            if (trustStorePassword.length() != 0) {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   151
                trustStorePasswd = trustStorePassword.toCharArray();
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   152
            }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   153
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   154
            KeyStore ks = null;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   155
            if (keyStore != null) {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   156
                ks = KeyStore.getInstance(KeyStore.getDefaultType());
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   157
                FileInputStream ksfis = new FileInputStream(keyStore);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   158
                ks.load(ksfis, keyStorePasswd);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   159
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   160
            }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   161
            KeyManagerFactory kmf = KeyManagerFactory.getInstance(
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   162
                    KeyManagerFactory.getDefaultAlgorithm());
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   163
            kmf.init(ks, keyStorePasswd);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   164
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   165
            KeyStore ts = null;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   166
            if (trustStore != null) {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   167
                ts = KeyStore.getInstance(KeyStore.getDefaultType());
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   168
                FileInputStream tsfis = new FileInputStream(trustStore);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   169
                ts.load(tsfis, trustStorePasswd);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   170
            }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   171
            TrustManagerFactory tmf = TrustManagerFactory.getInstance(
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   172
                    TrustManagerFactory.getDefaultAlgorithm());
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   173
            tmf.init(ts);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   174
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   175
            SSLContext ctx = SSLContext.getInstance("SSL");
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   176
            ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   177
            return ctx;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   178
        } catch (Exception ex) {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   179
        }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   180
        return null;
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   181
    }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   182
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   183
    @Test
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   184
    public void testHttpNoAuth() throws Exception {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   185
        setupMgmtConfig(configFile, false, false);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   186
        test.setupServers();
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   187
        tasks.forEach(Runnable::run);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   188
        test.tearDownServers();
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   189
    }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   190
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   191
    public void testHttpsNoAuth() throws Exception {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   192
        setupMgmtConfig(configFile, true, false);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   193
        test.setupServers();
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   194
        tasks.forEach(Runnable::run);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   195
        test.tearDownServers();
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   196
    }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   197
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   198
    public void testHttpAuth() throws Exception {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   199
        setupMgmtConfig(configFile, false, true);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   200
        test.setupServers();
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   201
        tasks.forEach(Runnable::run);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   202
        test.tearDownServers();
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   203
    }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   204
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   205
    public void testHttpsAuth() throws Exception {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   206
        setupMgmtConfig(configFile, true, true);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   207
        test.setupServers();
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   208
        tasks.forEach(Runnable::run);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   209
        test.tearDownServers();
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   210
    }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   211
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   212
    @AfterClass
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   213
    public void tearDown() {
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   214
        File f = new File(sslAgentConfig);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   215
        if (f.exists())
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   216
            f.delete();
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   217
        f = new File(sslClientConfig);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   218
        if (f.exists())
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   219
            f.delete();
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   220
        f = new File(configFile);
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   221
        if (f.exists())
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   222
            f.delete();
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   223
    }
60ab3b595a8e Lot of bug fixes
hb
parents:
diff changeset
   224
}