aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/release-notes.rst26
-rw-r--r--music-core/src/main/java/org/onap/music/lockingservice/cassandra/LockCleanUpDaemon.java11
-rw-r--r--music-core/src/test/java/org/onap/music/datastore/MusicDataStoreTest.java4
-rw-r--r--music-core/src/test/java/org/onap/music/datastore/jsonobjects/JSONObjectTest.java54
-rw-r--r--music-core/src/test/java/org/onap/music/datastore/jsonobjects/JsonDeleteTest.java28
-rw-r--r--music-core/src/test/java/org/onap/music/datastore/jsonobjects/JsonSelectTest.java17
-rw-r--r--music-core/src/test/java/org/onap/music/datastore/jsonobjects/RowIdentifierTest.java60
-rw-r--r--music-rest/src/test/java/org/onap/music/eelf/logging/MusicContainerFilterTest.java55
8 files changed, 233 insertions, 22 deletions
diff --git a/docs/release-notes.rst b/docs/release-notes.rst
index e736d848..d5da2fb7 100644
--- a/docs/release-notes.rst
+++ b/docs/release-notes.rst
@@ -5,31 +5,33 @@
Release Notes
=============
-Initial Release for El Alto
+Initial Release for Frankfurt
-Version: 3.2.35
+Version: 3.2.40
---------------
-:Release Date: 2019-09-19
+:Release Date: 2020-05-20
**New Features**
-- MUSIC features an 'ORM' layer. Applications directly using music will now have a streamlined API that matches the REST API for easier adoption and use.
+- MUSIC now runs on a springboot server, instead of a standalone tomcat server
-- MUSIC includes deadlock detection when creating and acquiring locks
+- HTTPS support for clients through AAF certificates
-- Continued adherence to ONAP S3P requirements
+- A background lock clean up daemon will periodically check the status of current locks, cleaning up 'stale' references.
+Clients should see a performance boost if they were previously dealing with many stale locks.
+- Improved error messaging to the user, allowing clients to better debug their applications
-**Bug Fixes**
+- Continued adherence to ONAP S3P requirements
- - `MUSIC-434 <https://jira.onap.org/browse/MUSIC-434>`_ Sonar Fix : JsonDelete.java
- - `MUSIC-432 <https://jira.onap.org/projects/MUSIC/issues/MUSIC-432`_ Use try-with resources to handle the resources used in the code
+**Bug Fixes**
+ - `MUSIC-573 <https://jira.onap.org/projects/MUSIC/issues/MUSIC-573`_ Pods still run as root
- - `MUSIC-410 <https://jira.onap.org/projects/MUSIC/issues/MUSIC-410>`_ Use logger to log exception
+ - `MUSIC-557 <https://jira.onap.org/projects/MUSIC/issues/MUSIC-557`_ Test coverage goals met, and migrated to new sonar location
- - `MUSIC-408 <https://jira.onap.org/projects/MUSIC/issues/MUSIC-408>`_ fix reduce method parameter
+ - `MUSIC-530 <https://jira.onap.org/browse/MUSIC-530>`_ Security Vulnerability in pom.xml fix
@@ -43,7 +45,7 @@ MUSIC code has been formally scanned during build time using NexusIQ and all Cri
Quick Links:
- `MUSIC project page <https://wiki.onap.org/display/DW/MUSIC+Project>`_
-- `MUSIC Dublin Release <https://wiki.onap.org/display/DW/MUSIC+El-Alto>`_
+- `MUSIC Frankfurt Release <https://wiki.onap.org/display/DW/MUSIC+Frankfurt>`_
- `Passing Badge information for MUSIC <https://bestpractices.coreinfrastructure.org/en/projects/1722>`_
- `MUSIC Architecture Page <TBD>`_
- `Project Vulnerability Review Table for MUSIC <https://wiki.onap.org/pages/viewpage.action?pageId=64004601>`_
diff --git a/music-core/src/main/java/org/onap/music/lockingservice/cassandra/LockCleanUpDaemon.java b/music-core/src/main/java/org/onap/music/lockingservice/cassandra/LockCleanUpDaemon.java
index 1f40f2bd..623a07c7 100644
--- a/music-core/src/main/java/org/onap/music/lockingservice/cassandra/LockCleanUpDaemon.java
+++ b/music-core/src/main/java/org/onap/music/lockingservice/cassandra/LockCleanUpDaemon.java
@@ -56,7 +56,8 @@ public class LockCleanUpDaemon extends Thread {
try {
Thread.sleep(MusicUtil.getLockDaemonSleepTimeMs());
} catch (InterruptedException e) {
- e.printStackTrace();
+ logger.warn(EELFLoggerDelegate.applicationLogger, "Interrupted exception", e);
+
}
}
}
@@ -108,12 +109,14 @@ public class LockCleanUpDaemon extends Thread {
private void deleteLockIfStale(String lockTable, Row lock) throws MusicServiceException {
- if (lock.isNull("createtime") && lock.isNull("acquiretime")) {
+ final String CREATETIME="createtime";
+ final String ACQUIRETIME="acquiretime";
+ if (lock.isNull(CREATETIME) && lock.isNull("acquiretime")) {
return;
}
- long createTime = lock.isNull("createtime") ? 0 : Long.parseLong(lock.getString("createtime"));
- long acquireTime = lock.isNull("acquiretime") ? 0 : Long.parseLong(lock.getString("acquiretime"));
+ long createTime = lock.isNull(CREATETIME) ? 0 : Long.parseLong(lock.getString(CREATETIME));
+ long acquireTime = lock.isNull(ACQUIRETIME) ? 0 : Long.parseLong(lock.getString(ACQUIRETIME));
long row_access_time = Math.max(createTime, acquireTime);
if (System.currentTimeMillis() > row_access_time + MusicUtil.getDefaultLockLeasePeriod()) {
logger.info(EELFLoggerDelegate.applicationLogger, "Stale lock detected and being removed: " + lock);
diff --git a/music-core/src/test/java/org/onap/music/datastore/MusicDataStoreTest.java b/music-core/src/test/java/org/onap/music/datastore/MusicDataStoreTest.java
index 4de995f7..9260cd92 100644
--- a/music-core/src/test/java/org/onap/music/datastore/MusicDataStoreTest.java
+++ b/music-core/src/test/java/org/onap/music/datastore/MusicDataStoreTest.java
@@ -80,10 +80,6 @@ public class MusicDataStoreTest {
dataStore = new MusicDataStore(cluster, session);
}
- @Test
- public void testMusicDataStore() {
- //MusicDataStore mds = new MusicDataStore();
- }
@Test
public void testMusicDataStoreClusterSession() {
diff --git a/music-core/src/test/java/org/onap/music/datastore/jsonobjects/JSONObjectTest.java b/music-core/src/test/java/org/onap/music/datastore/jsonobjects/JSONObjectTest.java
new file mode 100644
index 00000000..9fb549d2
--- /dev/null
+++ b/music-core/src/test/java/org/onap/music/datastore/jsonobjects/JSONObjectTest.java
@@ -0,0 +1,54 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * ONAP MUSIC
+ * ===================================================================
+ * Copyright (C) 2020 IBM Intellectual Property. All rights reserved.
+ * ===================================================================
+ *
+ * Unless otherwise specified, all software contained herein is licensed
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this software 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.
+ *
+ * Unless otherwise specified, all documentation contained herein is licensed
+ * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
+ * you may not use this documentation except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://creativecommons.org/licenses/by/4.0/
+ *
+ * Unless required by applicable law or agreed to in writing, documentation
+ * 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.datastore.jsonobjects;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class JSONObjectTest {
+
+ @Test
+ public void testGetData(){
+ JSONObject js=new JSONObject();
+ js.setData("test");
+ assertEquals(js.getData(),"test");
+
+ }
+}
diff --git a/music-core/src/test/java/org/onap/music/datastore/jsonobjects/JsonDeleteTest.java b/music-core/src/test/java/org/onap/music/datastore/jsonobjects/JsonDeleteTest.java
index 0014f823..5b9cef8b 100644
--- a/music-core/src/test/java/org/onap/music/datastore/jsonobjects/JsonDeleteTest.java
+++ b/music-core/src/test/java/org/onap/music/datastore/jsonobjects/JsonDeleteTest.java
@@ -82,4 +82,32 @@ public class JsonDeleteTest {
}
+ @Test
+ public void testGetKeyspaceName() {
+ jd.setKeyspaceName("keyspace");
+ assertEquals("keyspace",jd.getKeyspaceName());
+
+ }
+
+ @Test
+ public void testGetTableName() {
+ jd.setTableName("tablename");
+ assertEquals("tablename",jd.getTableName());
+
+ }
+
+ @Test
+ public void testGetPrimarKeyValue() {
+ jd.setPrimarKeyValue("primarykey");
+ assertEquals("primarykey",jd.getPrimarKeyValue());
+
+ }
+
+ @Test
+ public void testRowIdString() {
+ StringBuilder builder = new StringBuilder("testing");
+ jd.setRowIdString(builder);
+ assertEquals(jd.getRowIdString().toString(),builder.toString());
+ }
+
}
diff --git a/music-core/src/test/java/org/onap/music/datastore/jsonobjects/JsonSelectTest.java b/music-core/src/test/java/org/onap/music/datastore/jsonobjects/JsonSelectTest.java
index 21c022ab..baada1d5 100644
--- a/music-core/src/test/java/org/onap/music/datastore/jsonobjects/JsonSelectTest.java
+++ b/music-core/src/test/java/org/onap/music/datastore/jsonobjects/JsonSelectTest.java
@@ -33,10 +33,10 @@ import java.util.Map;
import org.junit.Test;
public class JsonSelectTest {
+ JsonSelect js = new JsonSelect();
@Test
public void testGetConsistencyInfo() {
- JsonSelect js = new JsonSelect();
Map<String, String> mapSs = new HashMap<>();
mapSs.put("k1", "one");
js.setConsistencyInfo(mapSs);
@@ -45,11 +45,24 @@ public class JsonSelectTest {
@Test
public void testSerialize() throws IOException {
- JsonSelect js = new JsonSelect();
Map<String, String> mapSs = new HashMap<>();
mapSs.put("Key", "Value");
js.setConsistencyInfo(mapSs);
js.serialize();
}
+ @Test
+ public void testGetKeyspaceName() {
+ js.setKeyspaceName("testkeyspace");
+ assertEquals("testkeyspace",js.getKeyspaceName());
+
+ }
+
+ @Test
+ public void testGetTableName() {
+ js.setTableName("testkeyspace");
+ assertEquals("testkeyspace",js.getTableName());
+
+ }
+
}
diff --git a/music-core/src/test/java/org/onap/music/datastore/jsonobjects/RowIdentifierTest.java b/music-core/src/test/java/org/onap/music/datastore/jsonobjects/RowIdentifierTest.java
new file mode 100644
index 00000000..e29f0377
--- /dev/null
+++ b/music-core/src/test/java/org/onap/music/datastore/jsonobjects/RowIdentifierTest.java
@@ -0,0 +1,60 @@
+/*-
+ * ============LICENSE_START==========================================
+ * ONAP MUSIC
+ * ===================================================================
+ * Copyright (C) 2020 IBM Intellectual Property. All rights reserved.
+ * ===================================================================
+ *
+ * Unless otherwise specified, all software contained herein is licensed
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this software 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.
+ *
+ * Unless otherwise specified, all documentation contained herein is licensed
+ * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
+ * you may not use this documentation except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://creativecommons.org/licenses/by/4.0/
+ *
+ * Unless required by applicable law or agreed to in writing, documentation
+ * 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.datastore.jsonobjects;
+
+import org.onap.music.datastore.PreparedQueryObject;
+import org.onap.music.datastore.jsonobjects.JsonUpdate;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class RowIdentifierTest {
+ String primarykey="primarykey";
+ String rowIdString="123";
+ PreparedQueryObject queryObject=new PreparedQueryObject("select * from employee");
+ JsonUpdate ju=new JsonUpdate();
+ JsonUpdate.RowIdentifier rowId= ju.new RowIdentifier(primarykey,rowIdString,queryObject);
+ @Test
+ public void testConstructor(){
+ rowId.setPrimaryKeyValue(primarykey);
+ rowId.setRowIdString(rowIdString);
+ assertEquals(rowId.getPrimaryKeyValue(),"primarykey");
+ assertEquals(rowId.getRowIdString(),"123");
+ }
+}
diff --git a/music-rest/src/test/java/org/onap/music/eelf/logging/MusicContainerFilterTest.java b/music-rest/src/test/java/org/onap/music/eelf/logging/MusicContainerFilterTest.java
new file mode 100644
index 00000000..cd7a9ca4
--- /dev/null
+++ b/music-rest/src/test/java/org/onap/music/eelf/logging/MusicContainerFilterTest.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * ============LICENSE_START==========================================
+ * org.onap.music
+ * ===================================================================
+ * Copyright (c) 2019 AT&T Intellectual Property
+ * ===================================================================
+ * Modifications Copyright (C) 2020 IBM.
+ * ===================================================================
+ * 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.eelf.logging;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.ws.rs.container.ContainerRequestContext;
+import javax.ws.rs.container.ContainerResponseContext;
+import javax.ws.rs.container.ContainerResponseFilter;
+
+import org.springframework.stereotype.Component;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.onap.music.main.MusicUtil;
+
+public class MusicContainerFilterTest {
+ MusicContainerFilter filter;
+
+ @Before
+ public void setup() throws IOException {
+ filter = new MusicContainerFilter();
+ }
+
+ @Test
+ public void testDoFilter() throws IOException {
+ ContainerResponseFilter fil=Mockito.mock(ContainerResponseFilter.class);
+ ContainerRequestContext req=Mockito.mock(ContainerRequestContext.class);
+ ContainerResponseContext res=Mockito.mock(ContainerResponseContext.class);
+ filter.filter(req,res);
+ }
+
+}