Skip to content

Commit

Permalink
#386 Expanding TCK
Browse files Browse the repository at this point in the history
Signed-off-by: Gunnar Morling <gunnar.morling@googlemail.com>
  • Loading branch information
gunnarmorling authored and jmesnil committed Sep 6, 2019
1 parent 1bf3fea commit 206a89b
Show file tree
Hide file tree
Showing 3 changed files with 110 additions and 3 deletions.
Expand Up @@ -77,16 +77,22 @@ public void canInjectSimpleValuesWhenDefined() {

assertThat(bean.stringProperty, is(equalTo("text")));
assertThat(bean.booleanProperty, is(true));
assertThat(bean.byteProperty, is(equalTo((byte)127)));
assertThat(bean.shortProperty, is(equalTo((short)32767)));
assertThat(bean.intProperty, is(equalTo(5)));
assertThat(bean.longProperty, is(equalTo(10L)));
assertThat(bean.floatProperty, is(floatCloseTo(10.5f, 0.1f)));
assertThat(bean.doubleProperty, is(closeTo(11.5, 0.1)));
assertThat(bean.charProperty, is(equalTo('c')));

assertThat(bean.booleanObjProperty, is(true));
assertThat(bean.byteObjProperty, is(equalTo(Byte.valueOf((byte)127))));
assertThat(bean.shortObjProperty, is(equalTo(Short.valueOf((short)32767))));
assertThat(bean.integerProperty, is(equalTo(5)));
assertThat(bean.longObjProperty, is(equalTo(10L)));
assertThat(bean.floatObjProperty, is(floatCloseTo(10.5f, 0.1f)));
assertThat(bean.doubleObjProperty, is(closeTo(11.5, 0.1)));
assertThat(bean.characterProperty, is(equalTo(Character.valueOf('c'))));

assertThat(bean.doublePropertyWithDefaultValue, is(closeTo(3.1415, 0.1)));
}
Expand All @@ -102,6 +108,10 @@ public void injectedValuesAreEqualToProgrammaticValues() {
ConfigProvider.getConfig().getValue("my.string.property", String.class))));
assertThat(bean.booleanProperty, is(equalTo(
ConfigProvider.getConfig().getValue("my.boolean.property", Boolean.class))));
assertThat(bean.byteProperty, is(equalTo(
ConfigProvider.getConfig().getValue("my.byte.property", Byte.class))));
assertThat(bean.shortProperty, is(equalTo(
ConfigProvider.getConfig().getValue("my.short.property", Short.class))));
assertThat(bean.intProperty, is(equalTo(
ConfigProvider.getConfig().getValue("my.int.property", Integer.class))));
assertThat(bean.longProperty, is(equalTo(
Expand All @@ -110,6 +120,8 @@ public void injectedValuesAreEqualToProgrammaticValues() {
ConfigProvider.getConfig().getValue("my.float.property", Float.class), 0.1f)));
assertThat(bean.doubleProperty, is(closeTo(
ConfigProvider.getConfig().getValue("my.double.property", Double.class), 0.1)));
assertThat(bean.charProperty, is(equalTo(
ConfigProvider.getConfig().getValue("my.char.property", Character.class))));

assertThat(bean.doublePropertyWithDefaultValue, is(closeTo(
ConfigProvider.getConfig().getOptionalValue("my.not.configured.double.property", Double.class)
Expand All @@ -136,20 +148,26 @@ public void canInjectDefaultPropertyPath() {
private void ensureAllPropertyValuesAreDefined() {
System.setProperty("my.string.property", "text");
System.setProperty("my.boolean.property", "true");
System.setProperty("my.byte.property", "127");
System.setProperty("my.short.property", "32767");
System.setProperty("my.int.property", "5");
System.setProperty("my.long.property", "10");
System.setProperty("my.float.property", "10.5");
System.setProperty("my.double.property", "11.5");
System.setProperty("my.char.property", "c");
System.setProperty(DEFAULT_PROPERTY_BEAN_KEY, "pathConfigValue");
}

private void clearAllPropertyValues() {
System.getProperties().remove("my.string.property");
System.getProperties().remove("my.boolean.property");
System.getProperties().remove("my.byte.property");
System.getProperties().remove("my.short.property");
System.getProperties().remove("my.int.property");
System.getProperties().remove("my.long.property");
System.getProperties().remove("my.float.property");
System.getProperties().remove("my.double.property");
System.getProperties().remove("my.char.property");
System.getProperties().remove(DEFAULT_PROPERTY_BEAN_KEY);
}

Expand All @@ -172,6 +190,22 @@ public static class SimpleValuesBean {
@ConfigProperty(name="my.boolean.property")
private boolean booleanProperty;

@Inject
@ConfigProperty(name="my.byte.property")
private Byte byteObjProperty;

@Inject
@ConfigProperty(name="my.byte.property")
private byte byteProperty;

@Inject
@ConfigProperty(name="my.short.property")
private Short shortObjProperty;

@Inject
@ConfigProperty(name="my.short.property")
private short shortProperty;

@Inject
@ConfigProperty(name="my.int.property")
private Integer integerProperty;
Expand Down Expand Up @@ -204,6 +238,14 @@ public static class SimpleValuesBean {
@ConfigProperty(name="my.double.property")
private double doubleProperty;

@Inject
@ConfigProperty(name="my.char.property")
private Character characterProperty;

@Inject
@ConfigProperty(name="my.char.property")
private char charProperty;

// the property is not configured in any ConfigSource but its defaultValue will
// be used to set the field.
@Inject
Expand Down Expand Up @@ -244,10 +286,13 @@ public TestConfigSource() {
properties = new HashMap<>();
properties.put("my.string.property", "text");
properties.put("my.boolean.property", "true");
properties.put("my.byte.property", "127");
properties.put("my.short.property", "32767");
properties.put("my.int.property", "5");
properties.put("my.long.property", "10");
properties.put("my.float.property", "10.5");
properties.put("my.double.property", "11.5");
properties.put("my.char.property", "c");
properties.put(DEFAULT_PROPERTY_BEAN_KEY, "pathConfigValue");
}

Expand Down
Expand Up @@ -59,6 +59,7 @@
* @author <a href="mailto:struberg@apache.org">Mark Struberg</a>
* @author <a href="mailto:emijiang@uk.ibm.com">Emily Jiang</a>
* @author <a href="mailto:john.d.ament@gmail.com">John D. Ament</a>
* @author <a href="mailto:gunnar.morling@googlemail.com">Gunnar Morling</a>
*/
public class ConverterTest extends Arquillian {

Expand Down Expand Up @@ -128,6 +129,40 @@ public void testDonaldConversionWithMultipleLambdaConverters() {
"The converter with the highest priority (using upper case) must be used.");
}

@Test
public void testByte() {
Byte value = config.getValue("tck.config.test.javaconfig.converter.bytevalue", Byte.class);
Assert.assertEquals(value, Byte.valueOf((byte)123));
}

@Test
public void testbyte() {
byte value = config.getValue("tck.config.test.javaconfig.converter.bytevalue", byte.class);
Assert.assertEquals(value, (byte)123);
}

@Test(expectedExceptions = IllegalArgumentException.class)
public void testByte_Broken() {
Byte value = config.getValue("tck.config.test.javaconfig.converter.bytevalue.broken", Byte.class);
}

@Test
public void testShort() {
Short value = config.getValue("tck.config.test.javaconfig.converter.shortvalue", Short.class);
Assert.assertEquals(value, Short.valueOf((short)1234));
}

@Test
public void testshort() {
short value = config.getValue("tck.config.test.javaconfig.converter.shortvalue", short.class);
Assert.assertEquals(value, (short)1234);
}

@Test(expectedExceptions = IllegalArgumentException.class)
public void testShort_Broken() {
Short value = config.getValue("tck.config.test.javaconfig.converter.shortvalue.broken", Short.class);
}

@Test
public void testInteger() {
Integer value = config.getValue("tck.config.test.javaconfig.converter.integervalue", Integer.class);
Expand Down Expand Up @@ -196,6 +231,23 @@ public void testDouble_Broken() {
Double value = config.getValue("tck.config.test.javaconfig.converter.doublevalue.broken", Double.class);
}

@Test
public void testChar() {
Character value = config.getValue("tck.config.test.javaconfig.converter.charvalue", Character.class);
Assert.assertEquals(value, Character.valueOf('c'));
}

@Test
public void testchar() {
char value = config.getValue("tck.config.test.javaconfig.converter.charvalue", char.class);
Assert.assertEquals(value, 'c');
}

@Test(expectedExceptions = IllegalArgumentException.class)
public void testChar_Broken() {
Character value = config.getValue("tck.config.test.javaconfig.converter.charvalue.broken", Character.class);
}

@Test
public void testDuration() {
Duration value = config.getValue("tck.config.test.javaconfig.converter.durationvalue", Duration.class);
Expand Down Expand Up @@ -257,7 +309,7 @@ public void testOffsetTime() {
OffsetTime parsed = OffsetTime.parse("13:45:30.123456789+02:00");
Assert.assertEquals(value, parsed);
}



@Test(expectedExceptions = IllegalArgumentException.class)
Expand All @@ -271,12 +323,12 @@ public void testZoneOffset() {
ZoneOffset parsed = ZoneOffset.of("+02:00");
Assert.assertEquals(value, parsed);
}

@Test(expectedExceptions = IllegalArgumentException.class)
public void testZoneOffset_Broken() {
ZoneOffset value = config.getValue("tck.config.test.javaconfig.converter.zoneoffsetvalue.broken", ZoneOffset.class);
}

@Test
public void testInstant() {
Instant value = config.getValue("tck.config.test.javaconfig.converter.instantvalue", Instant.class);
Expand Down
Expand Up @@ -24,6 +24,12 @@ tck.config.test.javaconfig.properties.key1=VALue1

tck.config.test.overwritten.in.custompropertyfile.key1=value from microprofile-config.properties

tck.config.test.javaconfig.converter.bytevalue = 123
tck.config.test.javaconfig.converter.bytevalue.broken = xxx

tck.config.test.javaconfig.converter.shortvalue = 1234
tck.config.test.javaconfig.converter.shortvalue.broken = xxx


tck.config.test.javaconfig.converter.integervalue = 1234
tck.config.test.javaconfig.converter.integervalue.broken = xxx
Expand All @@ -41,6 +47,10 @@ tck.config.test.javaconfig.converter.doublevalue = 12.34
tck.config.test.javaconfig.converter.doublevalue.broken = alfasdf


tck.config.test.javaconfig.converter.charvalue = c
tck.config.test.javaconfig.converter.charvalue.broken = xxx


tck.config.test.javaconfig.converter.durationvalue = PT15M
tck.config.test.javaconfig.converter.durationvalue.broken = alfasdf

Expand Down

0 comments on commit 206a89b

Please sign in to comment.