Skip to content

Commit 962e7bc

Browse files
committed
Add Scylla Cloud yaml configuration parsing test
1 parent 5da0fcd commit 962e7bc

File tree

3 files changed

+75
-0
lines changed

3 files changed

+75
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package com.datastax.oss.driver.internal.core.config.scyllacloud;
2+
3+
import java.io.IOException;
4+
import java.net.URL;
5+
import java.security.KeyStoreException;
6+
import java.security.NoSuchAlgorithmException;
7+
import java.security.cert.CertificateException;
8+
import java.security.spec.InvalidKeySpecException;
9+
import org.junit.Test;
10+
11+
public class CloudConfigYamlParsingTest {
12+
@Test
13+
public void read_simple_config_and_create_bundle()
14+
throws CertificateException, KeyStoreException, IOException, NoSuchAlgorithmException,
15+
InvalidKeySpecException {
16+
final String CONFIG_PATH = "/config/scyllacloud/testConf.yaml";
17+
URL url = getClass().getResource(CONFIG_PATH);
18+
ScyllaCloudConnectionConfig scyllaCloudConnectionConfig =
19+
ScyllaCloudConnectionConfig.fromInputStream(url.openStream());
20+
scyllaCloudConnectionConfig.validate();
21+
scyllaCloudConnectionConfig.createBundle();
22+
}
23+
24+
@Test(expected = IllegalArgumentException.class)
25+
public void read_incomplete_config() throws IOException {
26+
// This config does not contain certificates which are required
27+
final String CONFIG_PATH = "/config/scyllacloud/incompleteConf.yaml";
28+
URL url = getClass().getResource(CONFIG_PATH);
29+
ScyllaCloudConnectionConfig.fromInputStream(url.openStream());
30+
}
31+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
datacenters:
2+
eu-west-123:
3+
server: redacted.com.anskjfbsdiubg:1234
4+
nodeDomain: redacted.com.anskjfbsdiubg
5+
6+
authInfos:
7+
default:
8+
clientKeyData: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb0FJQkFBS0NBUUVBbTBnNWRiSGM4cEJEbFRTNDJqY3BmdlVyMTU3QnhsK2JIUFI5ZEZSWXNPTm5DR1NkCldGdWxqaHp1YkVxWE9lYmZhOTdpYmpIK0ZqbkZ4UEJmS0xzUi9nV2VORjNNVFE2MzZqa1YrVTNINDFEalRDT1AKdyt6ZTBDREM1S2huNEhZK0YxMFJDT1BVVWFNZ09nZi9IbXp5aTRiY0xxTUtJR2xEQXpSNHpQMHFnT1Jnemd0Sgo1bnV6SWtCakJtR29nQXdFNGhybnVxWVVjam5aYkZ0a0xZcnl5R2RmMjRSSHpSakw2ZnF5QnF1U2xBMHRqUFU0ClhyNlpQTStsUlhBSjZzNGNRUFZ3UzRHaTk1aWhwM1FmZ3piRlBFcHAzeFJ3Mkd1TXBXNFBlekcyc1dKdTdhb0YKQ294L2htVS9SU21lNllwVHF3Ym94WWF0MW9GT0pnTXFadFJub3dJREFRQUJBb0gvUUV1bmZ4UW1hRWxUc25RaQpGampBOWRDT1ZybGxncjRUZStuQUNHcmtUbG5hVDU5Wmh6eHJVR3lxVEN5V2NXTW5INE1xUG5aMHZyOHRKRjVqCkNIcHMrTUZhd0ZRV1E5SFVWU2ROOGV4QzE5eW1RT0I0cHFkdG1yLzE4cmZJU3lpcWpRSDhDN0pLTjROVDFMTjYKN3g0dFQ1aUhrc2Z2YVh3c1F5ZDIzV24yTDJlM1BuYVUwZkR6RzNYaGxLa3hOYXNpalF2dWNjNDhlYVJ4UlM5WgpFeHdLOC93SGh6WllBa1h4QndZaWNsaG91V1R5b2Jqd2UwVGJHQlJaRCtHWmwxdHU0TlRmb3E1cDR3V1VaUEJhCm1RUXVmbUtWMEZBUkRhYmNpa0lSRXIvelVWUjVzN3daaldzWSs0MUFGc3lUY2dCa2lack1ZVkdGbjMvaUl3R2kKWjRJUkFvR0JBUHFGZ1ZUZ2NCYnpQTjRLbmRMVWVmT2FnZkFSOEoxYjRVRUNpc21rOVhPTlJvRWJPSGpVa3JUMQpCK01lNmVyNXFjSEdSdjlHYVZwWWQ0Y1VyWlhiOGRsZUVSQ3ppYlY4OXpYVzBMZTk2Qk9ra09YK2VyNHh5US8xCnJUWnluZkZBUmRhK3B6VWdqZFFHRnJZREpsZmp2MXRjQU94WEFzWGF5UEZjbEp6SlBNanRBb0dCQUo2dGltRUUKeUlzcE1XOGw3WENNZ3I2aTdyN3M5M0dVT1dYb1RMSU91WENXMWd0bVdwdTRQY0d6MHdWUTNKR3pBNXdEMnJzRQpnbEZXQW9XeW53c1JZUWhiQWZRem5Ba1dqMk9RbC9BaW1oZzF3SkhqUXdzZ0VjbUJrK2tqbGlFTmFtQ1BHM0VJCkk3M2FneHNIN2xuQXhvZnBtSDdpS0Y1MjFva2pEb0NNVjdEUEFvR0FmUCs0TkYxNEVEdDFsMlM4c3NHSng5N0UKRHNFa3laOWFtVkZuWm8yRVd3K1dxanlteE1Oc0lCWlN4U1JibXY3UGtQd1oySzJOUzZMd29OblVjdjIzZ3JuSQowZ2lESWFja3doeFpNQlQxZ3plTmhQU2cwZDJOY1FVb1ZBNkVlQ2VWc1R5WHVZNXd0ZVlEMXZWallGOG16N0xzClV3Qm5SY21Ra2IyYitVNy9vVkVDZ1lCSStQQUpmQVNxRXRDY0Yrb2c5MDF0VkVyTlhQYlNzZUxQbmN3Zm1xdm4KUGtiRFNWZmtBdy9MaytJNHNKNHZGdzlTNFdibTJNVUJtTGRpT3VudlVoZTRtdm5FRHpQejdmOFZQN3JRQVdteQpObzRQeVY3Y3IrdmVLb3dXREhxUFNyY2dIcy8wNUZSampDajg5bUhEdnViT1BEd1lKZk9BdGRBbGt3eXBTMkZNCmV3S0JnRjFBZU1WRXpoTGkzV0RvTktieTE0RFFLVFh1akJjVFR3dkJZTk5OcXU2ZnVhYWJyU3I1azhBR3BaR00KdGgxTUZ0K2N1MnoyZUcvZ2c3enIzU002WVhqQldqNmJpa1NnRnA0TitjQ0JwZ1hYOExLVklua3huY0tEQk5OOQpqdXRPUlQrL1JVcDRDWEhvRWxhRWN1R3VCTVVDNnFEVjdZOWpOWGVDRmZIMHRqc1gKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K
9+
username: cassandra
10+
password: cassandra
11+
12+
contexts:
13+
default:
14+
datacenterName: eu-west-123
15+
authInfoName: default
16+
17+
currentContext: default
18+
19+
parameters:
20+
defaultConsistency: LOCAL_QUORUM
21+
defaultSerialConsistency: LOCAL_SERIAL
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
datacenters:
2+
eu-west-123:
3+
certificateAuthorityData: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVGRENDQXZ5Z0F3SUJBZ0lFSmVQTDBqQU5CZ2txaGtpRzl3MEJBUXNGQURCTE1Rc3dDUVlEVlFRR0V3SlYNClV6RVJNQThHQTFVRUNoTUlSR0YwWVZOMFlYZ3hFREFPQmdOVkJBc1RCME5EVFc1dlpHVXhGekFWQmdOVkJBTVQNCkRrTmhjM05oYm1SeVlTQk9iMlJsTUI0WERUSXlNVEV3TnpFd016RTBOVm9YRFRJek1URXdOekV3TXpFME5Wb3cNClN6RUxNQWtHQTFVRUJoTUNWVk14RVRBUEJnTlZCQW9UQ0VSaGRHRlRkR0Y0TVJBd0RnWURWUVFMRXdkRFEwMXUNCmIyUmxNUmN3RlFZRFZRUURFdzVEWVhOellXNWtjbUVnVG05a1pUQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQUQNCmdnRVBBRENDQVFvQ2dnRUJBSnRJT1hXeDNQS1FRNVUwdU5vM0tYNzFLOWVld2NaZm14ejBmWFJVV0xEalp3aGsNCm5WaGJwWTRjN214S2x6bm0zMnZlNG00eC9oWTV4Y1R3WHlpN0VmNEZualJkekUwT3QrbzVGZmxOeCtOUTQwd2oNCmo4UHMzdEFnd3VTb1orQjJQaGRkRVFqajFGR2pJRG9IL3g1czhvdUczQzZqQ2lCcFF3TTBlTXo5S29Ea1lNNEwNClNlWjdzeUpBWXdaaHFJQU1CT0lhNTdxbUZISTUyV3hiWkMySzhzaG5YOXVFUjgwWXkrbjZzZ2Fya3BRTkxZejENCk9GNittVHpQcFVWd0Nlck9IRUQxY0V1Qm92ZVlvYWQwSDRNMnhUeEthZDhVY05ocmpLVnVEM3N4dHJGaWJ1MnENCkJRcU1mNFpsUDBVcG51bUtVNnNHNk1XR3JkYUJUaVlES21iVVo2TUNBd0VBQWFPQi96Q0IvRENCMmdZRFZSMFINCkJJSFNNSUhQZ2hsaGJua3VZMngxYzNSbGNpMXBaQzV6WTNsc2JHRXVZMjl0Z2pvMk5UWTVPVFJtTkMxa09HRTMNCkxUUmtOREl0WW1ObE9DMHdaVGxtWWpJNFl6Z3haalF1WTJ4MWMzUmxjaTFwWkM1elkzbHNiR0V1WTI5dGdqbzUNCk0ySmlZV0V6TXkxbU5tRTNMVFJtTkRJdFlXRmtaUzFqWkRJNU0yTmhOR0ZtT0RJdVkyeDFjM1JsY2kxcFpDNXoNClkzbHNiR0V1WTI5dGdqcG1Nakk0TkRSaFlTMDBPR0ZsTFRSbE5UY3RPR1UxWWkxbE1HSTVPRE5rT0RaallqSXUNClkyeDFjM1JsY2kxcFpDNXpZM2xzYkdFdVkyOXRNQjBHQTFVZERnUVdCQlNuMDFzZEM1QXYzVk1vTGtEeWViajMNCjJqalIwREFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBZlBRK1hEdysxMlI0cVZlcnQ1ekVCYVFhNFYyZW11SWMNCks0QkRyQ3lPdFh0eEV1eUhsb0NWS2FzR0FJWi95aTYvZ3p1NnVobDRYcjhrZ2tDaElDcDYwOWlNVFFtL0RnRm8NClQ4TFNlY0oxSjFYa0t5NXFUdXAyL2ROTW5CcXF6SGxMV1FXajNLTDQwMXgzbng4L2lPODJJTTNmZFV3Ri9LZ0QNClRpRVBtNFlydXdaTURqSVl0YVkzV290Y2x6WVcvb1Y1bmRXL1BwemxUNWdqNTFyK2t1bFMvcm5lYmM4cG1tbGwNCmpzMDZrMVEvN1Y3eTRMamNQWk80SG5HbEN1dHhDM1pKT2d2c0pwTTc3ZFdDbkhoNW9qdFJHRkdaUUd3dHBTMXENCjhndUhmMFdIUDdMTTY1dDVCKy8wOVIvdDFsRU1wajQrb3hiTWpkRUNKR0hMOWRQY1N2SlVIZz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
4+
server: redacted.com.anskjfbsdiubg:1234
5+
nodeDomain: redacted.com.anskjfbsdiubg
6+
7+
authInfos:
8+
default:
9+
clientCertificateData: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVGRENDQXZ5Z0F3SUJBZ0lFSmVQTDBqQU5CZ2txaGtpRzl3MEJBUXNGQURCTE1Rc3dDUVlEVlFRR0V3SlYNClV6RVJNQThHQTFVRUNoTUlSR0YwWVZOMFlYZ3hFREFPQmdOVkJBc1RCME5EVFc1dlpHVXhGekFWQmdOVkJBTVQNCkRrTmhjM05oYm1SeVlTQk9iMlJsTUI0WERUSXlNVEV3TnpFd016RTBOVm9YRFRJek1URXdOekV3TXpFME5Wb3cNClN6RUxNQWtHQTFVRUJoTUNWVk14RVRBUEJnTlZCQW9UQ0VSaGRHRlRkR0Y0TVJBd0RnWURWUVFMRXdkRFEwMXUNCmIyUmxNUmN3RlFZRFZRUURFdzVEWVhOellXNWtjbUVnVG05a1pUQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQUQNCmdnRVBBRENDQVFvQ2dnRUJBSnRJT1hXeDNQS1FRNVUwdU5vM0tYNzFLOWVld2NaZm14ejBmWFJVV0xEalp3aGsNCm5WaGJwWTRjN214S2x6bm0zMnZlNG00eC9oWTV4Y1R3WHlpN0VmNEZualJkekUwT3QrbzVGZmxOeCtOUTQwd2oNCmo4UHMzdEFnd3VTb1orQjJQaGRkRVFqajFGR2pJRG9IL3g1czhvdUczQzZqQ2lCcFF3TTBlTXo5S29Ea1lNNEwNClNlWjdzeUpBWXdaaHFJQU1CT0lhNTdxbUZISTUyV3hiWkMySzhzaG5YOXVFUjgwWXkrbjZzZ2Fya3BRTkxZejENCk9GNittVHpQcFVWd0Nlck9IRUQxY0V1Qm92ZVlvYWQwSDRNMnhUeEthZDhVY05ocmpLVnVEM3N4dHJGaWJ1MnENCkJRcU1mNFpsUDBVcG51bUtVNnNHNk1XR3JkYUJUaVlES21iVVo2TUNBd0VBQWFPQi96Q0IvRENCMmdZRFZSMFINCkJJSFNNSUhQZ2hsaGJua3VZMngxYzNSbGNpMXBaQzV6WTNsc2JHRXVZMjl0Z2pvMk5UWTVPVFJtTkMxa09HRTMNCkxUUmtOREl0WW1ObE9DMHdaVGxtWWpJNFl6Z3haalF1WTJ4MWMzUmxjaTFwWkM1elkzbHNiR0V1WTI5dGdqbzUNCk0ySmlZV0V6TXkxbU5tRTNMVFJtTkRJdFlXRmtaUzFqWkRJNU0yTmhOR0ZtT0RJdVkyeDFjM1JsY2kxcFpDNXoNClkzbHNiR0V1WTI5dGdqcG1Nakk0TkRSaFlTMDBPR0ZsTFRSbE5UY3RPR1UxWWkxbE1HSTVPRE5rT0RaallqSXUNClkyeDFjM1JsY2kxcFpDNXpZM2xzYkdFdVkyOXRNQjBHQTFVZERnUVdCQlNuMDFzZEM1QXYzVk1vTGtEeWViajMNCjJqalIwREFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBZlBRK1hEdysxMlI0cVZlcnQ1ekVCYVFhNFYyZW11SWMNCks0QkRyQ3lPdFh0eEV1eUhsb0NWS2FzR0FJWi95aTYvZ3p1NnVobDRYcjhrZ2tDaElDcDYwOWlNVFFtL0RnRm8NClQ4TFNlY0oxSjFYa0t5NXFUdXAyL2ROTW5CcXF6SGxMV1FXajNLTDQwMXgzbng4L2lPODJJTTNmZFV3Ri9LZ0QNClRpRVBtNFlydXdaTURqSVl0YVkzV290Y2x6WVcvb1Y1bmRXL1BwemxUNWdqNTFyK2t1bFMvcm5lYmM4cG1tbGwNCmpzMDZrMVEvN1Y3eTRMamNQWk80SG5HbEN1dHhDM1pKT2d2c0pwTTc3ZFdDbkhoNW9qdFJHRkdaUUd3dHBTMXENCjhndUhmMFdIUDdMTTY1dDVCKy8wOVIvdDFsRU1wajQrb3hiTWpkRUNKR0hMOWRQY1N2SlVIZz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
10+
clientKeyData: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb0FJQkFBS0NBUUVBbTBnNWRiSGM4cEJEbFRTNDJqY3BmdlVyMTU3QnhsK2JIUFI5ZEZSWXNPTm5DR1NkCldGdWxqaHp1YkVxWE9lYmZhOTdpYmpIK0ZqbkZ4UEJmS0xzUi9nV2VORjNNVFE2MzZqa1YrVTNINDFEalRDT1AKdyt6ZTBDREM1S2huNEhZK0YxMFJDT1BVVWFNZ09nZi9IbXp5aTRiY0xxTUtJR2xEQXpSNHpQMHFnT1Jnemd0Sgo1bnV6SWtCakJtR29nQXdFNGhybnVxWVVjam5aYkZ0a0xZcnl5R2RmMjRSSHpSakw2ZnF5QnF1U2xBMHRqUFU0ClhyNlpQTStsUlhBSjZzNGNRUFZ3UzRHaTk1aWhwM1FmZ3piRlBFcHAzeFJ3Mkd1TXBXNFBlekcyc1dKdTdhb0YKQ294L2htVS9SU21lNllwVHF3Ym94WWF0MW9GT0pnTXFadFJub3dJREFRQUJBb0gvUUV1bmZ4UW1hRWxUc25RaQpGampBOWRDT1ZybGxncjRUZStuQUNHcmtUbG5hVDU5Wmh6eHJVR3lxVEN5V2NXTW5INE1xUG5aMHZyOHRKRjVqCkNIcHMrTUZhd0ZRV1E5SFVWU2ROOGV4QzE5eW1RT0I0cHFkdG1yLzE4cmZJU3lpcWpRSDhDN0pLTjROVDFMTjYKN3g0dFQ1aUhrc2Z2YVh3c1F5ZDIzV24yTDJlM1BuYVUwZkR6RzNYaGxLa3hOYXNpalF2dWNjNDhlYVJ4UlM5WgpFeHdLOC93SGh6WllBa1h4QndZaWNsaG91V1R5b2Jqd2UwVGJHQlJaRCtHWmwxdHU0TlRmb3E1cDR3V1VaUEJhCm1RUXVmbUtWMEZBUkRhYmNpa0lSRXIvelVWUjVzN3daaldzWSs0MUFGc3lUY2dCa2lack1ZVkdGbjMvaUl3R2kKWjRJUkFvR0JBUHFGZ1ZUZ2NCYnpQTjRLbmRMVWVmT2FnZkFSOEoxYjRVRUNpc21rOVhPTlJvRWJPSGpVa3JUMQpCK01lNmVyNXFjSEdSdjlHYVZwWWQ0Y1VyWlhiOGRsZUVSQ3ppYlY4OXpYVzBMZTk2Qk9ra09YK2VyNHh5US8xCnJUWnluZkZBUmRhK3B6VWdqZFFHRnJZREpsZmp2MXRjQU94WEFzWGF5UEZjbEp6SlBNanRBb0dCQUo2dGltRUUKeUlzcE1XOGw3WENNZ3I2aTdyN3M5M0dVT1dYb1RMSU91WENXMWd0bVdwdTRQY0d6MHdWUTNKR3pBNXdEMnJzRQpnbEZXQW9XeW53c1JZUWhiQWZRem5Ba1dqMk9RbC9BaW1oZzF3SkhqUXdzZ0VjbUJrK2tqbGlFTmFtQ1BHM0VJCkk3M2FneHNIN2xuQXhvZnBtSDdpS0Y1MjFva2pEb0NNVjdEUEFvR0FmUCs0TkYxNEVEdDFsMlM4c3NHSng5N0UKRHNFa3laOWFtVkZuWm8yRVd3K1dxanlteE1Oc0lCWlN4U1JibXY3UGtQd1oySzJOUzZMd29OblVjdjIzZ3JuSQowZ2lESWFja3doeFpNQlQxZ3plTmhQU2cwZDJOY1FVb1ZBNkVlQ2VWc1R5WHVZNXd0ZVlEMXZWallGOG16N0xzClV3Qm5SY21Ra2IyYitVNy9vVkVDZ1lCSStQQUpmQVNxRXRDY0Yrb2c5MDF0VkVyTlhQYlNzZUxQbmN3Zm1xdm4KUGtiRFNWZmtBdy9MaytJNHNKNHZGdzlTNFdibTJNVUJtTGRpT3VudlVoZTRtdm5FRHpQejdmOFZQN3JRQVdteQpObzRQeVY3Y3IrdmVLb3dXREhxUFNyY2dIcy8wNUZSampDajg5bUhEdnViT1BEd1lKZk9BdGRBbGt3eXBTMkZNCmV3S0JnRjFBZU1WRXpoTGkzV0RvTktieTE0RFFLVFh1akJjVFR3dkJZTk5OcXU2ZnVhYWJyU3I1azhBR3BaR00KdGgxTUZ0K2N1MnoyZUcvZ2c3enIzU002WVhqQldqNmJpa1NnRnA0TitjQ0JwZ1hYOExLVklua3huY0tEQk5OOQpqdXRPUlQrL1JVcDRDWEhvRWxhRWN1R3VCTVVDNnFEVjdZOWpOWGVDRmZIMHRqc1gKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K
11+
username: cassandra
12+
password: cassandra
13+
14+
contexts:
15+
default:
16+
datacenterName: eu-west-123
17+
authInfoName: default
18+
19+
currentContext: default
20+
21+
parameters:
22+
defaultConsistency: LOCAL_QUORUM
23+
defaultSerialConsistency: LOCAL_SERIAL

0 commit comments

Comments
 (0)