diff options
author | 2019-03-20 12:12:06 -0400 | |
---|---|---|
committer | 2019-03-20 16:26:05 -0400 | |
commit | a290a037ea6da2dc062945f77240a10564f6541f (patch) | |
tree | 506e46c1fbdb73d62ec145998690c17869c7b366 /mdbc-server/src/test | |
parent | 6f363a89863a91ac104e5c77f0096636a8db5343 (diff) |
Warm up ranges across sites
Add configuration to select which ranges we warm up. Default (null) is all ranges
Change-Id: I0f241563959cc9fb673ab6d8a87c45e8399086c2
Issue-ID: MUSIC-287
Signed-off-by: Tschaen, Brendan <ctschaen@att.com>
Diffstat (limited to 'mdbc-server/src/test')
-rw-r--r-- | mdbc-server/src/test/java/org/onap/music/mdbc/StateManagerTest.java | 137 | ||||
-rw-r--r-- | mdbc-server/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker | 1 |
2 files changed, 138 insertions, 0 deletions
diff --git a/mdbc-server/src/test/java/org/onap/music/mdbc/StateManagerTest.java b/mdbc-server/src/test/java/org/onap/music/mdbc/StateManagerTest.java new file mode 100644 index 0000000..899fff2 --- /dev/null +++ b/mdbc-server/src/test/java/org/onap/music/mdbc/StateManagerTest.java @@ -0,0 +1,137 @@ +/* + * ============LICENSE_START==================================================== + * org.onap.music.mdbc + * ============================================================================= + * Copyright (C) 2019 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.music.mdbc; + +import static org.junit.Assert.*; +import java.sql.Connection; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import org.mockito.Mockito; +import org.mockito.internal.util.reflection.FieldSetter; +import org.onap.music.exceptions.MDBCServiceException; +import org.onap.music.mdbc.mixins.DBInterface; +import org.onap.music.mdbc.tables.TxCommitProgress; + +public class StateManagerTest { + + StateManager stateManager; + + @BeforeClass + public static void beforeClass() { + System.out.println("StateManagerTest"); + } + + @Before + public void before() throws MDBCServiceException { + //shouldn't use separate constructor, but this will do for now + stateManager = new StateManager(); + } + + @Test + public void testGetEventualRanges() throws NoSuchFieldException, SecurityException { + List<Range> evList = new ArrayList<>(); + evList.add(new Range("eventualRange")); + FieldSetter.setField(stateManager, stateManager.getClass().getDeclaredField("eventualRanges"), evList); + assertEquals(evList, stateManager.getEventualRanges()); + } + + @Test + public void testSetEventualRanges() { + List<Range> evList = new ArrayList<>(); + evList.add(new Range("eventualRange")); + stateManager.setEventualRanges(evList); + assertEquals(evList, stateManager.getEventualRanges()); + } + + @Test + public void testSetMdbcServerName() { + String serverName = "serverName"; + stateManager.setMdbcServerName(serverName); + assertEquals(serverName, stateManager.getMdbcServerName()); + } + + @Test + public void testGetConnection() throws Exception { + System.out.println("Testing getting a connection"); + + Connection connMock = Mockito.mock(Connection.class); + String connName = "connectionName"; + Map<String, Connection> connMap = new HashMap<>(); + connMap.put(connName, connMock); + FieldSetter.setField(stateManager, stateManager.getClass().getDeclaredField("mdbcConnections"), + connMap); + + TxCommitProgress txInfoMock = Mockito.mock(TxCommitProgress.class); + FieldSetter.setField(stateManager, stateManager.getClass().getDeclaredField("transactionInfo"), + txInfoMock); + + + assertEquals(connMock, stateManager.getConnection(connName)); + } + + @Test + public void testGetRangesToWarmup() throws Exception { + System.out.println("Testing warmup ranges where no ranges are defined"); + + //getConnection + MdbcConnection connMock = Mockito.mock(MdbcConnection.class); + String connName = "daemon"; + Map<String, Connection> connMap = new HashMap<>(); + connMap.put(connName, connMock); + FieldSetter.setField(stateManager, stateManager.getClass().getDeclaredField("mdbcConnections"), + connMap); + TxCommitProgress txInfoMock = Mockito.mock(TxCommitProgress.class); + FieldSetter.setField(stateManager, stateManager.getClass().getDeclaredField("transactionInfo"), + txInfoMock); + + DBInterface dbiMock = Mockito.mock(DBInterface.class); + Mockito.when(connMock.getDBInterface()).thenReturn(dbiMock); + Set<Range> allRanges = new HashSet<>(); + allRanges.add(new Range("rangeToWarmup")); + allRanges.add(new Range("rangeToWarmup2")); + allRanges.add(new Range("eventualRange")); + Mockito.when(dbiMock.getSQLRangeSet()).thenReturn(allRanges); + + List<Range> eventualRanges = new ArrayList<Range>(); + eventualRanges.add(new Range("eventualRange")); + stateManager.setEventualRanges(eventualRanges); + + assertEquals(2, stateManager.getRangesToWarmup().size()); + assertTrue(stateManager.getRangesToWarmup().contains(new Range("rangeToWarmup"))); + assertTrue(stateManager.getRangesToWarmup().contains(new Range("rangeToWarmup2"))); + } + + @Test + public void testSetWarmupRanges() { + Set<Range> warmupRanges = new HashSet<>(); + warmupRanges.add(new Range("rangeToWarmup")); + warmupRanges.add(new Range("rangeToWarmup2")); + stateManager.setWarmupRanges(warmupRanges); + assertEquals(warmupRanges, stateManager.getRangesToWarmup()); + } + +} diff --git a/mdbc-server/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/mdbc-server/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker new file mode 100644 index 0000000..1f0955d --- /dev/null +++ b/mdbc-server/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker @@ -0,0 +1 @@ +mock-maker-inline |