/** * Copyright (C) 2015 Orange * Licensed 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 com.francetelecom.clara.cloud.coremodel; import java.util.Arrays; import org.apache.commons.lang3.StringUtils; import org.junit.Test; import static org.fest.assertions.Assertions.assertThat; public class ConfigRoleTest { @Test(expected = IllegalArgumentException.class) public void application_uid_can_not_be_empty() { new ConfigRole(""); } @Test(expected = IllegalArgumentException.class) public void application_uid_can_not_be_null() { new ConfigRole(null); } @Test public void config_role_is_ok() { ConfigRole configRole = new ConfigRole("myapp"); configRole.setLastModificationComment("Modified by Guillaume."); configRole.setValues(Arrays.asList(new ConfigValue("myconfigset", "mykey", "myvalue", "update mykey to its new value"))); } @Test public void too_long_comments_are_left_truncated_to_avoid_breaking_db_schema() { ConfigRole configRole = new ConfigRole("myapp"); String long300CharsComment = StringUtils.rightPad("comment", 300, 'X'); assertThat(long300CharsComment.length()).isEqualTo(300); configRole.setLastModificationComment(long300CharsComment); assertThat(configRole.getLastModificationComment().length()).isEqualTo(ConfigRole.MAX_COMMENT_SIZE); assertThat(configRole.getLastModificationComment()).startsWith("comment"); } }