diff options
Diffstat (limited to 'src/test/java')
5 files changed, 578 insertions, 0 deletions
diff --git a/src/test/java/org/onap/aai/datarouter/entity/POAServiceInstanceEntityTest.java b/src/test/java/org/onap/aai/datarouter/entity/POAServiceInstanceEntityTest.java new file mode 100644 index 0000000..1f3db97 --- /dev/null +++ b/src/test/java/org/onap/aai/datarouter/entity/POAServiceInstanceEntityTest.java @@ -0,0 +1,281 @@ +/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2017-2018 Amdocs
+ * ================================================================================
+ * 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.aai.datarouter.entity;
+
+import static org.junit.Assert.assertEquals;
+
+import javax.ws.rs.core.Response.Status;
+import org.junit.Assert;
+import org.junit.Test;
+import org.onap.aai.datarouter.exception.POAAuditException;
+
+public class POAServiceInstanceEntityTest {
+
+ @Test
+ public void testPOAServiceInstanceEntity(){
+ String svcInstanceId = "24602405-7714-4c64-81da-9e182a3eba59";
+ String modelVersionId = "2f836857-d399-4de3-a6f8-e4a09d3017eb";
+ String modelInvariantId = "8c383ba3-20c3-4196-b092-c8c007ef7ddc";
+ String customerId = "global-customer-01";
+ String serviceType = "vFW";
+ String xFromAppId ="REST-client";
+ String xTransactionId = "aaa111cccc4444";
+
+ POAServiceInstanceEntity svcEntity= new POAServiceInstanceEntity();
+ svcEntity.setServiceInstanceId(svcInstanceId);
+ svcEntity.setModelVersionId(modelVersionId);
+ svcEntity.setModelInvariantId(modelInvariantId);
+ svcEntity.setCustomerId(customerId);
+ svcEntity.setServiceType(serviceType);
+ svcEntity.setxFromAppId(xFromAppId);
+ svcEntity.setxTransactionId(xTransactionId);
+
+ Assert.assertEquals(svcInstanceId, svcEntity.getServiceInstanceId());
+ Assert.assertEquals(modelVersionId, svcEntity.getModelVersionId());
+ Assert.assertEquals(modelInvariantId, svcEntity.getModelInvariantId());
+
+ Assert.assertEquals(customerId, svcEntity.getCustomerId());
+ Assert.assertEquals(serviceType, svcEntity.getServiceType());
+ Assert.assertEquals(xFromAppId, svcEntity.getxFromAppId());
+ Assert.assertEquals(xTransactionId, svcEntity.getxTransactionId());
+
+ }
+
+ @Test
+ public void testNullServiceInstanceId() throws POAAuditException {
+ String modelVersionId = "2f836857-d399-4de3-a6f8-e4a09d3017eb";
+ String modelInvariantId = "8c383ba3-20c3-4196-b092-c8c007ef7ddc";
+ String customerId = "global-customer-01";
+ String serviceType = "vFW";
+
+ POAServiceInstanceEntity svcEntity= new POAServiceInstanceEntity();
+ svcEntity.setServiceInstanceId(null);
+ svcEntity.setModelVersionId(modelVersionId);
+ svcEntity.setModelInvariantId(modelInvariantId);
+ svcEntity.setCustomerId(customerId);
+ svcEntity.setServiceType(serviceType);
+
+ try {
+ svcEntity.validate();
+ } catch (POAAuditException e) {
+ assertEquals(Status.BAD_REQUEST, e.getHttpStatus());
+ }
+ }
+
+
+ @Test
+ public void testEmptyServiceInstanceId() throws POAAuditException {
+ String modelVersionId = "2f836857-d399-4de3-a6f8-e4a09d3017eb";
+ String modelInvariantId = "8c383ba3-20c3-4196-b092-c8c007ef7ddc";
+ String customerId = "global-customer-01";
+ String serviceType = "vFW";
+
+ POAServiceInstanceEntity svcEntity= new POAServiceInstanceEntity();
+ svcEntity.setServiceInstanceId("");
+ svcEntity.setModelVersionId(modelVersionId);
+ svcEntity.setModelInvariantId(modelInvariantId);
+ svcEntity.setCustomerId(customerId);
+ svcEntity.setServiceType(serviceType);
+
+ try {
+ svcEntity.validate();
+ } catch (POAAuditException e) {
+ assertEquals(Status.BAD_REQUEST, e.getHttpStatus());
+ }
+ }
+
+
+ @Test
+ public void testNullModelVersionId() throws POAAuditException {
+ String svcInstanceId = "24602405-7714-4c64-81da-9e182a3eba59";
+ String modelInvariantId = "8c383ba3-20c3-4196-b092-c8c007ef7ddc";
+ String customerId = "global-customer-01";
+ String serviceType = "vFW";
+
+ POAServiceInstanceEntity svcEntity= new POAServiceInstanceEntity();
+ svcEntity.setServiceInstanceId(svcInstanceId);
+ svcEntity.setModelVersionId(null);
+ svcEntity.setModelInvariantId(modelInvariantId);
+ svcEntity.setCustomerId(customerId);
+ svcEntity.setServiceType(serviceType);
+
+ try {
+ svcEntity.validate();
+ } catch (POAAuditException e) {
+ assertEquals(Status.BAD_REQUEST, e.getHttpStatus());
+ }
+ }
+
+ @Test
+ public void testEmptyModelVersionId() throws POAAuditException {
+ String svcInstanceId = "24602405-7714-4c64-81da-9e182a3eba59";
+ String modelInvariantId = "8c383ba3-20c3-4196-b092-c8c007ef7ddc";
+ String customerId = "global-customer-01";
+ String serviceType = "vFW";
+
+ POAServiceInstanceEntity svcEntity= new POAServiceInstanceEntity();
+ svcEntity.setServiceInstanceId(svcInstanceId);
+ svcEntity.setModelVersionId("");
+ svcEntity.setModelInvariantId(modelInvariantId);
+ svcEntity.setCustomerId(customerId);
+ svcEntity.setServiceType(serviceType);
+
+ try {
+ svcEntity.validate();
+ } catch (POAAuditException e) {
+ assertEquals(Status.BAD_REQUEST, e.getHttpStatus());
+ }
+ }
+
+
+ @Test
+ public void testNullModelInvariantId() throws POAAuditException {
+ String svcInstanceId = "24602405-7714-4c64-81da-9e182a3eba59";
+ String modelVersionId = "2f836857-d399-4de3-a6f8-e4a09d3017eb";
+ String customerId = "global-customer-01";
+ String serviceType = "vFW";
+
+ POAServiceInstanceEntity svcEntity= new POAServiceInstanceEntity();
+ svcEntity.setServiceInstanceId(svcInstanceId);
+ svcEntity.setModelVersionId(modelVersionId);
+ svcEntity.setModelInvariantId(null);
+ svcEntity.setCustomerId(customerId);
+ svcEntity.setServiceType(serviceType);
+
+ try {
+ svcEntity.validate();
+ } catch (POAAuditException e) {
+ assertEquals(Status.BAD_REQUEST, e.getHttpStatus());
+ }
+ }
+
+
+ @Test
+ public void testEmptyModelInvariantId() throws POAAuditException {
+ String svcInstanceId = "24602405-7714-4c64-81da-9e182a3eba59";
+ String modelVersionId = "2f836857-d399-4de3-a6f8-e4a09d3017eb";
+ String customerId = "global-customer-01";
+ String serviceType = "vFW";
+
+ POAServiceInstanceEntity svcEntity= new POAServiceInstanceEntity();
+ svcEntity.setServiceInstanceId(svcInstanceId);
+ svcEntity.setModelVersionId(modelVersionId);
+ svcEntity.setModelInvariantId("");
+ svcEntity.setCustomerId(customerId);
+ svcEntity.setServiceType(serviceType);
+
+ try {
+ svcEntity.validate();
+ } catch (POAAuditException e) {
+ assertEquals(Status.BAD_REQUEST, e.getHttpStatus());
+ }
+ }
+
+ @Test
+ public void testNullServiceType() throws POAAuditException {
+ String svcInstanceId = "24602405-7714-4c64-81da-9e182a3eba59";
+ String modelVersionId = "2f836857-d399-4de3-a6f8-e4a09d3017eb";
+ String modelInvariantId = "8c383ba3-20c3-4196-b092-c8c007ef7ddc";
+ String customerId = "global-customer-01";
+
+
+ POAServiceInstanceEntity svcEntity= new POAServiceInstanceEntity();
+ svcEntity.setServiceInstanceId(svcInstanceId);
+ svcEntity.setModelVersionId(modelVersionId);
+ svcEntity.setModelInvariantId(modelInvariantId);
+ svcEntity.setCustomerId(customerId);
+ svcEntity.setServiceType(null);
+
+ try {
+ svcEntity.validate();
+ } catch (POAAuditException e) {
+ assertEquals(Status.BAD_REQUEST, e.getHttpStatus());
+ }
+ }
+
+
+ @Test
+ public void testEmptyServiceType() throws POAAuditException {
+ String svcInstanceId = "24602405-7714-4c64-81da-9e182a3eba59";
+ String modelVersionId = "2f836857-d399-4de3-a6f8-e4a09d3017eb";
+ String modelInvariantId = "8c383ba3-20c3-4196-b092-c8c007ef7ddc";
+ String customerId = "global-customer-01";
+
+
+ POAServiceInstanceEntity svcEntity= new POAServiceInstanceEntity();
+ svcEntity.setServiceInstanceId(svcInstanceId);
+ svcEntity.setModelVersionId(modelVersionId);
+ svcEntity.setModelInvariantId(modelInvariantId);
+ svcEntity.setCustomerId(customerId);
+ svcEntity.setServiceType("");
+
+ try {
+ svcEntity.validate();
+ } catch (POAAuditException e) {
+ assertEquals(Status.BAD_REQUEST, e.getHttpStatus());
+ }
+ }
+
+
+ @Test
+ public void testNullCustomerId() throws POAAuditException {
+ String svcInstanceId = "24602405-7714-4c64-81da-9e182a3eba59";
+ String modelVersionId = "2f836857-d399-4de3-a6f8-e4a09d3017eb";
+ String modelInvariantId = "8c383ba3-20c3-4196-b092-c8c007ef7ddc";
+ String serviceType = "vFW";
+
+ POAServiceInstanceEntity svcEntity= new POAServiceInstanceEntity();
+ svcEntity.setServiceInstanceId(svcInstanceId);
+ svcEntity.setModelVersionId(modelVersionId);
+ svcEntity.setModelInvariantId(modelInvariantId);
+ svcEntity.setCustomerId(null);
+ svcEntity.setServiceType(serviceType);
+
+ try {
+ svcEntity.validate();
+ } catch (POAAuditException e) {
+ assertEquals(Status.BAD_REQUEST, e.getHttpStatus());
+ }
+ }
+
+
+ @Test
+ public void testEmptyCustomerId() throws POAAuditException {
+ String svcInstanceId = "24602405-7714-4c64-81da-9e182a3eba59";
+ String modelVersionId = "2f836857-d399-4de3-a6f8-e4a09d3017eb";
+ String modelInvariantId = "8c383ba3-20c3-4196-b092-c8c007ef7ddc";
+ String serviceType = "vFW";
+
+ POAServiceInstanceEntity svcEntity= new POAServiceInstanceEntity();
+ svcEntity.setServiceInstanceId(svcInstanceId);
+ svcEntity.setModelVersionId(modelVersionId);
+ svcEntity.setModelInvariantId(modelInvariantId);
+ svcEntity.setCustomerId("");
+ svcEntity.setServiceType(serviceType);
+
+ try {
+ svcEntity.validate();
+ } catch (POAAuditException e) {
+ assertEquals(Status.BAD_REQUEST, e.getHttpStatus());
+ }
+ }
+
+}
diff --git a/src/test/java/org/onap/aai/datarouter/exception/POAAuditExceptionTest.java b/src/test/java/org/onap/aai/datarouter/exception/POAAuditExceptionTest.java new file mode 100644 index 0000000..d5d4377 --- /dev/null +++ b/src/test/java/org/onap/aai/datarouter/exception/POAAuditExceptionTest.java @@ -0,0 +1,53 @@ +/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2017-2018 Amdocs
+ * ================================================================================
+ * 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.aai.datarouter.exception;
+
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.Status;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.onap.aai.datarouter.logging.DataRouterMsgs;
+
+public class POAAuditExceptionTest {
+
+ @Test
+ public void testPOAAuditExceptionWith400() {
+ String error = "Missing attribute: serviceInstanceId ";
+
+ POAAuditException exception1 = new POAAuditException(error, Status.BAD_REQUEST, DataRouterMsgs.BAD_REST_REQUEST, error);
+ Assert.assertEquals(Response.Status.BAD_REQUEST, exception1.getHttpStatus());
+ Assert.assertEquals(DataRouterMsgs.BAD_REST_REQUEST, exception1.getLogCode());
+ }
+
+
+ @Test
+ public void testPOAAuditExceptionWith500() {
+ String error = "Failed to to create event publisher ";
+ String OPERATION = "POST to DMaaP";
+ POAAuditException exception1 = new POAAuditException(error, Status.INTERNAL_SERVER_ERROR, DataRouterMsgs.EXCEPTION_DURING_METHOD_CALL, OPERATION);
+
+ Assert.assertEquals(Response.Status.INTERNAL_SERVER_ERROR, exception1.getHttpStatus());
+ Assert.assertEquals(DataRouterMsgs.EXCEPTION_DURING_METHOD_CALL, exception1.getLogCode());
+ }
+
+
+}
diff --git a/src/test/java/org/onap/aai/datarouter/policy/ServiceIntegrityValidationPolicyStubbed.java b/src/test/java/org/onap/aai/datarouter/policy/ServiceIntegrityValidationPolicyStubbed.java new file mode 100644 index 0000000..163801f --- /dev/null +++ b/src/test/java/org/onap/aai/datarouter/policy/ServiceIntegrityValidationPolicyStubbed.java @@ -0,0 +1,67 @@ +/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2017-2018 Amdocs
+ * ================================================================================
+ * 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.aai.datarouter.policy;
+
+
+public class ServiceIntegrityValidationPolicyStubbed extends ServiceIntegrityValidationPolicy{
+
+ private InMemorySearchDatastore searchDb;
+
+ public ServiceIntegrityValidationPolicyStubbed(String searchCertPath, String searchCertTruststore,
+ String searchCertPassword, String searchBaseURL, String endpoint, String validationIndexName,
+ String violationIndexName) {
+ super(searchCertPath, searchCertTruststore, searchCertPassword, searchBaseURL, endpoint, validationIndexName,
+ violationIndexName);
+
+ }
+
+
+ public InMemorySearchDatastore getSearchDb() {
+ return searchDb;
+ }
+
+
+ public ServiceIntegrityValidationPolicyStubbed withSearchDb(InMemorySearchDatastore searchDb) {
+ this.searchDb = searchDb;
+ return this;
+ }
+
+
+ public void handleSearchDataServiceOperation(String index, String id, String payload, String action) {
+
+ //Stub out the actual call to Search Data service and instead store/update documents in memory
+ try {
+ switch (action.toLowerCase()) {
+ case "put":
+ searchDb.put(index, payload); // validation message
+ break;
+ case "post":
+ searchDb.put(index, payload); // violation message
+ break;
+
+ default:
+ break;
+ }
+ } catch (Exception ex) {
+ }
+
+ }
+}
diff --git a/src/test/java/org/onap/aai/datarouter/policy/ServiceIntegrityValidationPolicyTest.java b/src/test/java/org/onap/aai/datarouter/policy/ServiceIntegrityValidationPolicyTest.java new file mode 100644 index 0000000..0f0ee80 --- /dev/null +++ b/src/test/java/org/onap/aai/datarouter/policy/ServiceIntegrityValidationPolicyTest.java @@ -0,0 +1,112 @@ +/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2017-2018 Amdocs
+ * ================================================================================
+ * 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.aai.datarouter.policy;
+
+import static org.junit.Assert.*;
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Matchers.anyString;
+
+import java.io.File;
+import java.io.FileInputStream;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.Message;
+import org.apache.commons.io.IOUtils;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.aai.datarouter.policy.EntityEventPolicy;
+import org.onap.aai.datarouter.policy.EntityEventPolicyConfig;
+import org.onap.aai.datarouter.util.NodeUtils;
+import org.onap.aai.datarouter.util.SearchServiceAgent;
+import org.powermock.api.mockito.PowerMockito;
+
+
+public class ServiceIntegrityValidationPolicyTest {
+ private ServiceIntegrityValidationPolicy policy;
+ private String eventJson;
+ private String validationJson;
+ private String violationjson;
+
+ private InMemorySearchDatastore searchDb;
+
+ @SuppressWarnings("unchecked")
+ @Before
+ public void init() throws Exception {
+
+ String searchCertPath = "";
+ String searchCertTruststore ="";
+ String searchCertPassword = "password";
+ String searchBaseURL = "";
+ String endpoint = "services/search-data-service/v1/search/indexes/";
+ String validationIndexName = "service-validations";
+ String violationIndexName = "service-violations";
+
+
+ searchDb = new InMemorySearchDatastore();
+ policy = new ServiceIntegrityValidationPolicyStubbed(searchCertPath, searchCertTruststore,
+ searchCertPassword, searchBaseURL, endpoint, validationIndexName, violationIndexName).withSearchDb(searchDb);
+
+ FileInputStream event = new FileInputStream( new File("src/test/resources/poa_audit_result.json"));
+ eventJson = IOUtils.toString(event, "UTF-8");
+
+ FileInputStream validation = new FileInputStream( new File("src/test/resources/poa_auditservice_validation.json"));
+ validationJson = IOUtils.toString(validation, "UTF-8");
+
+ FileInputStream violation = new FileInputStream( new File("src/test/resources/poa_auditservice_violation.json"));
+ violationjson = IOUtils.toString(violation, "UTF-8");
+
+
+ }
+
+ @Test
+ public void testProcess() throws Exception {
+
+ policy.process(getExchangeEvent(validationJson));
+ policy.process(getExchangeEvent(violationjson));
+
+ assertNotNull(searchDb.get("service-validations"));
+ assertNotNull(searchDb.get("service-violations"));
+
+ }
+
+
+
+ private Exchange getExchangeEvent(String outputJson){
+
+ Exchange exchange = PowerMockito.mock(Exchange.class);
+ Message inMessage = PowerMockito.mock(Message.class);
+ Message outMessage = PowerMockito.mock(Message.class);
+ PowerMockito.when(exchange.getIn()).thenReturn(inMessage);
+ PowerMockito.when(inMessage.getBody()).thenReturn(eventJson);
+
+ PowerMockito.when(exchange.getOut()).thenReturn(outMessage);
+ PowerMockito.when(outMessage.getBody()).thenReturn(outputJson);
+
+ PowerMockito.doNothing().when(outMessage).setBody(anyObject());
+ PowerMockito.doNothing().when(outMessage).setHeader(anyString(), anyObject());
+
+ return exchange;
+
+ }
+
+
+
+}
diff --git a/src/test/java/org/onap/aai/datarouter/service/AuditServiceTest.java b/src/test/java/org/onap/aai/datarouter/service/AuditServiceTest.java new file mode 100644 index 0000000..334ff48 --- /dev/null +++ b/src/test/java/org/onap/aai/datarouter/service/AuditServiceTest.java @@ -0,0 +1,65 @@ +/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2017-2018 Amdocs
+ * ================================================================================
+ * 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.aai.datarouter.service;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.commons.io.IOUtils;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.aai.datarouter.entity.POAAuditEvent;
+import org.onap.aai.datarouter.entity.POAServiceInstanceEntity;
+
+
+public class AuditServiceTest {
+
+ private String eventJson;
+
+
+ @Before
+ public void init() throws Exception {
+ FileInputStream event = new FileInputStream( new File("src/test/resources/poa_event.json"));
+ eventJson = IOUtils.toString(event, "UTF-8");
+ }
+
+ @Test
+ public void testPOAEvent() throws Exception {
+
+ POAAuditEvent auditEvent = POAAuditEvent.fromJson(eventJson);
+
+ List<String> eventMessages = new ArrayList<String>();
+ for (POAServiceInstanceEntity serviceInstance: auditEvent.getServiceInstanceList()) {
+ serviceInstance.validate();
+ serviceInstance.setxFromAppId("data-router");
+ serviceInstance.setxTransactionId("111222888");
+ eventMessages.add(serviceInstance.toJson());
+ }
+
+ assertEquals(2, eventMessages.size());
+ }
+
+
+
+}
|