2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2016-2018 Ericsson. All rights reserved.
4 * ================================================================================
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 * SPDX-License-Identifier: Apache-2.0
18 * ============LICENSE_END=========================================================
21 package org.onap.policy.apex.context.test.distribution;
23 import java.util.Collection;
24 import java.util.Date;
25 import java.util.HashMap;
26 import java.util.LinkedHashMap;
27 import java.util.Locale;
29 import java.util.Map.Entry;
31 import java.util.TimeZone;
32 import java.util.TreeSet;
34 import org.onap.policy.apex.context.ContextAlbum;
35 import org.onap.policy.apex.context.ContextException;
36 import org.onap.policy.apex.context.ContextRuntimeException;
37 import org.onap.policy.apex.context.Distributor;
38 import org.onap.policy.apex.context.impl.distribution.DistributorFactory;
39 import org.onap.policy.apex.context.test.concepts.TestContextItem000;
40 import org.onap.policy.apex.context.test.concepts.TestContextItem001;
41 import org.onap.policy.apex.context.test.concepts.TestContextItem002;
42 import org.onap.policy.apex.context.test.concepts.TestContextItem003;
43 import org.onap.policy.apex.context.test.concepts.TestContextItem004;
44 import org.onap.policy.apex.context.test.concepts.TestContextItem005;
45 import org.onap.policy.apex.context.test.concepts.TestContextItem006;
46 import org.onap.policy.apex.context.test.concepts.TestContextItem007;
47 import org.onap.policy.apex.context.test.concepts.TestContextItem008;
48 import org.onap.policy.apex.context.test.concepts.TestContextItem009;
49 import org.onap.policy.apex.context.test.concepts.TestContextItem00A;
50 import org.onap.policy.apex.context.test.concepts.TestContextItem00B;
51 import org.onap.policy.apex.context.test.concepts.TestContextItem00C;
52 import org.onap.policy.apex.context.test.concepts.TestExternalContextItem;
53 import org.onap.policy.apex.context.test.concepts.TestGlobalContextItem;
54 import org.onap.policy.apex.context.test.concepts.TestPolicyContextItem;
55 import org.onap.policy.apex.context.test.factory.TestContextAlbumFactory;
56 import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
57 import org.onap.policy.apex.model.basicmodel.concepts.AxValidationResult;
58 import org.onap.policy.apex.model.contextmodel.concepts.AxContextModel;
59 import org.slf4j.ext.XLogger;
60 import org.slf4j.ext.XLoggerFactory;
63 * The Class TestContextInstantiation is used to test Apex context insitiation is correct.
65 * @author Sergey Sachkov (sergey.sachkov@ericsson.com)
67 public class ContextInstantiation {
68 // Logger for this class
69 private static final XLogger LOGGER = XLoggerFactory.getXLogger(ContextInstantiation.class);
72 * Test context instantiation.
74 * @throws ContextException the context exception
76 // CHECKSTYLE:OFF: checkstyle:MaximumMethodLength
77 public void testContextInstantiation() throws ContextException {
78 // CHECKSTYLE:ON: checkstyle:MaximumMethodLength
79 LOGGER.debug("Running TestContextInstantiation test . . .");
81 final AxArtifactKey distributorKey = new AxArtifactKey("ApexDistributorInit", "0.0.1");
82 Distributor contextDistributor = null;
84 contextDistributor = new DistributorFactory().getDistributor(distributorKey);
85 } catch (final Exception e) {
91 final AxArtifactKey[] usedArtifactStackArray = {
92 new AxArtifactKey("testC-top", "0.0.1"), new AxArtifactKey("testC-next", "0.0.1"),
93 new AxArtifactKey("testC-bot", "0.0.1")
98 // CHECKSTYLE:OFF: checkstyle:magicNumber
99 final AxContextModel policyContextModel = TestContextAlbumFactory.createPolicyContextModel();
100 final AxValidationResult result = new AxValidationResult();
101 policyContextModel.validate(result);
102 LOGGER.debug(result.toString());
103 assert (result.isValid());
105 contextDistributor.registerModel(policyContextModel);
107 final ContextAlbum policyContextAlbum =
108 contextDistributor.createContextAlbum(new AxArtifactKey("PolicyContextAlbum", "0.0.1"));
109 assert (policyContextAlbum != null);
110 policyContextAlbum.setUserArtifactStack(usedArtifactStackArray);
112 final Float testFloat = new Float(3.14159265359);
113 final Date testDate = new Date();
115 final TestContextItem009 tci9 = new TestContextItem009();
116 tci9.setDateValue(new TestContextItem008(testDate));
117 tci9.setTZValue(TimeZone.getTimeZone("Europe/Dublin").getDisplayName());
120 final TestContextItem00A tciA = new TestContextItem00A();
121 tciA.setDateValue(new TestContextItem008(testDate));
122 tciA.setTZValue(TimeZone.getTimeZone("Europe/Dublin").getDisplayName());
124 tciA.setUTCOffset(-600);
125 tciA.setLocale(Locale.ENGLISH);
127 final TreeSet<String> testTreeSet = new TreeSet<>();
128 testTreeSet.add("one hundred");
129 testTreeSet.add("one hundred and one");
130 testTreeSet.add("one hundred and two");
131 testTreeSet.add("one hundred and three");
132 testTreeSet.add("one hundred and four");
134 final Map<String, String> testHashMap = new HashMap<>();
135 testHashMap.put("0", "zero");
136 testHashMap.put("1", "one");
137 testHashMap.put("2", "two");
138 testHashMap.put("3", "three");
139 testHashMap.put("4", "four");
141 final TestContextItem006 testPolicyContextItem000 =
142 new TestContextItem006("This is a policy context string");
143 final TestContextItem003 testPolicyContextItem001 = new TestContextItem003(0xFFFFFFFFFFFFFFFFL);
144 final TestContextItem005 testPolicyContextItem002 = new TestContextItem005(Math.PI);
145 final TestContextItem000 testPolicyContextItem003 = new TestContextItem000(true);
146 final TestContextItem003 testPolicyContextItem004 = new TestContextItem003(testDate.getTime());
147 final TestContextItem00C testPolicyContextItem005 = new TestContextItem00C(testHashMap);
149 final Map<String, Object> valueMapA = new LinkedHashMap<>();
150 valueMapA.put("TestPolicyContextItem001", testPolicyContextItem001);
151 valueMapA.put("TestPolicyContextItem002", testPolicyContextItem002);
152 valueMapA.put("TestPolicyContextItem003", testPolicyContextItem003);
153 valueMapA.put("TestPolicyContextItem004", testPolicyContextItem004);
154 valueMapA.put("TestPolicyContextItem005", testPolicyContextItem005);
155 valueMapA.put("TestPolicyContextItem000", testPolicyContextItem000);
158 policyContextAlbum.put("TestPolicyContextItem000", testPolicyContextItem000);
159 assert ("Test should throw an exception".equals(""));
160 } catch (final ContextRuntimeException e) {
161 assert (e.getMessage().equals(
162 "Failed to set context value for key \"TestPolicyContextItem000\" in album \"PolicyContextAlbum:0.0.1\": "
163 + "PolicyContextAlbum:0.0.1: object \"TestContextItem006 [stringValue=This is a policy context string]\" "
164 + "of class \"org.onap.policy.apex.context.test.concepts.TestContextItem006\""
165 + " not compatible with class \"org.onap.policy.apex.context.test.concepts.TestPolicyContextItem\""));
169 policyContextAlbum.putAll(valueMapA);
170 assert ("Test should throw an exception".equals(""));
171 } catch (final ContextRuntimeException e) {
172 assert (e.getMessage().equals(
173 "Failed to set context value for key \"TestPolicyContextItem001\" in album \"PolicyContextAlbum:0.0.1\": "
174 + "PolicyContextAlbum:0.0.1: object \"TestContextItem003 [longValue=-1]\" "
175 + "of class \"org.onap.policy.apex.context.test.concepts.TestContextItem003\""
176 + " not compatible with class \"org.onap.policy.apex.context.test.concepts.TestPolicyContextItem\""));
179 final TestPolicyContextItem policyContext = new TestPolicyContextItem();
181 LOGGER.debug(policyContextAlbum.toString());
183 policyContext.setTestPolicyContextItem000(testPolicyContextItem000);
184 policyContext.setTestPolicyContextItem001(testPolicyContextItem001);
185 policyContext.setTestPolicyContextItem002(testPolicyContextItem002);
186 policyContext.setTestPolicyContextItem003(testPolicyContextItem003);
187 policyContext.setTestPolicyContextItem004(testPolicyContextItem004);
188 policyContext.setTestPolicyContextItem005(testPolicyContextItem005);
190 final Map<String, Object> valueMap0 = new HashMap<>();
191 valueMap0.put("TestPolicyContextItem", policyContext);
193 policyContextAlbum.putAll(valueMap0);
195 assert (((TestPolicyContextItem) policyContextAlbum.get("TestPolicyContextItem"))
196 .getTestPolicyContextItem000().getStringValue().equals("This is a policy context string"));
197 assert (((TestPolicyContextItem) policyContextAlbum.get("TestPolicyContextItem"))
198 .getTestPolicyContextItem001().getLongValue() == 0xFFFFFFFFFFFFFFFFL);
199 assert (((TestPolicyContextItem) policyContextAlbum.get("TestPolicyContextItem"))
200 .getTestPolicyContextItem002().getDoubleValue() == Math.PI);
201 assert (((TestPolicyContextItem) policyContextAlbum.get("TestPolicyContextItem"))
202 .getTestPolicyContextItem003().getFlag());
203 assert (((TestPolicyContextItem) policyContextAlbum.get("TestPolicyContextItem"))
204 .getTestPolicyContextItem004().getLongValue() == testDate.getTime());
205 assert (((TestPolicyContextItem) policyContextAlbum.get("TestPolicyContextItem"))
206 .getTestPolicyContextItem005().getMapValue().equals(testHashMap));
208 final AxContextModel globalContextModel = TestContextAlbumFactory.createGlobalContextModel();
210 final TestContextItem000 testGlobalContextItem000 = new TestContextItem000(false);
211 final TestContextItem001 testGlobalContextItem001 = new TestContextItem001((byte) 0xFF);
212 final TestContextItem002 testGlobalContextItem002 = new TestContextItem002(0xFFFFFFFF);
213 final TestContextItem003 testGlobalContextItem003 = new TestContextItem003(0xFFFFFFFFFFFFFFFFL);
214 final TestContextItem004 testGlobalContextItem004 = new TestContextItem004(testFloat);
215 final TestContextItem005 testGlobalContextItem005 = new TestContextItem005(Math.PI);
216 final TestContextItem006 testGlobalContextItem006 =
217 new TestContextItem006("This is a global context string");
218 final TestContextItem007 testGlobalContextItem007 = new TestContextItem007(testDate.getTime());
219 final TestContextItem008 testGlobalContextItem008 = new TestContextItem008(testDate);
220 final TestContextItem00B testGlobalContextItem00B = new TestContextItem00B(testTreeSet);
221 final TestContextItem00C testGlobalContextItem00C = new TestContextItem00C(testHashMap);
223 final TestGlobalContextItem globalContext = new TestGlobalContextItem();
225 globalContext.setTestGlobalContextItem000(testGlobalContextItem000);
226 globalContext.setTestGlobalContextItem001(testGlobalContextItem001);
227 globalContext.setTestGlobalContextItem002(testGlobalContextItem002);
228 globalContext.setTestGlobalContextItem003(testGlobalContextItem003);
229 globalContext.setTestGlobalContextItem004(testGlobalContextItem004);
230 globalContext.setTestGlobalContextItem005(testGlobalContextItem005);
231 globalContext.setTestGlobalContextItem006(testGlobalContextItem006);
232 globalContext.setTestGlobalContextItem007(testGlobalContextItem007);
233 globalContext.setTestGlobalContextItem008(testGlobalContextItem008);
234 globalContext.setTestGlobalContextItem009(tci9);
235 globalContext.setTestGlobalContextItem00A(tciA);
236 globalContext.setTestGlobalContextItem00B(testGlobalContextItem00B);
237 globalContext.setTestGlobalContextItem00C(testGlobalContextItem00C);
238 final Map<String, Object> valueMap1 = new HashMap<>();
239 valueMap1.put("globalContext", globalContext);
242 contextDistributor.registerModel(globalContextModel);
243 } catch (final ContextException e) {
244 assert (e.getMessage().equals(
245 "active context albums found in distributor, clear the distributor before registering models"));
248 contextDistributor.registerModel(globalContextModel);
250 final ContextAlbum globalContextAlbum =
251 contextDistributor.createContextAlbum(new AxArtifactKey("GlobalContextAlbum", "0.0.1"));
252 assert (globalContextAlbum != null);
253 globalContextAlbum.setUserArtifactStack(usedArtifactStackArray);
255 globalContextAlbum.putAll(valueMap1);
257 assert (!((TestGlobalContextItem) globalContextAlbum.get("globalContext")).getTestGlobalContextItem000()
259 assert (((TestGlobalContextItem) globalContextAlbum.get("globalContext")).getTestGlobalContextItem001()
260 .getByteValue() == (byte) 0xFF);
261 assert (((TestGlobalContextItem) globalContextAlbum.get("globalContext")).getTestGlobalContextItem002()
262 .getIntValue() == 0xFFFFFFFF);
263 assert (((TestGlobalContextItem) globalContextAlbum.get("globalContext")).getTestGlobalContextItem003()
264 .getLongValue() == 0xFFFFFFFFFFFFFFFFL);
265 assert (((TestGlobalContextItem) globalContextAlbum.get("globalContext")).getTestGlobalContextItem004()
266 .getFloatValue() == testFloat);
267 assert (((TestGlobalContextItem) globalContextAlbum.get("globalContext")).getTestGlobalContextItem005()
268 .getDoubleValue() == Math.PI);
269 assert (((TestGlobalContextItem) globalContextAlbum.get("globalContext")).getTestGlobalContextItem006()
270 .getStringValue().equals("This is a global context string"));
271 assert (((TestGlobalContextItem) globalContextAlbum.get("globalContext")).getTestGlobalContextItem007()
272 .getLongValue() == testDate.getTime());
273 assert (((TestGlobalContextItem) globalContextAlbum.get("globalContext")).getTestGlobalContextItem008()
274 .getDateValue().equals(testDate));
275 assert (((TestGlobalContextItem) globalContextAlbum.get("globalContext")).getTestGlobalContextItem009()
276 .getDateValue().getTime() == tci9.getDateValue().getTime());
277 assert (((TestGlobalContextItem) globalContextAlbum.get("globalContext")).getTestGlobalContextItem00A()
278 .getDateValue().getTime() == tciA.getDateValue().getTime());
279 assert (((TestGlobalContextItem) globalContextAlbum.get("globalContext")).getTestGlobalContextItem00B()
280 .getSetValue().equals(testTreeSet));
281 assert (((TestGlobalContextItem) globalContextAlbum.get("globalContext")).getTestGlobalContextItem00C()
282 .getMapValue().equals(testHashMap));
284 final AxContextModel externalContextModel = TestContextAlbumFactory.createExternalContextModel();
286 final TestExternalContextItem externalContext = new TestExternalContextItem();
288 final TestContextItem000 testExternalContextItem000 = new TestContextItem000(false);
289 final TestContextItem001 testExternalContextItem001 = new TestContextItem001((byte) 0xFF);
290 final TestContextItem002 testExternalContextItem002 = new TestContextItem002(0xFFFFFFFF);
291 final TestContextItem003 testExternalContextItem003 = new TestContextItem003(0xFFFFFFFFFFFFFFFFL);
292 final TestContextItem004 testExternalContextItem004 = new TestContextItem004(testFloat);
293 final TestContextItem005 testExternalContextItem005 = new TestContextItem005(Math.PI);
294 final TestContextItem006 testExternalContextItem006 =
295 new TestContextItem006("This is an external context string");
296 final TestContextItem007 testExternalContextItem007 = new TestContextItem007(testDate.getTime());
297 final TestContextItem008 testExternalContextItem008 = new TestContextItem008(testDate);
298 final TestContextItem00B testExternalContextItem00B = new TestContextItem00B(testTreeSet);
299 final TestContextItem00C testExternalContextItem00C = new TestContextItem00C(testHashMap);
301 final TestContextItem009 tci9A = new TestContextItem009(tci9);
302 final TestContextItem00A tciAA = new TestContextItem00A(tciA);
304 externalContext.setTestExternalContextItem000(testExternalContextItem000);
305 externalContext.setTestExternalContextItem001(testExternalContextItem001);
306 externalContext.setTestExternalContextItem002(testExternalContextItem002);
307 externalContext.setTestExternalContextItem003(testExternalContextItem003);
308 externalContext.setTestExternalContextItem004(testExternalContextItem004);
309 externalContext.setTestExternalContextItem005(testExternalContextItem005);
310 externalContext.setTestExternalContextItem006(testExternalContextItem006);
311 externalContext.setTestExternalContextItem007(testExternalContextItem007);
312 externalContext.setTestExternalContextItem008(testExternalContextItem008);
313 externalContext.setTestExternalContextItem009(tci9A);
314 externalContext.setTestExternalContextItem00A(tciAA);
315 externalContext.setTestExternalContextItem00B(testExternalContextItem00B);
316 externalContext.setTestExternalContextItem00C(testExternalContextItem00C);
318 final Map<String, Object> valueMap2 = new HashMap<>();
319 valueMap2.put("externalContext", externalContext);
321 contextDistributor.clear();
322 contextDistributor.init(new AxArtifactKey("ClearedandInittedDistributor", "0.0.1"));
323 contextDistributor.registerModel(externalContextModel);
325 final ContextAlbum externalContextAlbum =
326 contextDistributor.createContextAlbum(new AxArtifactKey("ExternalContextAlbum", "0.0.1"));
327 assert (externalContextAlbum != null);
328 externalContextAlbum.setUserArtifactStack(usedArtifactStackArray);
330 externalContextAlbum.putAll(valueMap2);
331 externalContextAlbum.getAlbumDefinition().setWritable(false);
333 assert (!((TestExternalContextItem) externalContextAlbum.get("externalContext"))
334 .getTestExternalContextItem000().getFlag());
335 assert (((TestExternalContextItem) externalContextAlbum.get("externalContext"))
336 .getTestExternalContextItem001().getByteValue() == (byte) 0xFF);
337 assert (((TestExternalContextItem) externalContextAlbum.get("externalContext"))
338 .getTestExternalContextItem002().getIntValue() == 0xFFFFFFFF);
339 assert (((TestExternalContextItem) externalContextAlbum.get("externalContext"))
340 .getTestExternalContextItem003().getLongValue() == 0xFFFFFFFFFFFFFFFFL);
341 assert (((TestExternalContextItem) externalContextAlbum.get("externalContext"))
342 .getTestExternalContextItem004().getFloatValue() == testFloat);
343 assert (((TestExternalContextItem) externalContextAlbum.get("externalContext"))
344 .getTestExternalContextItem005().getDoubleValue() == Math.PI);
345 assert (((TestExternalContextItem) externalContextAlbum.get("externalContext"))
346 .getTestExternalContextItem006().getStringValue().equals("This is an external context string"));
347 assert (((TestExternalContextItem) externalContextAlbum.get("externalContext"))
348 .getTestExternalContextItem007().getLongValue() == testDate.getTime());
349 assert (((TestExternalContextItem) externalContextAlbum.get("externalContext"))
350 .getTestExternalContextItem008().getDateValue().equals(testDate));
351 assert (((TestExternalContextItem) externalContextAlbum.get("externalContext"))
352 .getTestExternalContextItem009().getDateValue().getTime() == tci9A.getDateValue().getTime());
353 assert (((TestExternalContextItem) externalContextAlbum.get("externalContext"))
354 .getTestExternalContextItem00A().getDateValue().getTime() == tciAA.getDateValue().getTime());
355 assert (((TestExternalContextItem) externalContextAlbum.get("externalContext"))
356 .getTestExternalContextItem00B().getSetValue().equals(testTreeSet));
357 assert (((TestExternalContextItem) externalContextAlbum.get("externalContext"))
358 .getTestExternalContextItem00C().getMapValue().equals(testHashMap));
360 final Collection<Object> mapValues = externalContextAlbum.values();
361 assert (externalContextAlbum.values().containsAll(mapValues));
363 // Check that clearing does not work
365 externalContextAlbum.clear();
366 assert ("Test should throw an exception".equals(""));
367 } catch (final ContextRuntimeException e) {
368 assert (e.getMessage()
369 .equals("album \"ExternalContextAlbum:0.0.1\" clear() not allowed on read only albums"));
372 assert (externalContextAlbum.size() == 1);
375 externalContextAlbum.containsKey(null);
376 } catch (final ContextRuntimeException e) {
377 assert (e.getMessage().equals("null values are illegal on method parameter \"key\""));
380 assert (externalContextAlbum.containsKey("externalContext"));
381 assert (!externalContextAlbum.containsKey("globalContext"));
384 externalContextAlbum.containsValue(null);
385 } catch (final ContextRuntimeException e) {
386 assert (e.getMessage().equals("null values are illegal on method parameter \"value\""));
389 assert (externalContextAlbum.containsValue(externalContext));
390 assert (!externalContextAlbum.containsValue(new String("Hello")));
392 final Set<Entry<String, Object>> entrySet = externalContextAlbum.entrySet();
393 assert (entrySet.size() == 1);
396 externalContextAlbum.get(null);
397 } catch (final ContextRuntimeException e) {
398 assert (e.getMessage()
399 .equals("album \"ExternalContextAlbum:0.0.1\" null keys are illegal on keys for get()"));
402 final Object aObject = externalContextAlbum.get("externalContext");
403 assert (aObject.equals(externalContext));
405 // put null keys should fail, throws a runtime exception
407 externalContextAlbum.put(null, null);
408 } catch (final ContextRuntimeException e) {
409 assert (e.getMessage()
410 .equals("album \"ExternalContextAlbum:0.0.1\" null keys are illegal on keys for put()"));
414 externalContextAlbum.put("TestExternalContextItem00A", null);
415 } catch (final ContextRuntimeException e) {
416 assert (e.getMessage().equals(
417 "album \"ExternalContextAlbum:0.0.1\" null values are illegal on key \"TestExternalContextItem00A\" for put()"));
419 assert (((TestExternalContextItem) externalContextAlbum.get("externalContext"))
420 .getTestExternalContextItem00A().equals(tciAA));
422 // Should return the hash set
423 assert (((TestExternalContextItem) externalContextAlbum.get("externalContext"))
424 .getTestExternalContextItem00B().getSetValue().equals(testTreeSet));
426 assert (externalContextAlbum.values().containsAll(mapValues));
428 // Set the write flag back as it should be
429 externalContextAlbum.getAlbumDefinition().setWritable(true);
431 // Put should return the previous contextItem
432 final TestExternalContextItem externalContextOther = new TestExternalContextItem();
433 externalContextOther.setTestExternalContextItem002(new TestContextItem002());
434 externalContextOther.getTestExternalContextItem002().setIntValue(2000);
436 assert (externalContextAlbum.put("externalContext", externalContextOther).equals(externalContext));
437 assert (((TestExternalContextItem) externalContextAlbum.get("externalContext"))
438 .getTestExternalContextItem002().getIntValue() == 2000);
439 assert (externalContextAlbum.put("externalContext", externalContext).equals(externalContextOther));
440 assert (((TestExternalContextItem) externalContextAlbum.get("externalContext"))
441 .getTestExternalContextItem002().getIntValue() == -1);
444 externalContextAlbum.put("TestExternalContextItem00A", null);
445 } catch (final ContextRuntimeException e) {
446 assert (e.getMessage().equals(
447 "album \"ExternalContextAlbum:0.0.1\" null values are illegal on key \"TestExternalContextItem00A\" for put()"));
449 assert (externalContextAlbum.get("externalContext").equals(externalContext));
452 externalContextAlbum.put("TestExternalContextItemFFF", null);
453 } catch (final ContextRuntimeException e) {
454 assert (e.getMessage().equals(
455 "album \"ExternalContextAlbum:0.0.1\" null values are illegal on key \"TestExternalContextItemFFF\" for put()"));
457 assert (externalContextAlbum.size() == 1);
460 externalContextAlbum.put("TestExternalContextItemFFF", null);
461 } catch (final ContextRuntimeException e) {
462 assert (e.getMessage().equals(
463 "album \"ExternalContextAlbum:0.0.1\" null values are illegal on key \"TestExternalContextItemFFF\" for put()"));
465 assert (externalContextAlbum.size() == 1);
467 // Should ignore remove
468 externalContextAlbum.remove("TestExternalContextItem017");
469 assert (externalContextAlbum.size() == 1);
471 assert (externalContextAlbum.values().size() == 1);
472 assert (externalContextAlbum.values().containsAll(mapValues));
473 // CHECKSTYLE:ON: checkstyle:magicNumber
474 } catch (final Exception e) {
476 contextDistributor.clear();
477 assert ("Test has failed".equals(""));
481 contextDistributor.clear();
482 } catch (final Exception e) {
484 assert ("Test has failed".equals(""));