()
| 97 | } |
| 98 | |
| 99 | @Before |
| 100 | public void setUp() throws NoSuchAlgorithmException { |
| 101 | executor = Executors.newSingleThreadScheduledExecutor(); |
| 102 | switch (tlsImpl) { |
| 103 | case TCNATIVE: |
| 104 | Assume.assumeTrue(OpenSsl.isAvailable()); |
| 105 | sslProvider = SslProvider.OPENSSL; |
| 106 | break; |
| 107 | case JDK: |
| 108 | Assume.assumeTrue(Arrays.asList( |
| 109 | SSLContext.getDefault().getSupportedSSLParameters().getCipherSuites()) |
| 110 | .contains("TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256")); |
| 111 | sslProvider = SslProvider.JDK; |
| 112 | jdkProvider = Security.getProvider("SunJSSE"); |
| 113 | Assume.assumeNotNull(jdkProvider); |
| 114 | try { |
| 115 | // Check for presence of an (ironic) class added in Java 9 |
| 116 | Class.forName("java.lang.Runtime$Version"); |
| 117 | // Java 9+ |
| 118 | } catch (ClassNotFoundException ignored) { |
| 119 | // Before Java 9 |
| 120 | try { |
| 121 | GrpcSslContexts.configure(SslContextBuilder.forClient(), jdkProvider); |
| 122 | } catch (IllegalArgumentException ex) { |
| 123 | Assume.assumeNoException("Not Java 9+ and Jetty ALPN does not seem available", ex); |
| 124 | } |
| 125 | } |
| 126 | break; |
| 127 | case CONSCRYPT: |
| 128 | sslProvider = SslProvider.JDK; |
| 129 | jdkProvider = Security.getProvider("Conscrypt"); |
| 130 | Assume.assumeNotNull(jdkProvider); |
| 131 | break; |
| 132 | default: |
| 133 | throw new AssertionError(); |
| 134 | } |
| 135 | clientContextBuilder = SslContextBuilder.forClient(); |
| 136 | if (sslProvider == SslProvider.JDK) { |
| 137 | GrpcSslContexts.configure(clientContextBuilder, jdkProvider); |
| 138 | } else { |
| 139 | GrpcSslContexts.configure(clientContextBuilder, sslProvider); |
| 140 | } |
| 141 | } |
| 142 | |
| 143 | @After |
| 144 | public void tearDown() { |
nothing calls this directly
no test coverage detected