blob: 0906a45ab339efdb5e0125e1e50928bf81d2b146 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.apache.tuscany.sca.itest;
import static org.junit.Assert.assertEquals;
import java.util.Iterator;
import org.apache.tuscany.sca.node.Contribution;
import org.apache.tuscany.sca.node.ContributionLocationHelper;
import org.apache.tuscany.sca.node.Node;
import org.apache.tuscany.sca.node.NodeFactory;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
/**
* This is a class which makes user of JUnit Framework, all tests are written using JUnit notation. These tests are used
* to test different property values returned from the SCA Runtime Environment which is initialized with the composite
* 'OuterPropertyTest.composite'. It basically tests the Simple type of property and Complex type of property from the
* SCA Runtime Environment.
*/
public class OuterPropertyTestCase {
private static Node node;
private static ABComponent outerABService;
/**
* Method annotated with
*
* @BeforeClass is used for one time set Up, it executes before every tests. This method is used to create a test
* Embedded SCA node, to start the SCA node and to get a reference to the 'outerABService' service
*/
@BeforeClass
public static void init() throws Exception {
String location = ContributionLocationHelper.getContributionLocation("OuterPropertyTest.composite");
node = NodeFactory.newInstance().createNode("OuterPropertyTest.composite", new Contribution("c1", location));
node.start();
outerABService = node.getService(ABComponent.class, "OuterComponent");
}
/**
* Method annotated with
*
* @AfterClass is used for one time Tear Down, it executes after every tests. This method is used to close the
* node, close any previously opened connections etc
*/
@AfterClass
public static void destroy() throws Exception {
node.stop();
}
/**
* Method annotated with
*
* @Test is a test method where testing logic is written using various assert methods. This test verifies the
* property value obtained using a service from the SCA runtime environment with the expected value 'Overriden
* A'
*/
@Test
public void testOverridenA() {
assertEquals("Overriden A", outerABService.getA());
}
/**
* Method annotated with
*
* @Test is a test method where testing logic is written using various assert methods. This test verifies the
* property value obtained using a service from the SCA runtime environment with the expected value 'Overriden
* B'
*/
@Test
public void testOverridenB() {
assertEquals("Overriden B", outerABService.getB());
}
/**
* Method annotated with
*
* @Test is a test method where testing logic is written using various assert methods. This test verifies the
* property value obtained using a service from the SCA runtime environment with the expected value 'Overriden
* A'
*/
@Test
public void testOverridenF() {
assertEquals("Overriden A", outerABService.getF());
}
/**
* Method annotated with
*
* @Test is a test method where testing logic is written using various assert methods. This test verifies the
* property value obtained using a service from the SCA runtime environment with the expected value 'Overriden
* Z'
*/
@Test
public void testOverridenZ() {
assertEquals("Overriden Z", outerABService.getZ());
}
/**
* Method annotated with
*
* @Test is a test method where testing logic is written using various assert methods. This test verifies the
* property value obtained using a service from the SCA runtime environment with the expected value 125
*/
@Test
public void testOverridenIntValue() {
assertEquals(125, outerABService.getIntValue());
}
/**
* Method annotated with
*
* @Test is a test method where testing logic is written using various assert methods. This test verifies the
* property value obtained using a service from the SCA runtime environment with the expected value 125
*/
@Test
public void testDefaultValue() {
assertEquals(125, outerABService.getIntValue());
}
/**
* Method annotated with
*
* @Test is a test method where testing logic is written using various assert methods. This test verifies the
* property values obtained using a service from the SCA runtime environment with the expected values 'Apache' ,
* 'Tuscany' and 'Java SCA' respectively .
*/
@Test
public void testManySimpleStringValues() {
Iterator<String> iterator = outerABService.getManyStringValues().iterator();
assertEquals("Apache", iterator.next());
assertEquals("Tuscany", iterator.next());
assertEquals("Java SCA", iterator.next());
}
/**
* Method annotated with
*
* @Test is a test method where testing logic is written using various assert methods. This test verifies the
* property values obtained using a service from the SCA runtime environment with the expected values 123, 456
* and 789
*/
@Test
public void testManySimpleIntegerValues() {
Iterator<Integer> iterator = outerABService.getManyIntegers().iterator();
assertEquals(123, iterator.next().intValue());
assertEquals(456, iterator.next().intValue());
assertEquals(789, iterator.next().intValue());
}
}