diff options
Diffstat (limited to 'context/context-management')
-rw-r--r-- | context/context-management/src/test/java/org/onap/policy/apex/context/impl/ContextAlbumImplTest.java | 212 |
1 files changed, 63 insertions, 149 deletions
diff --git a/context/context-management/src/test/java/org/onap/policy/apex/context/impl/ContextAlbumImplTest.java b/context/context-management/src/test/java/org/onap/policy/apex/context/impl/ContextAlbumImplTest.java index 51802919c..5aaa8a38a 100644 --- a/context/context-management/src/test/java/org/onap/policy/apex/context/impl/ContextAlbumImplTest.java +++ b/context/context-management/src/test/java/org/onap/policy/apex/context/impl/ContextAlbumImplTest.java @@ -21,10 +21,10 @@ package org.onap.policy.apex.context.impl; +import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; import java.util.LinkedHashMap; import java.util.Map; @@ -33,14 +33,12 @@ import org.junit.BeforeClass; import org.junit.Test; import org.onap.policy.apex.context.ContextAlbum; import org.onap.policy.apex.context.ContextException; -import org.onap.policy.apex.context.ContextRuntimeException; import org.onap.policy.apex.context.Distributor; import org.onap.policy.apex.context.impl.distribution.jvmlocal.JvmLocalDistributor; import org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters; import org.onap.policy.apex.context.parameters.ContextParameterConstants; import org.onap.policy.apex.context.parameters.ContextParameters; import org.onap.policy.apex.context.parameters.SchemaParameters; -import org.onap.policy.apex.model.basicmodel.concepts.ApexRuntimeException; import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey; import org.onap.policy.apex.model.basicmodel.concepts.AxConcept; import org.onap.policy.apex.model.basicmodel.concepts.AxReferenceKey; @@ -93,42 +91,19 @@ public class ContextAlbumImplTest { @Test public void testNullsOnConstructor() { - try { - new ContextAlbumImpl(null, null, null); - fail("this test should throw an exception"); - } catch (IllegalArgumentException e) { - assertEquals("Context album definition may not be null", e.getMessage()); - } catch (ContextException e) { - fail("this test should throw an IllegalArgumentException"); - } - - try { - new ContextAlbumImpl(new AxContextAlbum(), null, null); - fail("this test should throw an exception"); - } catch (IllegalArgumentException e) { - assertEquals("Distributor may not be null", e.getMessage()); - } catch (ContextException e) { - fail("this test should throw an IllegalArgumentException"); - } - - try { - new ContextAlbumImpl(new AxContextAlbum(), new JvmLocalDistributor(), null); - fail("this test should throw an exception"); - } catch (IllegalArgumentException e) { - assertEquals("Album map may not be null", e.getMessage()); - } catch (ContextException e) { - fail("this test should throw an IllegalArgumentException"); - } - - try { - new ContextAlbumImpl(new AxContextAlbum(), new JvmLocalDistributor(), new LinkedHashMap<String, Object>()); - fail("this test should throw an exception"); - } catch (ApexRuntimeException e) { - assertEquals("Model for org.onap.policy.apex.model.contextmodel.concepts.AxContextSchemas " - + "not found in model service", e.getMessage()); - } catch (ContextException e) { - fail("this test should throw an ApexRuntimeException"); - } + assertThatThrownBy(() -> new ContextAlbumImpl(null, null, null)) + .hasMessage("Context album definition may not be null"); + + assertThatThrownBy(() -> new ContextAlbumImpl(new AxContextAlbum(), null, null)) + .hasMessage("Distributor may not be null"); + + assertThatThrownBy(() -> new ContextAlbumImpl(new AxContextAlbum(), new JvmLocalDistributor(), null)) + .hasMessage("Album map may not be null"); + + assertThatThrownBy(() -> new ContextAlbumImpl(new AxContextAlbum(), new JvmLocalDistributor(), + new LinkedHashMap<String, Object>())) + .hasMessage("Model for org.onap.policy.apex.model.contextmodel.concepts.AxContextSchemas " + + "not found in model service"); } @Test @@ -142,107 +117,63 @@ public class ContextAlbumImplTest { AxContextAlbum axContextAlbum = new AxContextAlbum(new AxArtifactKey("TestContextAlbum", "0.0.1"), "Policy", true, AxArtifactKey.getNullKey()); - try { - new ContextAlbumImpl(axContextAlbum, new JvmLocalDistributor(), new LinkedHashMap<String, Object>()); - fail("this test should throw an exception"); - } catch (ContextException e) { - assertEquals("could not initiate schema management for context album AxContextAlbum", - e.getMessage().substring(0, 69)); - } + assertThatThrownBy(() -> new ContextAlbumImpl(axContextAlbum, new JvmLocalDistributor(), + new LinkedHashMap<String, Object>())) + .hasMessageContaining("could not initiate schema management for context album AxContextAlbum"); axContextAlbum.setItemSchema(simpleStringSchema.getKey()); Distributor distributor = new JvmLocalDistributor(); distributor.init(axContextAlbum.getKey()); ContextAlbum album = new ContextAlbumImpl(axContextAlbum, distributor, new LinkedHashMap<String, Object>()); - AxContextAlbum axContextAlbumRo = new AxContextAlbum(new AxArtifactKey("TestContextAlbum", "0.0.1"), "Policy", - false, simpleStringSchema.getKey()); - ContextAlbum albumRo = new ContextAlbumImpl(axContextAlbumRo, distributor, new LinkedHashMap<String, Object>()); - assertEquals("TestContextAlbum", album.getName()); assertEquals("TestContextAlbum:0.0.1", album.getKey().getId()); assertEquals("TestContextAlbum:0.0.1", album.getAlbumDefinition().getId()); assertEquals("SimpleStringSchema:0.0.1", album.getSchemaHelper().getSchema().getId()); - try { - album.containsKey(null); - fail("test should throw an exception"); - } catch (ContextRuntimeException e) { - assertEquals("null values are illegal on method parameter \"key\"", e.getMessage()); - } + assertThatThrownBy(() -> album.containsKey(null)) + .hasMessage("null values are illegal on method parameter \"key\""); assertEquals(false, album.containsKey("Key0")); - try { - album.containsValue(null); - fail("test should throw an exception"); - } catch (ContextRuntimeException e) { - assertEquals("null values are illegal on method parameter \"value\"", e.getMessage()); - } + assertThatThrownBy(() -> album.containsValue(null)) + .hasMessage("null values are illegal on method parameter \"value\""); assertEquals(false, album.containsValue("some value")); - try { - album.get(null); - fail("test should throw an exception"); - } catch (ContextRuntimeException e) { - assertEquals("album \"TestContextAlbum:0.0.1\" null keys are illegal on keys for get()", e.getMessage()); - } - - try { - album.put(null, null); - fail("test should throw an exception"); - } catch (ContextRuntimeException e) { - assertEquals("album \"TestContextAlbum:0.0.1\" null keys are illegal on keys for put()", e.getMessage()); - } - - try { - album.put("KeyNull", null); - fail("test should throw an exception"); - } catch (ContextRuntimeException e) { - assertEquals("album \"TestContextAlbum:0.0.1\" null values are illegal on key \"KeyNull\" for put()", - e.getMessage()); - } - - try { - albumRo.put("KeyReadOnly", "A value for a Read Only Album"); - fail("test should throw an exception"); - } catch (ContextRuntimeException e) { - assertEquals("album \"TestContextAlbum:0.0.1\" put() not allowed on read only albums " - + "for key=\"KeyReadOnly\", value=\"A value for a Read Only Album", e.getMessage()); - } + assertThatThrownBy(() -> album.get(null)) + .hasMessage("album \"TestContextAlbum:0.0.1\" null keys are illegal on keys for get()"); + + assertThatThrownBy(() -> album.put(null, null)) + .hasMessage("album \"TestContextAlbum:0.0.1\" null keys are illegal on keys for put()"); + + assertThatThrownBy(() -> album.put("KeyNull", null)) + .hasMessage("album \"TestContextAlbum:0.0.1\" null values are illegal on key \"KeyNull\"" + + " for put()"); + + AxContextAlbum axContextAlbumRo = new AxContextAlbum(new AxArtifactKey("TestContextAlbum", "0.0.1"), "Policy", + false, simpleStringSchema.getKey()); + ContextAlbum albumRo = new ContextAlbumImpl(axContextAlbumRo, distributor, new LinkedHashMap<String, Object>()); + + assertThatThrownBy(() -> albumRo.put("KeyReadOnly", "A value for a Read Only Album")) + .hasMessage("album \"TestContextAlbum:0.0.1\" put() not allowed on read only albums " + + "for key=\"KeyReadOnly\", value=\"A value for a Read Only Album"); Map<String, Object> putAllData = new LinkedHashMap<>(); putAllData.put("AllKey0", "vaue of AllKey0"); putAllData.put("AllKey1", "vaue of AllKey1"); putAllData.put("AllKey2", "vaue of AllKey2"); - try { - albumRo.putAll(putAllData); - fail("test should throw an exception"); - } catch (ContextRuntimeException e) { - assertEquals("album \"TestContextAlbum:0.0.1\" putAll() not allowed on read only albums", e.getMessage()); - } - - try { - albumRo.remove("AllKey0"); - fail("test should throw an exception"); - } catch (ContextRuntimeException e) { - assertEquals("album \"TestContextAlbum:0.0.1\" remove() not allowed " - + "on read only albums for key=\"AllKey0\"", e.getMessage()); - } - - try { - album.remove(null); - fail("test should throw an exception"); - } catch (ContextRuntimeException e) { - assertEquals("null values are illegal on method parameter \"keyID\"", e.getMessage()); - } - - try { - albumRo.clear(); - fail("test should throw an exception"); - } catch (ContextRuntimeException e) { - assertEquals("album \"TestContextAlbum:0.0.1\" clear() not allowed on read only albums", e.getMessage()); - } + assertThatThrownBy(() -> albumRo.putAll(putAllData)) + .hasMessage("album \"TestContextAlbum:0.0.1\" putAll() not allowed on read only albums"); + + assertThatThrownBy(() -> albumRo.remove("AllKey0")) + .hasMessage("album \"TestContextAlbum:0.0.1\" remove() not allowed " + + "on read only albums for key=\"AllKey0\""); + + assertThatThrownBy(() -> album.remove(null)) + .hasMessage("null values are illegal on method parameter \"keyID\""); + + assertThatThrownBy(albumRo::clear) + .hasMessage("album \"TestContextAlbum:0.0.1\" clear() not allowed on read only albums"); // The following locking tests pass because the locking protects access to Key0 across all // copies of the distributed album whether the key exists or not @@ -286,13 +217,8 @@ public class ContextAlbumImplTest { // The flush() operation fails because the distributor is not initialized with the album which // is fine for unit test - try { - album.flush(); - fail("test should throw an exception"); - } catch (ContextException e) { - assertEquals("map flush failed, supplied map is null", e.getMessage()); - } - + assertThatThrownBy(album::flush) + .hasMessage("map flush failed, supplied map is null"); assertEquals(1, album.size()); assertEquals(false, album.isEmpty()); @@ -302,14 +228,9 @@ public class ContextAlbumImplTest { album.putAll(putAllData); putAllData.put("AllKey3", null); - try { - album.putAll(putAllData); - fail("test should throw an exception"); - } catch (ContextRuntimeException e) { - assertEquals("album \"TestContextAlbum:0.0.1\" null values are illegal on key \"AllKey3\" for put()", - e.getMessage()); - } - + assertThatThrownBy(() -> album.putAll(putAllData)) + .hasMessage("album \"TestContextAlbum:0.0.1\" null values are illegal on key " + + "\"AllKey3\" for put()"); assertEquals("New value of Key0", album.remove("Key0")); album.clear(); @@ -353,15 +274,13 @@ public class ContextAlbumImplTest { otherAlbum.put("Key", 123); assertNotEquals(album, otherAlbum); - try { - otherAlbum.put("Key", "BadValue"); - fail("test should throw an exception here"); - } catch (ContextRuntimeException cre) { - assertEquals("Failed to set context value for key \"Key\" in album \"TestContextAlbum:0.0.1\": " + assertThatThrownBy(() -> { + ContextAlbumImpl otherAlbumBad = new ContextAlbumImpl(axContextAlbum, distributor, + new LinkedHashMap<String, Object>()); + otherAlbumBad.put("Key", "BadValue"); + }).hasMessage("Failed to set context value for key \"Key\" in album \"TestContextAlbum:0.0.1\": " + "TestContextAlbum:0.0.1: object \"BadValue\" of class \"java.lang.String\" " - + "not compatible with class \"java.lang.Integer\"", cre.getMessage()); - } - + + "not compatible with class \"java.lang.Integer\""); AxContextAlbum otherAxContextAlbum = new AxContextAlbum(new AxArtifactKey("OtherTestContextAlbum", "0.0.1"), "Policy", true, AxArtifactKey.getNullKey()); @@ -369,13 +288,8 @@ public class ContextAlbumImplTest { otherAlbum = new ContextAlbumImpl(otherAxContextAlbum, distributor, new LinkedHashMap<String, Object>()); assertNotEquals(album, otherAlbum); - try { - album.flush(); - fail("test should throw an exception here"); - } catch (ContextException ce) { - assertEquals("map flush failed, supplied map is null", ce.getMessage()); - } - + assertThatThrownBy(album::flush) + .hasMessage("map flush failed, supplied map is null"); AxContextAlbums albums = new AxContextAlbums(); ModelService.registerModel(AxContextAlbums.class, albums); albums.getAlbumsMap().put(axContextAlbum.getKey(), axContextAlbum); |