/** * This file is part of Graylog. * * Graylog 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. * * Graylog 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 Graylog. If not, see <http://www.gnu.org/licenses/>. */ package org.graylog2.plugin.configuration; import com.google.common.collect.ImmutableMap; import org.graylog2.plugin.configuration.fields.ConfigurationField; import org.graylog2.plugin.configuration.fields.TextField; import org.junit.Before; import org.junit.Test; import static org.assertj.core.api.Assertions.assertThat; public class ConfigurationRequestTest { private ConfigurationRequest configurationRequest; @Before public void setUp() throws Exception { configurationRequest = new ConfigurationRequest(); } @Test public void putAllRetainsOrder() throws Exception { final ImmutableMap<String, ConfigurationField> fields = ImmutableMap.<String, ConfigurationField>of( "field1", new TextField("field1", "humanName", "defaultValue", "description"), "field2", new TextField("field2", "humanName", "defaultValue", "description"), "field3", new TextField("field3", "humanName", "defaultValue", "description") ); configurationRequest.putAll(fields); assertThat(configurationRequest.getFields().keySet()).containsSequence("field1", "field2", "field3"); } @Test public void addFieldAppendsFieldAtTheEnd() throws Exception { int numberOfFields = 5; for (int i = 0; i < numberOfFields; i++) { configurationRequest.addField(new TextField("field" + i, "humanName", "defaultValue", "description")); } assertThat(configurationRequest.getFields().keySet()) .containsSequence("field0", "field1", "field2", "field3", "field4"); } @Test public void asListRetainsOrder() throws Exception { int numberOfFields = 5; for (int i = 0; i < numberOfFields; i++) { configurationRequest.addField(new TextField("field" + i, "humanName", "defaultValue", "description")); } assertThat(configurationRequest.asList().keySet()) .containsSequence("field0", "field1", "field2", "field3", "field4"); } }