/** * @see #setProperty(String, String) */ public Settings setProperty(String key, @Nullable Date date) { return setProperty(key, date, false); }
/** * @see #setProperty(String, String) */ public Settings setProperty(String key, @Nullable Long value) { return setProperty(key, value == null ? null : String.valueOf(value)); }
public Settings appendProperty(String key, @Nullable String value) { Optional<String> existingValue = getRawString(definitions.validKey(key)); String newValue; if (!existingValue.isPresent()) { newValue = trim(value); } else { newValue = existingValue.get() + "," + trim(value); } return setProperty(key, newValue); }
private void addSettings(Settings settings, String componentDbKey) { dbClient.propertiesDao() .selectProjectProperties(componentDbKey) .forEach(property -> settings.setProperty(property.getKey(), property.getValue())); } }
@Test public void set_property_boolean() { Settings settings = new MapSettings(); settings.setProperty("foo", true); settings.setProperty("bar", false); assertThat(settings.getBoolean("foo")).isTrue(); assertThat(settings.getBoolean("bar")).isFalse(); assertThat(settings.getString("foo")).isEqualTo("true"); assertThat(settings.getString("bar")).isEqualTo("false"); }
@Test public void set_property_int() { Settings settings = new MapSettings(); settings.setProperty("foo", 123); assertThat(settings.getInt("foo")).isEqualTo(123); assertThat(settings.getString("foo")).isEqualTo("123"); assertThat(settings.getBoolean("foo")).isFalse(); }
@Test public void all_values_should_be_trimmed_set_property() { Settings settings = new MapSettings(); settings.setProperty("foo", " FOO "); assertThat(settings.getString("foo")).isEqualTo("FOO"); }
@Test(expected = IllegalStateException.class) public void shouldFailToSetArrayValueOnSingleValueProperty() { Settings settings = new MapSettings(definitions); settings.setProperty("array", new String[] {"A", "B", "C"}); }
private void verifyObfuscated(String key) { settings.setProperty(key, "foo"); ProtobufSystemInfo.Section protobuf = underTest.toProtobuf(); assertThatAttributeIs(protobuf, key, "xxxxxxxx"); }
@Test public void shouldGuessDefaultDriver() { Settings settings = new MapSettings(); settings.setProperty("sonar.jdbc.url", "jdbc:postgresql://localhost/sonar"); DefaultDatabase database = new DefaultDatabase(logbackHelper, settings); database.initSettings(); assertThat(database.getProperties().getProperty("sonar.jdbc.driverClassName")).isEqualTo("org.postgresql.Driver"); }
@Test public void setStringArray() { Settings settings = new MapSettings(definitions); settings.setProperty("multi_values", new String[] {"A", "B"}); String[] array = settings.getStringArray("multi_values"); assertThat(array).isEqualTo(new String[] {"A", "B"}); }
@Test public void testSetNullDouble() { Settings settings = new MapSettings(); settings.setProperty("foo", (Double) null); assertThat(settings.getDouble("foo")).isNull(); }
@Test public void setStringArrayWithNullValues() { Settings settings = new MapSettings(definitions); settings.setProperty("multi_values", new String[] {"A,B", null, "C,D"}); String[] array = settings.getStringArray("multi_values"); assertThat(array).isEqualTo(new String[] {"A,B", "", "C,D"}); }
@Test public void shouldTrimArray() { Settings settings = new MapSettings(); settings.setProperty("foo", " one, two, three "); String[] array = settings.getStringArray("foo"); assertThat(array).isEqualTo(new String[] {"one", "two", "three"}); }
@Test public void test_get_float() { Settings settings = new MapSettings(); settings.setProperty("from_float", 3.14159f); settings.setProperty("from_string", "3.14159"); assertThat(settings.getDouble("from_float")).isEqualTo(3.14159f, Offset.offset(0.00001)); assertThat(settings.getDouble("from_string")).isEqualTo(3.14159f, Offset.offset(0.00001)); assertThat(settings.getDouble("unknown")).isNull(); }
@Test public void should_load_values_of_deprecated_key() { Settings settings = new MapSettings(definitions); settings.setProperty("oldKey", "a,b"); assertThat(settings.getStringArray("newKey")).containsOnly("a", "b"); assertThat(settings.getStringArray("oldKey")).containsOnly("a", "b"); }
@Test(expected = RuntimeException.class) public void invalid_startup_date_throws_exception() { Settings settings = new MapSettings(); settings.setProperty(CoreProperties.SERVER_STARTTIME, "invalid"); ScannerWsClient client = mock(ScannerWsClient.class); DefaultServer metadata = new DefaultServer(((MapSettings) settings).asConfig(), client, null); metadata.getStartedAt(); } }
@Test public void set_property_string_array_trims_key() { String key = randomAlphanumeric(3); Settings underTest = new MapSettings(new PropertyDefinitions(singletonList(PropertyDefinition.builder(key).multiValues(true).build()))); Random random = new Random(); String blankBefore = blank(random); String blankAfter = blank(random); underTest.setProperty(blankBefore + key + blankAfter, new String[] {"1", "2"}); assertThat(underTest.hasKey(key)).isTrue(); }
@Test public void test_get_bad_double() { Settings settings = new MapSettings(); settings.setProperty("foo", "bar"); thrown.expect(IllegalStateException.class); thrown.expectMessage("The property 'foo' is not a double value"); settings.getDouble("foo"); }
@Test public void set_property_string_throws_NPE_if_key_is_null() { String key = randomAlphanumeric(3); Settings underTest = new MapSettings(new PropertyDefinitions(singletonList(PropertyDefinition.builder(key).multiValues(true).build()))); expectKeyNullNPE(); underTest.setProperty(null, new String[] {"1", "2"}); }