/* * Copyright (C) 2014 Jan Pokorsky * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package cz.cas.lib.proarc.common.export.desa; import cz.cas.lib.proarc.common.export.desa.DesaServices.DesaConfiguration; import cz.cas.lib.proarc.common.object.ValueMap; import cz.cas.lib.proarc.common.object.model.MetaModel; import cz.cas.lib.proarc.desa.nomenclature.Nomenclatures; import cz.cas.lib.proarc.desa.nomenclature.Nomenclatures.RecCls; import cz.cas.lib.proarc.desa.nomenclature.Nomenclatures.RecCls.RecCl; import java.util.Arrays; import java.util.List; import org.apache.commons.configuration.BaseConfiguration; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import static org.junit.Assert.*; /** * * @author Jan Pokorsky */ public class DesaServicesTest { private BaseConfiguration conf; private DesaServices desaServices; public DesaServicesTest() { } @BeforeClass public static void setUpClass() { } @AfterClass public static void tearDownClass() { } @Before public void setUp() { conf = new BaseConfiguration(); conf.setProperty(DesaServices.PROPERTY_DESASERVICES, "ds1, dsNulls"); String prefix = DesaServices.PREFIX_DESA + '.' + "ds1" + '.'; conf.setProperty(prefix + DesaConfiguration.PROPERTY_USER, "ds1user"); conf.setProperty(prefix + DesaConfiguration.PROPERTY_PASSWD, "ds1passwd"); conf.setProperty(prefix + DesaConfiguration.PROPERTY_PRODUCER, "ds1producer"); conf.setProperty(prefix + DesaConfiguration.PROPERTY_OPERATOR, "ds1operator"); conf.setProperty(prefix + DesaConfiguration.PROPERTY_EXPORTMODELS, "model:id1, model:id2"); conf.setProperty(prefix + DesaConfiguration.PROPERTY_RESTAPI, "https://SERVER/dea-frontend/rest/sipsubmission"); conf.setProperty(prefix + DesaConfiguration.PROPERTY_WEBSERVICE, "https://SERVER/dea-frontend/ws/SIPSubmissionService"); conf.setProperty(prefix + DesaConfiguration.PROPERTY_NOMENCLATUREACRONYMS, "acr1, acr2"); prefix = DesaServices.PREFIX_DESA + '.' + "dsNulls" + '.'; conf.setProperty(prefix + DesaConfiguration.PROPERTY_USER, null); conf.setProperty(prefix + DesaConfiguration.PROPERTY_PASSWD, ""); conf.setProperty(prefix + DesaConfiguration.PROPERTY_EXPORTMODELS, null); conf.setProperty(prefix + DesaConfiguration.PROPERTY_NOMENCLATUREACRONYMS, null); prefix = DesaServices.PREFIX_DESA + '.' + "dsNotActive" + '.'; conf.setProperty(prefix + DesaConfiguration.PROPERTY_USER, "NA"); desaServices = new DesaServices(conf); } @Test public void testFindConfiguration_MetaModel() { MetaModel model = new MetaModel("model:id1", true, true, null, "", "", null, null); DesaConfiguration result = desaServices.findConfiguration(model); assertNotNull(result); assertEquals("ds1", result.getServiceId()); } @Test public void testFindConfiguration_MetaModel_Unknown() { MetaModel model = new MetaModel("model:unknown", true, true, null, "", "", null, null); DesaConfiguration result = desaServices.findConfiguration(model); assertNull(result); } @Test public void testFindConfiguration_String() { DesaConfiguration ds1 = desaServices.findConfiguration("ds1"); assertNotNull(ds1); assertEquals("ds1", ds1.getServiceId()); assertEquals(Arrays.asList("model:id1", "model:id2"), ds1.getExportModels()); assertEquals(Arrays.asList("acr1", "acr2"), ds1.getNomenclatureAcronyms()); assertEquals("ds1user", ds1.getUsername()); assertEquals("ds1passwd", ds1.getPassword()); assertEquals("https://SERVER/dea-frontend/rest/sipsubmission", ds1.getRestServiceUrl()); assertEquals("https://SERVER/dea-frontend/ws/SIPSubmissionService", ds1.getSoapServiceUrl()); assertEquals("ds1producer", ds1.getProducer()); assertEquals("ds1operator", ds1.getOperator()); } @Test public void testFindConfiguration_String2() { DesaConfiguration ds = desaServices.findConfiguration("dsNulls"); assertNotNull(ds); assertEquals("dsNulls", ds.getServiceId()); assertEquals(Arrays.asList(), ds.getExportModels()); assertEquals(Arrays.asList(), ds.getNomenclatureAcronyms()); assertEquals(null, ds.getUsername()); assertEquals("", ds.getPassword()); } @Test public void testFindConfiguration_String3() { DesaConfiguration ds = desaServices.findConfiguration("dsNotActive"); assertNull(ds); } @Test public void testFindConfigurationWithModel() { DesaConfiguration result = desaServices.findConfigurationWithModel("unknown", "model:id1"); assertNotNull(result); assertEquals("ds1", result.getServiceId()); result = desaServices.findConfigurationWithModel("unknown"); assertNull(result); } @Test public void testGetValueMap() { Nomenclatures n = new Nomenclatures(); n.setRecCls(new RecCls()); List<RecCl> recCls = n.getRecCls().getRecCl(); recCls.add(new RecCl()); List<ValueMap> result = desaServices.getValueMap(n, "test"); assertNotNull(result); assertEquals("test.rec-cl", result.get(0).getMapId()); } }