Added unit tests for ConfigurationRepository 07/90507/2
authorPiotr Borelowski <p.borelowski@partner.samsung.com>
Wed, 26 Jun 2019 11:16:01 +0000 (13:16 +0200)
committerOren Kleks <orenkle@amdocs.com>
Wed, 3 Jul 2019 05:55:43 +0000 (05:55 +0000)
Improved the unit test coverage
in onap-configuration-management-core project

Issue-ID: SDC-2327
Signed-off-by: Piotr Borelowski <p.borelowski@partner.samsung.com>
Change-Id: Ib448d3f318a89d65d4b6ae912e3ca38a31b86146

common/onap-common-configuration-management/onap-configuration-management-core/src/test/java/org/onap/config/impl/ConfigurationRepositoryTest.java [new file with mode: 0644]

diff --git a/common/onap-common-configuration-management/onap-configuration-management-core/src/test/java/org/onap/config/impl/ConfigurationRepositoryTest.java b/common/onap-common-configuration-management/onap-configuration-management-core/src/test/java/org/onap/config/impl/ConfigurationRepositoryTest.java
new file mode 100644 (file)
index 0000000..8a39d1b
--- /dev/null
@@ -0,0 +1,81 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP SDC
+ * ================================================================================
+ * Copyright (C) 2019 Samsung. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ */
+
+package org.onap.config.impl;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Set;
+
+import org.apache.commons.configuration2.BaseConfiguration;
+import org.apache.commons.configuration2.Configuration;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.config.Constants;
+
+public class ConfigurationRepositoryTest {
+
+    private static final String[] EMPTY_ARRAY_OF_STRING = new String[0];
+
+    private ConfigurationRepository repository;
+
+    @Before
+    public void init() {
+        repository = ConfigurationRepository.lookup();
+    }
+
+    @Test
+    public void testFreshCreatedOne() {
+        // when - then
+        assertTrue(repository.isValidTenant(Constants.DEFAULT_TENANT));
+        assertTrue(repository.isValidNamespace(Constants.DEFAULT_NAMESPACE));
+    }
+
+    @Test
+    public void testFreshCreatedTwo() {
+        // when
+        final Set<String> tenants = repository.getTenants();
+        final Set<String> namespaces = repository.getNamespaces();
+
+        // then
+        assertEquals(1, tenants.size());
+        assertEquals(1, namespaces.size());
+
+        assertEquals(Constants.DEFAULT_TENANT, tenants.toArray(EMPTY_ARRAY_OF_STRING)[0]);
+        assertEquals(Constants.DEFAULT_NAMESPACE, namespaces.toArray(EMPTY_ARRAY_OF_STRING)[0]);
+    }
+
+    @Test
+    public void testConfigurationPopulated() throws Exception {
+        // given
+        BaseConfiguration inputConfig = new BaseConfiguration();
+
+        // when
+        repository.populateConfiguration(Constants.DEFAULT_TENANT + Constants.KEY_ELEMENTS_DELIMITER
+                + Constants.DEFAULT_NAMESPACE, inputConfig);
+        final Configuration outputConfig = repository.getConfigurationFor(Constants.DEFAULT_TENANT,
+                Constants.DEFAULT_NAMESPACE);
+
+        // then
+        assertEquals(inputConfig, outputConfig);
+    }
+}