(t *testing.T)
| 133 | } |
| 134 | |
| 135 | func TestMutuallyAuthenticated(t *testing.T) { |
| 136 | caPrivKey, caCert, caCertBytes, err := createCA() |
| 137 | if err != nil { |
| 138 | assert.Fail(t, "failed to create CA", err) |
| 139 | return |
| 140 | } |
| 141 | serverPrivKey, serverCert, err := createSignedCert( |
| 142 | []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth}, |
| 143 | caPrivKey, |
| 144 | caCert, |
| 145 | ) |
| 146 | if err != nil { |
| 147 | assert.Fail(t, "failed to create server cert", err) |
| 148 | return |
| 149 | } |
| 150 | |
| 151 | clientCaPriv, clientCaCert, clientCaCertBytes, err := createCA() |
| 152 | if err != nil { |
| 153 | assert.Fail(t, "failed to create client CA", err) |
| 154 | return |
| 155 | } |
| 156 | clientPrivKey, clientCert, err := createSignedCert( |
| 157 | []x509.ExtKeyUsage{x509.ExtKeyUsageClientAuth}, |
| 158 | clientCaPriv, |
| 159 | clientCaCert, |
| 160 | ) |
| 161 | if err != nil { |
| 162 | assert.Fail(t, "failed to create server cert", err) |
| 163 | return |
| 164 | } |
| 165 | |
| 166 | clientConfig, serverConfig := createClientServerConfig(t) |
| 167 | //goland:noinspection HttpUrlsUsage |
| 168 | clientConfig.URL = strings.Replace(clientConfig.URL, "http://", "https://", 1) |
| 169 | clientConfig.CACert = string(caCertBytes) |
| 170 | clientConfig.ClientCert = string(clientCert) |
| 171 | clientConfig.ClientKey = string(clientPrivKey) |
| 172 | serverConfig.Key = string(serverPrivKey) |
| 173 | serverConfig.Cert = string(serverCert) |
| 174 | serverConfig.ClientCACert = string(clientCaCertBytes) |
| 175 | |
| 176 | message := "Hi" |
| 177 | |
| 178 | response, responseStatus, err := runRequest(clientConfig, serverConfig, t, message) |
| 179 | if err != nil { |
| 180 | assert.Fail(t, "failed to run request", err) |
| 181 | return |
| 182 | } |
| 183 | assert.Equal(t, 200, responseStatus) |
| 184 | assert.Equal(t, false, response.Error) |
| 185 | assert.Equal(t, "Hello world!", response.Message) |
| 186 | } |
| 187 | |
| 188 | func TestMutuallyAuthenticatedFailure(t *testing.T) { |
| 189 | caPrivKey, caCert, caCertBytes, err := createCA() |
nothing calls this directly
no test coverage detected