diff options
Diffstat (limited to 'controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/ophistory/OperationHistoryDataManagerParamsTest.java')
-rw-r--r-- | controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/ophistory/OperationHistoryDataManagerParamsTest.java | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/ophistory/OperationHistoryDataManagerParamsTest.java b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/ophistory/OperationHistoryDataManagerParamsTest.java new file mode 100644 index 000000000..aeeac4796 --- /dev/null +++ b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/ophistory/OperationHistoryDataManagerParamsTest.java @@ -0,0 +1,115 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP + * ================================================================================ + * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.controlloop.ophistory; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import java.util.function.Consumer; +import org.junit.Before; +import org.junit.Test; +import org.onap.policy.common.parameters.ValidationResult; +import org.onap.policy.controlloop.ophistory.OperationHistoryDataManagerParams.OperationHistoryDataManagerParamsBuilder; + +public class OperationHistoryDataManagerParamsTest { + private static final String CONTAINER = "my-container"; + private static final int BATCH_SIZE = 10; + private static final int MAX_QUEUE_LENGTH = 20; + private static final String MY_PASS = "my-pass"; + private static final String MY_PU = "my-pu"; + private static final String MY_URL = "my-url"; + private static final String MY_USER = "my-user"; + + private OperationHistoryDataManagerParams params; + + @Before + public void setUp() { + params = makeBuilder().build(); + } + + @Test + public void test() { + assertEquals(BATCH_SIZE, params.getBatchSize()); + assertEquals(MAX_QUEUE_LENGTH, params.getMaxQueueLength()); + assertEquals(MY_PASS, params.getPassword()); + assertEquals(OperationHistoryDataManagerParams.DEFAULT_PU, params.getPersistenceUnit()); + assertEquals(MY_URL, params.getUrl()); + assertEquals(MY_USER, params.getUserName()); + + // use specified PU + assertEquals(MY_PU, makeBuilder().persistenceUnit(MY_PU).build().getPersistenceUnit()); + } + + @Test + public void testValidate() { + assertTrue(params.validate(CONTAINER).isValid()); + + testValidateField("url", "null", params2 -> params2.setUrl(null)); + testValidateField("userName", "null", params2 -> params2.setUserName(null)); + testValidateField("password", "null", params2 -> params2.setPassword(null)); + testValidateField("persistenceUnit", "null", params2 -> params2.setPersistenceUnit(null)); + + // check edge cases + params.setBatchSize(0); + assertFalse(params.validate(CONTAINER).isValid()); + + params.setBatchSize(1); + assertTrue(params.validate(CONTAINER).isValid()); + + params.setMaxQueueLength(0); + assertFalse(params.validate(CONTAINER).isValid()); + + params.setMaxQueueLength(1); + assertTrue(params.validate(CONTAINER).isValid()); + + // blank password is ok + params.setPassword(""); + assertTrue(params.validate(CONTAINER).isValid()); + } + + private void testValidateField(String fieldName, String expected, + Consumer<OperationHistoryDataManagerParams> makeInvalid) { + + // original params should be valid + ValidationResult result = params.validate(CONTAINER); + assertTrue(fieldName, result.isValid()); + + // make invalid params + OperationHistoryDataManagerParams params2 = makeBuilder().build(); + makeInvalid.accept(params2); + result = params2.validate(CONTAINER); + assertFalse(fieldName, result.isValid()); + assertThat(result.getResult()).contains(CONTAINER).contains(fieldName).contains(expected); + } + + private OperationHistoryDataManagerParamsBuilder makeBuilder() { + // @formatter:off + return OperationHistoryDataManagerParams.builder() + .batchSize(BATCH_SIZE) + .maxQueueLength(MAX_QUEUE_LENGTH) + .password(MY_PASS) + .url(MY_URL) + .userName(MY_USER); + // @formatter:on + } +} |