2  * ============LICENSE_START=======================================================
 
   4  * ================================================================================
 
   5  * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
 
   6  * ================================================================================
 
   7  * Copyright (C) 2017 Amdocs
 
   8  * =============================================================================
 
   9  * Licensed under the Apache License, Version 2.0 (the "License");
 
  10  * you may not use this file except in compliance with the License.
 
  11  * You may obtain a copy of the License at
 
  13  *      http://www.apache.org/licenses/LICENSE-2.0
 
  15  * Unless required by applicable law or agreed to in writing, software
 
  16  * distributed under the License is distributed on an "AS IS" BASIS,
 
  17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
  18  * See the License for the specific language governing permissions and
 
  19  * limitations under the License.
 
  21  * ============LICENSE_END=========================================================
 
  26 package org.onap.appc.adapter.iaas.impl;
 
  28 import com.att.cdp.exceptions.ZoneException;
 
  29 import org.junit.Before;
 
  30 import org.junit.BeforeClass;
 
  31 import org.junit.Test;
 
  32 import org.onap.appc.configuration.ConfigurationFactory;
 
  34 import java.util.HashSet;
 
  35 import java.util.Properties;
 
  37 import java.util.concurrent.locks.ReentrantReadWriteLock;
 
  39 import static org.junit.Assert.assertEquals;
 
  40 import static org.mockito.Mockito.CALLS_REAL_METHODS;
 
  41 import static org.mockito.Mockito.mock;
 
  44  * This class tests the service catalog against a known provider.
 
  46 public class TestServiceCatalog {
 
  49     private static int EXPECTED_REGIONS = 2;
 
  50     private static int EXPECTED_ENDPOINTS = 1;
 
  52     private static String PRINCIPAL;
 
  53     private static String CREDENTIAL;
 
  54     private static String TENANT_NAME;
 
  55     private static String TENANT_ID;
 
  56     private static String IDENTITY_URL;
 
  57     private static String REGION_NAME;
 
  59     private ServiceCatalog catalog;
 
  61     private Properties properties;
 
  64     public static void before() {
 
  65         Properties props = ConfigurationFactory.getConfiguration().getProperties();
 
  66         IDENTITY_URL = props.getProperty("provider1.identity");
 
  67         PRINCIPAL = props.getProperty("provider1.tenant1.userid", "appc");
 
  68         CREDENTIAL = props.getProperty("provider1.tenant1.password", "appc");
 
  69         TENANT_NAME = props.getProperty("provider1.tenant1.name", "appc");
 
  70         TENANT_ID = props.getProperty("provider1.tenant1.id",
 
  71                 props.getProperty("test.tenantid", "abcde12345fghijk6789lmnopq123rst"));
 
  72         REGION_NAME = props.getProperty("provider1.tenant1.region", "RegionOne");
 
  74         EXPECTED_REGIONS = Integer.valueOf(props.getProperty("test.expected-regions", "2"));
 
  75         EXPECTED_ENDPOINTS = Integer.valueOf(props.getProperty("test.expected-endpoints", "0"));
 
  79      * Setup the test environment by loading a new service catalog for each test
 
  81      * @throws ZoneException
 
  84     public void setup() throws ZoneException {
 
  85         properties = new Properties();
 
  86         catalog = mock(ServiceCatalog.class, CALLS_REAL_METHODS);
 
  87         catalog.rwLock = new ReentrantReadWriteLock();
 
  89         Set<String> testdata = new HashSet<>();
 
  90         testdata.add("RegionOne");
 
  91         catalog.regions = testdata;
 
  95      * Test that we find all of the expected region(s)
 
  98     public void testKnownRegions() {
 
  99         assertEquals(EXPECTED_REGIONS, catalog.getRegions().size());