/* * Copyright 2014-2016 CyberVision, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.kaaproject.kaa.client; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import org.junit.Test; import org.kaaproject.kaa.client.channel.ServerType; import org.kaaproject.kaa.client.channel.TransportConnectionInfo; import org.kaaproject.kaa.client.channel.TransportProtocolId; import org.kaaproject.kaa.client.channel.TransportProtocolIdConstants; import org.kaaproject.kaa.client.util.CommonsBase64; import java.io.IOException; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; public class KaaClientPropertiesTest { @Test public void testGetBootstrapServers() throws Exception { System.setProperty(KaaClientProperties.KAA_CLIENT_PROPERTIES_FILE, "client-test.properties"); KaaClientProperties properties = new KaaClientProperties(); properties.setBase64(CommonsBase64.getInstance()); Map<TransportProtocolId, List<TransportConnectionInfo>> bootstraps = properties.getBootstrapServers(); assertEquals(1, bootstraps.size()); assertNotNull(bootstraps.get(TransportProtocolIdConstants.TCP_TRANSPORT_ID)); assertEquals(1, bootstraps.get(TransportProtocolIdConstants.TCP_TRANSPORT_ID).size()); TransportConnectionInfo serverInfo = bootstraps.get(TransportProtocolIdConstants.TCP_TRANSPORT_ID).get(0); assertEquals(ServerType.BOOTSTRAP, serverInfo.getServerType()); assertEquals(1, serverInfo.getAccessPointId()); assertEquals(TransportProtocolIdConstants.TCP_TRANSPORT_ID, serverInfo.getTransportId()); } @Test public void testGetSdkToken() throws IOException { System.setProperty(KaaClientProperties.KAA_CLIENT_PROPERTIES_FILE, "client-test.properties"); KaaClientProperties properties = new KaaClientProperties(); assertEquals("O7D+oECY1jhs6qIK8LA0zdaykmQ=", properties.getSdkToken()); } @Test public void testGetPollDelay() throws IOException { System.setProperty(KaaClientProperties.KAA_CLIENT_PROPERTIES_FILE, "client-test.properties"); KaaClientProperties properties = new KaaClientProperties(); assertEquals(0, properties.getPollDelay().intValue()); } @Test public void testGetPollPeriod() throws IOException { System.setProperty(KaaClientProperties.KAA_CLIENT_PROPERTIES_FILE, "client-test.properties"); KaaClientProperties properties = new KaaClientProperties(); assertEquals(10, properties.getPollPeriod().intValue()); } @Test public void testGetPollUnit() throws IOException { System.setProperty(KaaClientProperties.KAA_CLIENT_PROPERTIES_FILE, "client-test.properties"); KaaClientProperties properties = new KaaClientProperties(); assertEquals(TimeUnit.SECONDS, properties.getPollUnit()); } @Test public void testGetDefaultConfigData() throws IOException { System.setProperty(KaaClientProperties.KAA_CLIENT_PROPERTIES_FILE, "client-test.properties"); KaaClientProperties properties = new KaaClientProperties(); assertEquals(null, properties.getDefaultConfigData()); } @Test public void testGetDefaultConfigSchema() throws IOException { System.setProperty(KaaClientProperties.KAA_CLIENT_PROPERTIES_FILE, "client-test.properties"); KaaClientProperties properties = new KaaClientProperties(); assertEquals(null, properties.getDefaultConfigSchema()); } @Test public void testGetWorkingDirectory() throws IOException { System.setProperty(KaaClientProperties.KAA_CLIENT_PROPERTIES_FILE, "client-test.properties"); KaaClientProperties properties = new KaaClientProperties(); assertEquals("." + KaaClientProperties.FILE_SEPARATOR, properties.getWorkingDirectory()); } @Test public void testSetWorkingDirectory() throws IOException { String requestedWorkDir = "dir_"; String fileSeparator = System.getProperty("file.separator"); System.setProperty(KaaClientProperties.KAA_CLIENT_PROPERTIES_FILE, "client-test.properties"); KaaClientProperties properties = new KaaClientProperties(); properties.setWorkingDirectory(requestedWorkDir); assertEquals(requestedWorkDir + fileSeparator, properties.getWorkingDirectory()); } @Test(expected = IllegalArgumentException.class) public void testSetBlankWorkingDirectory() throws IOException { String requestedWorkDir = ""; System.setProperty(KaaClientProperties.KAA_CLIENT_PROPERTIES_FILE, "client-test.properties"); KaaClientProperties properties = new KaaClientProperties(); properties.setWorkingDirectory(requestedWorkDir); } @Test public void testGetStateFileName() throws IOException { System.setProperty(KaaClientProperties.KAA_CLIENT_PROPERTIES_FILE, "client-test.properties"); KaaClientProperties properties = new KaaClientProperties(); assertEquals("state.properties", properties.getStateFileName()); } @Test public void testGetStateFileFullName() throws IOException { System.setProperty(KaaClientProperties.KAA_CLIENT_PROPERTIES_FILE, "client-test.properties"); KaaClientProperties properties = new KaaClientProperties(); assertEquals(properties.getWorkingDirectory() + "state.properties", properties.getStateFileFullName()); } @Test public void testSetStateFileName() throws IOException { String requestedName = "test_state.properties"; System.setProperty(KaaClientProperties.KAA_CLIENT_PROPERTIES_FILE, "client-test.properties"); KaaClientProperties properties = new KaaClientProperties(); properties.setStateFileName(requestedName); assertEquals(requestedName, properties.getStateFileName()); assertEquals(properties.getWorkingDirectory() + requestedName, properties.getStateFileFullName()); } @Test(expected = IllegalArgumentException.class) public void testSetBlankStateFileName() throws IOException { String requestedName = ""; System.setProperty(KaaClientProperties.KAA_CLIENT_PROPERTIES_FILE, "client-test.properties"); KaaClientProperties properties = new KaaClientProperties(); properties.setStateFileName(requestedName); } @Test public void testGetPublicKeyFileName() throws IOException { System.setProperty(KaaClientProperties.KAA_CLIENT_PROPERTIES_FILE, "client-test.properties"); KaaClientProperties properties = new KaaClientProperties(); assertEquals("key.public", properties.getPublicKeyFileName()); } @Test public void testGetPublicKeyFileFullName() throws IOException { System.setProperty(KaaClientProperties.KAA_CLIENT_PROPERTIES_FILE, "client-test.properties"); KaaClientProperties properties = new KaaClientProperties(); assertEquals(properties.getWorkingDirectory() + "key.public", properties.getPublicKeyFileFullName()); } @Test public void testSetPublicKeyFileName() throws IOException { String requestedName = "test_key.public"; System.setProperty(KaaClientProperties.KAA_CLIENT_PROPERTIES_FILE, "client-test.properties"); KaaClientProperties properties = new KaaClientProperties(); properties.setPublicKeyFileName(requestedName); assertEquals(requestedName, properties.getPublicKeyFileName()); assertEquals(properties.getWorkingDirectory() + requestedName, properties.getPublicKeyFileFullName()); } @Test(expected = IllegalArgumentException.class) public void testSetBlankPublicKeyFileName() throws IOException { String requestedName = ""; System.setProperty(KaaClientProperties.KAA_CLIENT_PROPERTIES_FILE, "client-test.properties"); KaaClientProperties properties = new KaaClientProperties(); properties.setPublicKeyFileName(requestedName); } @Test public void testGetPrivateKeyFileName() throws IOException { System.setProperty(KaaClientProperties.KAA_CLIENT_PROPERTIES_FILE, "client-test.properties"); KaaClientProperties properties = new KaaClientProperties(); assertEquals("key.private", properties.getPrivateKeyFileName()); } @Test public void testGetPrivateKeyFileFullName() throws IOException { System.setProperty(KaaClientProperties.KAA_CLIENT_PROPERTIES_FILE, "client-test.properties"); KaaClientProperties properties = new KaaClientProperties(); assertEquals(properties.getWorkingDirectory() + "key.private", properties.getPrivateKeyFileFullName()); } @Test public void testSetPrivateKeyFileName() throws IOException { String requestedName = "test_key.private"; System.setProperty(KaaClientProperties.KAA_CLIENT_PROPERTIES_FILE, "client-test.properties"); KaaClientProperties properties = new KaaClientProperties(); properties.setPrivateKeyFileName(requestedName); assertEquals(requestedName, properties.getPrivateKeyFileName()); assertEquals(properties.getWorkingDirectory() + requestedName, properties.getPrivateKeyFileFullName()); } @Test(expected = IllegalArgumentException.class) public void testSetBlankPrivateKeyFileName() throws IOException { String requestedName = ""; System.setProperty(KaaClientProperties.KAA_CLIENT_PROPERTIES_FILE, "client-test.properties"); KaaClientProperties properties = new KaaClientProperties(); properties.setPrivateKeyFileName(requestedName); } }