summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sparkybe-onap-application/config/spring-beans/sparky-attribute-update-service.xml20
-rw-r--r--sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/AttributeEditProcessor.java178
-rw-r--r--sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/AttributeUpdater.java360
-rw-r--r--sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/UserAuthorizationReader.java75
-rw-r--r--sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/UserValidator.java63
-rw-r--r--sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/entity/EditRequest.java65
-rw-r--r--sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/exception/AttributeUpdateException.java58
-rw-r--r--sparkybe-onap-service/src/main/java/org/onap/aai/sparky/logging/AaiUiMsgs.java14
-rw-r--r--sparkybe-onap-service/src/main/java/org/onap/aai/sparky/security/filter/LoginFilter.java15
-rw-r--r--sparkybe-onap-service/src/main/resources/logging/AAIUIMsgs.properties28
-rw-r--r--sparkybe-onap-service/src/test/java/org/onap/aai/sparky/editattributes/AttributeUpdaterTest.java166
-rw-r--r--sparkybe-onap-service/src/test/java/org/onap/aai/sparky/editattributes/EditAttributesTest.java171
-rw-r--r--sparkybe-onap-service/src/test/java/org/onap/aai/sparky/editattributes/TestUserAuthorizationReader.java113
-rw-r--r--sparkybe-onap-service/src/test/java/org/onap/aai/sparky/editattributes/TestUserValidator.java135
-rw-r--r--sparkybe-onap-service/src/test/java/org/onap/aai/sparky/editattributes/entity/EditRequestTest.java43
-rw-r--r--sparkybe-onap-service/src/test/resources/oxm-reader/sparky-core.xml11
-rw-r--r--sparkybe-onap-service/src/test/resources/user-auth-reader/authorized-users-empty.config0
-rw-r--r--sparkybe-onap-service/src/test/resources/user-auth-reader/authorized-users.config3
-rw-r--r--sparkybe-onap-service/src/test/resources/user-validator/authorized-users.config3
19 files changed, 4 insertions, 1517 deletions
diff --git a/sparkybe-onap-application/config/spring-beans/sparky-attribute-update-service.xml b/sparkybe-onap-application/config/spring-beans/sparky-attribute-update-service.xml
deleted file mode 100644
index 27db51a..0000000
--- a/sparkybe-onap-application/config/spring-beans/sparky-attribute-update-service.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<beans profile="resources" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context"
- xmlns:task="http://www.springframework.org/schema/task"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
- http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd">
-
- <bean id="attributeUpdater" class="org.onap.aai.sparky.editattributes.AttributeUpdater">
- <constructor-arg ref="oxmModelLoader" />
- <constructor-arg ref="oxmEntityLookup" />
- <constructor-arg ref="activeInventoryAdapter" />
- <constructor-arg name="domain" value="${resources.domain:aai}" />
- </bean>
-
- <bean id="attributeEditProcessor"
- class="org.onap.aai.sparky.editattributes.AttributeEditProcessor">
- <constructor-arg ref="attributeUpdater" />
- </bean>
-
-</beans> \ No newline at end of file
diff --git a/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/AttributeEditProcessor.java b/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/AttributeEditProcessor.java
deleted file mode 100644
index fbdbb94..0000000
--- a/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/AttributeEditProcessor.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/**
- * ============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.sparky.editattributes;
-
-import java.io.UnsupportedEncodingException;
-import java.util.Map;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.component.restlet.RestletConstants;
-import org.onap.aai.cl.api.Logger;
-import org.onap.aai.cl.eelf.LoggerFactory;
-import org.onap.aai.cl.mdc.MdcContext;
-import org.onap.aai.restclient.client.OperationResult;
-import org.onap.aai.sparky.editattributes.entity.EditRequest;
-import org.onap.aai.sparky.logging.AaiUiMsgs;
-import org.onap.aai.sparky.util.NodeUtils;
-import org.restlet.Request;
-import org.restlet.Response;
-import org.restlet.data.ClientInfo;
-import org.restlet.data.Cookie;
-import org.restlet.data.MediaType;
-import org.restlet.data.Status;
-import org.restlet.util.Series;
-
-import com.fasterxml.jackson.annotation.JsonInclude.Include;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-/**
- * The Class AttributeEditProcessor.
- */
-public class AttributeEditProcessor {
-
- private static final Logger LOG =
- LoggerFactory.getInstance().getLogger(AttributeEditProcessor.class);
-
- private ObjectMapper mapper;
- private AttributeUpdater attrUpdater;
-
- public AttributeEditProcessor(AttributeUpdater attributeUpdater) {
- this.attrUpdater = attributeUpdater;
-
- this.mapper = new ObjectMapper();
- mapper.setSerializationInclusion(Include.NON_EMPTY);
- }
-
- public void editAttribute(Exchange exchange) {
-
- Object xTransactionId = exchange.getIn().getHeader("X-TransactionId");
-
- if (xTransactionId == null) {
- xTransactionId = NodeUtils.getRandomTxnId();
- }
-
- Object partnerName = exchange.getIn().getHeader("X-FromAppId");
- if (partnerName == null) {
- partnerName = "Browser";
- }
-
- Request request = exchange.getIn().getHeader(RestletConstants.RESTLET_REQUEST, Request.class);
-
- /*
- * Disables automatic Apache Camel Restlet component logging which prints out an undesirable log
- * entry which includes client (e.g. browser) information
- */
- request.setLoggable(false);
-
- ClientInfo clientInfo = request.getClientInfo();
- MdcContext.initialize((String) xTransactionId, "AAI-UI", "", (String) partnerName,
- clientInfo.getAddress() + ":" + clientInfo.getPort());
-
- String payload = exchange.getIn().getBody(String.class);
- EditRequest editRequest = null;
- OperationResult operationResult = new OperationResult();
-
- Response response = exchange.getIn().getHeader(RestletConstants.RESTLET_RESPONSE, Response.class);
- response.setStatus(Status.SUCCESS_OK); // 200 is assumed unless an actual exception occurs (a failure is still a valid response)
-
- boolean wasErrorDuringProcessing = false;
- String errorMessage = null;
-
-
- try {
-
- if (payload != null && !payload.isEmpty()) {
- editRequest = mapper.readValue(payload, EditRequest.class);
-
- if (editRequest != null) {
-
- String attUid = getAttUid(request.getCookies());
- String objectUri = editRequest.getEntityUri();
- Map<String, Object> attributeValues = editRequest.getAttributes();
-
- if (attUid != null && !attUid.isEmpty() && objectUri != null && !objectUri.isEmpty()
- && attributeValues != null && !attributeValues.isEmpty()) {
-
- LOG.info(AaiUiMsgs.ATTRIBUTES_HANDLING_EDIT, objectUri, editRequest.toString());
-
- operationResult = attrUpdater.updateObjectAttribute(objectUri, attributeValues, attUid);
-
- boolean wasSuccess = (operationResult.getResultCode() == 200);
- String message = String.format("Edit Attributes completed with Result Code : %s (%s).",
- operationResult.getResultCode(), wasSuccess ? "success" : "failed");
-
- LOG.info(AaiUiMsgs.INFO_GENERIC, message);
- }
- }
- } else {
- wasErrorDuringProcessing = true;
- errorMessage = "Empty payload provided, need details to complete request";
- }
- } catch (Exception exc) {
- LOG.error(AaiUiMsgs.ATTRIBUTES_NOT_UPDATED_EXCEPTION, exc.getLocalizedMessage());
- operationResult.setResult(500, "Error encountered while trying to update attributes.");
- response.setStatus(Status.SERVER_ERROR_INTERNAL);
- }
-
- if(wasErrorDuringProcessing) {
- LOG.error(AaiUiMsgs.ATTRIBUTES_NOT_UPDATED_MESSAGE, errorMessage);
- }
-
- response.setEntity(operationResult.getResult(), MediaType.APPLICATION_JSON);
- exchange.getOut().setBody(response);
- }
-
- /**
- * Gets the att uid.
- *
- * @param request the request
- * @return the att uid
- * @throws UnsupportedEncodingException the unsupported encoding exception
- */
- public String getAttUid(Series<Cookie> cookies) throws UnsupportedEncodingException {
- String attId = "";
- if (cookies == null) {
- LOG.error(AaiUiMsgs.COOKIE_NOT_FOUND);
- return attId;
- }
- for (Cookie cookie : cookies) {
- if (cookie.getName().equals("attESHr")) {
- // This cookie is of the form :
- // "FIRSTNAME|LASTNAME|emailname@domain.com|||ab1234||fl6789,RBFMSKQ,"
- // + "Z9V2298,9762186|YNNNNNNNNNNNNNYNNYYNNNNN|FIRSTNAME|EY6SC9000|"
- // we are to extract fl6789 from this which would be the attuid for the user.
- String value = cookie.getValue();
- value = java.net.URLDecoder.decode(value, "UTF-8");
- LOG.info(AaiUiMsgs.COOKIE_FOUND, value);
- String[] values = value.split("\\|");
- if (values.length > 7) {
- attId = (values[7].split(","))[0];
-
- String initials = (values[0].substring(0, 1) + values[1].substring(0, 1)).toLowerCase();
- if (attId.startsWith(initials)) {
- return attId;
- }
- }
- }
- }
- return attId;
- }
-}
diff --git a/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/AttributeUpdater.java b/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/AttributeUpdater.java
deleted file mode 100644
index 23928a5..0000000
--- a/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/AttributeUpdater.java
+++ /dev/null
@@ -1,360 +0,0 @@
-/**
- * ============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.sparky.editattributes;
-
-import java.net.URI;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.ws.rs.core.UriBuilder;
-
-import org.eclipse.persistence.dynamic.DynamicType;
-import org.onap.aai.cl.api.Logger;
-import org.onap.aai.cl.eelf.LoggerFactory;
-import org.onap.aai.restclient.client.OperationResult;
-import org.onap.aai.sparky.config.oxm.OxmEntityLookup;
-import org.onap.aai.sparky.config.oxm.OxmModelLoader;
-import org.onap.aai.sparky.dal.ActiveInventoryAdapter;
-import org.onap.aai.sparky.editattributes.exception.AttributeUpdateException;
-import org.onap.aai.sparky.logging.AaiUiMsgs;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.ObjectWriter;
-import com.fasterxml.jackson.databind.PropertyNamingStrategy;
-
-/**
- * Class to process attribute updates on AAI objects.
- *
- *
- */
-public class AttributeUpdater {
-
- /**
- * The Class AaiEditObject.
- */
- public class AaiEditObject {
- String objectType;
- String rootElement;
- String keyName;
- String keyValue;
- String schemaVersion;
-
- /**
- * Instantiates a new aai edit object.
- */
- public AaiEditObject() {
-
- }
-
- /**
- * Instantiates a new aai edit object.
- *
- * @param objectType the object type
- * @param idName the id name
- * @param schemaVersion the schema version
- */
- public AaiEditObject(String objectType, String idName, String schemaVersion) {
- super();
- this.objectType = objectType;
- this.keyName = idName;
- this.schemaVersion = schemaVersion;
- }
-
- public String getObjectType() {
- return objectType;
- }
-
- public void setObjectType(String objectType) {
- this.objectType = objectType;
- }
-
- public String getKeyName() {
- return keyName;
- }
-
- public void setKeyName(String idName) {
- this.keyName = idName;
- }
-
- public String getSchemaVersion() {
- return schemaVersion;
- }
-
- public void setSchemaVersion(String schemaVersion) {
- this.schemaVersion = schemaVersion;
- }
-
- public void setKeyValue(String keyValue) {
- this.keyValue = keyValue;
- }
-
- public String getKeyValue() {
- return keyValue;
- }
-
- public String getRootElement() {
- return rootElement;
- }
-
- public void setRootElement(String rootElement) {
- this.rootElement = rootElement;
- }
-
- }
-
- private static final Logger LOG = LoggerFactory.getInstance().getLogger(AttributeUpdater.class);
- private static final String MESSAGE_VERSION_EXTRACTION_REGEX = "\\/(v[0-9]+)";
- private static final String ATTRIBUTES_UPDATED_SUCCESSFULLY = "Attributes updated successfully";
- private static final String ATTRIBUTES_NOT_UPDATED = "Attributes not updated. ";
-
- private ActiveInventoryAdapter aaiAdapter;
- private UserValidator validator;
- private OxmModelLoader oxmModelLoader;
- private OxmEntityLookup oxmEntityLookup;
- private String domain;
-
- /**
- * Instantiates a new attribute updater.
- * @throws AttributeUpdateException
- */
- public AttributeUpdater(OxmModelLoader oxmModelLoader, OxmEntityLookup oxmEntityLookup, ActiveInventoryAdapter activeInventoryAdapter,String domain) throws AttributeUpdateException {
- super();
- this.oxmModelLoader = oxmModelLoader;
- this.oxmEntityLookup = oxmEntityLookup;
- this.aaiAdapter = activeInventoryAdapter;
- this.domain = domain;
-
- try {
- this.validator = new UserValidator();
- } catch (Exception exc) {
- LOG.error(AaiUiMsgs.ATTRIBUTES_ERROR_GETTING_AAI_CONFIG_OR_ADAPTER, exc.getLocalizedMessage());
- throw new AttributeUpdateException(exc);
- }
- }
-
- protected String getResourceBasePath() {
-
- String versionStr = null;
- if (oxmModelLoader != null) {
- versionStr = String.valueOf(oxmModelLoader.getOxmApiVersion());
- }
-
- return "/" + domain + "/v" + versionStr;
-
- }
-
- protected URI getBaseUri() {
- return UriBuilder
- .fromUri("https://" + aaiAdapter.getEndpointConfig().getEndpointIpAddress() + ":"
- + aaiAdapter.getEndpointConfig().getEndpointServerPort() + getResourceBasePath())
- .build();
- }
-
- /**
- * Update object attribute.
- *
- * @param objectUri - Valid URI of the object as per OXM model.
- * @param attributeValues - Map of (attribute-name & attribute-value) for
- * any attributes to be updated to the value.
- * @param attUid - ATTUID of the user requesting the update.
- * @return - OperationResult with success or failure reason.
- */
- public OperationResult updateObjectAttribute(String objectUri, Map<String, Object> attributeValues, String attUid) {
- OperationResult result = new OperationResult();
- LOG.info(AaiUiMsgs.ATTRIBUTES_UPDATE_METHOD_CALLED, objectUri, attUid, String.valueOf(attributeValues));
- if (!validator.isAuthorizedUser(attUid)) {
- result.setResultCode(403);
- result.setResult(String.format("User %s is not authorized for Attributes update ", attUid));
- LOG.error(AaiUiMsgs.ATTRIBUTES_USER_NOT_AUTHORIZED_TO_UPDATE, attUid);
- return result;
- }
-
- AaiEditObject object = null;
-
- try {
- object = getEditObjectFromUri(objectUri);
- } catch (AttributeUpdateException exc) {
- result.setResultCode(400);
- result.setResult(ATTRIBUTES_NOT_UPDATED);
- LOG.error(AaiUiMsgs.ATTRIBUTES_NOT_UPDATED_EXCEPTION, exc.getLocalizedMessage());
- return result;
- }
- try {
- String jsonPayload = convertEditRequestToJson(object, attributeValues);
- String patchUri = getBaseUri().toString() + getRelativeUri(objectUri);
-
-
- /*
- * FIX ME: Dave Adams, 8-Nov-2017
- */
-
- //result = aaiAdapter.doPatch(patchUri, jsonPayload, MediaType.APPLICATION_JSON);
-
- result = new OperationResult();
- result.setResultCode(404);
-
- if (result.getResultCode() == 200) {
- result.setResult(ATTRIBUTES_UPDATED_SUCCESSFULLY);
- String message = result.getResult() + " for " + objectUri;
- LOG.info(AaiUiMsgs.INFO_GENERIC, message);
- } else {
- String message = ATTRIBUTES_NOT_UPDATED + " For: " + objectUri + ". AAI PATCH Status Code : "
- + result.getResultCode() + ". Error : " + result.getResult();
- LOG.error(AaiUiMsgs.ATTRIBUTES_NOT_UPDATED_MESSAGE, message);
- }
- } catch (AttributeUpdateException exc) {
- result.setResultCode(500);
- result.setResult(ATTRIBUTES_NOT_UPDATED + exc.getLocalizedMessage());
- LOG.error(AaiUiMsgs.ATTRIBUTES_NOT_UPDATED_EXCEPTION, exc.getLocalizedMessage());
- }
- return result;
-
- }
-
- /**
- * Gets the relative uri.
- *
- * @param objectUri the object uri
- * @return the relative uri
- */
- public String getRelativeUri(String objectUri) {
- String tempUri = objectUri;
- final Pattern pattern = Pattern.compile(MESSAGE_VERSION_EXTRACTION_REGEX, Pattern.DOTALL);
- Matcher matcher = pattern.matcher(objectUri);
- while (matcher.find()) {
- tempUri = objectUri.substring(matcher.end());
- }
- if (!tempUri.startsWith("/")) {
- tempUri = "/" + tempUri;
- }
- return tempUri;
- }
-
- /**
- * Gets the edits the object from uri.
- *
- * @param objectUri the object uri
- * @return the edits the object from uri
- * @throws AttributeUpdateException the attribute update exception
- */
- public AaiEditObject getEditObjectFromUri(String objectUri) throws AttributeUpdateException {
-
- AaiEditObject object = new AaiEditObject();
- String version = getVersionFromUri(objectUri);
-
- if ( null == version ) {
- version = "v" + String.valueOf(oxmModelLoader.getOxmApiVersion());
- }
- object.setSchemaVersion(version);
-
- String[] values = objectUri.split("/");
- if (values.length < 2) {
- throw new AttributeUpdateException("Invalid or malformed object URI : " + objectUri);
- }
- String keyValue = values[values.length - 1];
- String rootElement = values[values.length - 2];
-
- object.setKeyValue(keyValue);
- object.setRootElement(rootElement);
-
- String objectJavaType = null;
- Map<String, DynamicType> entityTypeLookup = oxmEntityLookup.getEntityTypeLookup();
- DynamicType entity = entityTypeLookup.get(rootElement);
- if ( null != entity ) {
- objectJavaType = entity.getName();
- String message = "Descriptor: Alias: " + objectJavaType + " : DefaultRootElement: "
- + rootElement;
- LOG.debug(AaiUiMsgs.DEBUG_GENERIC, message);
- }
-
-
- if (objectJavaType == null) {
- throw new AttributeUpdateException(
- "Object type could not be determined from the URI : " + objectUri);
- }
- object.setObjectType(objectJavaType);
-
- // Set key attribute name
- final List<String> primaryKeys = entity.getDescriptor().getPrimaryKeyFieldNames();
-
- if (primaryKeys.isEmpty()) {
- throw new AttributeUpdateException("Object primary key not found in OXM version " + version);
- }
-
- for (int i = 0; i < primaryKeys.size(); i++) {
- final String primaryKey = primaryKeys.get(i);
- if (primaryKey.indexOf("/text()") != -1) {
- primaryKeys.set(i, primaryKey.replace("/text()", ""));
- }
- }
- object.setKeyName(primaryKeys.iterator().next());
-
- return object;
- }
-
- /**
- * Gets the version from uri.
- *
- * @param objectUri the object uri
- * @return the version from uri
- * @throws AttributeUpdateException the attribute update exception
- */
- private String getVersionFromUri(String objectUri) throws AttributeUpdateException {
- final Pattern pattern = Pattern.compile(MESSAGE_VERSION_EXTRACTION_REGEX, Pattern.DOTALL);
- Matcher matcher = pattern.matcher(objectUri);
- String messageSchemaVersion = null;
- while (matcher.find()) {
- messageSchemaVersion = matcher.group(1);
- break;
- }
- return messageSchemaVersion;
- }
-
- /**
- * Convert edit request to json.
- *
- * @param object the object
- * @param attributeValues the attribute values
- * @return the string
- * @throws AttributeUpdateException the attribute update exception
- */
- private static String convertEditRequestToJson(AaiEditObject object,
- Map<String, Object> attributeValues) throws AttributeUpdateException {
-
- ObjectMapper mapper = new ObjectMapper();
- mapper.setPropertyNamingStrategy(new PropertyNamingStrategy.KebabCaseStrategy());
- ObjectWriter ow = mapper.writer();
-
- Map<String, Object> patchAttributes = new HashMap<>();
- patchAttributes.put(object.getKeyName(), object.getKeyValue());
- patchAttributes.putAll(attributeValues);
-
- try {
- return ow.writeValueAsString(patchAttributes);
- } catch (JsonProcessingException exc) {
- throw new AttributeUpdateException("Caught a JPE while creating PATCH request body = ", exc);
- }
- }
-}
diff --git a/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/UserAuthorizationReader.java b/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/UserAuthorizationReader.java
deleted file mode 100644
index 170ed5f..0000000
--- a/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/UserAuthorizationReader.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * ============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.sparky.editattributes;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-/**
- * Reads user IDs from a file. Each line in the user authorization file should contain a single user
- * ID. For example,
- *
- * <pre>
- * user1
- * user2
- * </pre>
- */
-public class UserAuthorizationReader {
-
- private File userAuthorizationFile;
-
- /**
- * Set the user authorization file.
- *
- * @param file a user authorization file
- */
- public UserAuthorizationReader(File file) {
- this.userAuthorizationFile = file;
- }
-
- /**
- * Gets user IDs from a file.
- *
- * @return a list of user IDs
- * @throws IOException if there is a problem reading the user configuration file
- */
- public List<String> getUsers() throws IOException {
- List<String> userList = new ArrayList<>();
- try (Stream<String> stream = Files.lines(getUserAuthorizationFile().toPath())) {
- userList.addAll(stream.map(String::trim).collect(Collectors.toList()));
- }
- return userList;
- }
-
- // Getters and setters
- public File getUserAuthorizationFile() {
- return userAuthorizationFile;
- }
-
- public void setUserAuthorizationFile(File file) {
- this.userAuthorizationFile = file;
- }
-}
diff --git a/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/UserValidator.java b/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/UserValidator.java
deleted file mode 100644
index 83b3932..0000000
--- a/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/UserValidator.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * ============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.sparky.editattributes;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-
-import org.onap.aai.cl.api.Logger;
-import org.onap.aai.cl.eelf.LoggerFactory;
-import org.onap.aai.sparky.logging.AaiUiMsgs;
-import org.onap.aai.sparky.viewandinspect.config.SparkyConstants;
-
-/**
- * Validates users against a user authorization file.
- */
-public class UserValidator {
-
- private static final Logger LOG = LoggerFactory.getInstance().getLogger(UserValidator.class);
- private static final String USER_AUTH_FILE =
- SparkyConstants.AUTHORIZED_USERS_FILE_LOCATION;
-
- private UserAuthorizationReader userAuthorizationReader =
- new UserAuthorizationReader(new File(USER_AUTH_FILE));
-
- /**
- * Returns true if the user is authorized.
- *
- * @param userId a user identifier
- * @return true if the user ID is present in the user authorization file
- */
- public boolean isAuthorizedUser(String userId) {
- if (userId != null && !userId.isEmpty()) {
- try {
- List<String> users = userAuthorizationReader.getUsers();
- return users.contains(userId);
- } catch (IOException exc) {
- LOG.error(AaiUiMsgs.USER_AUTHORIZATION_FILE_UNAVAILABLE, userId);
- return false;
- }
- } else {
- return false;
- }
- }
-}
diff --git a/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/entity/EditRequest.java b/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/entity/EditRequest.java
deleted file mode 100644
index eb34eab..0000000
--- a/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/entity/EditRequest.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * ============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.sparky.editattributes.entity;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-/**
- * The Class EditRequest.
- */
-public class EditRequest {
-
- @JsonProperty("entity-uri")
- private String entityUri;
-
- @JsonProperty("entity-type")
- private String entityType;
-
- @JsonProperty("attributes")
- private Map<String, Object> attributes = new HashMap<>();
-
- public String getEntityUri() {
- return entityUri;
- }
-
- public void setEntityUri(String entityUri) {
- this.entityUri = entityUri;
- }
-
- public String getEntityType() {
- return entityType;
- }
-
- public void setEntityType(String entityType) {
- this.entityType = entityType;
- }
-
- public Map<String, Object> getAttributes() {
- return attributes;
- }
-
- public void setAttributes(Map<String, Object> attributes) {
- this.attributes = attributes;
- }
-}
diff --git a/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/exception/AttributeUpdateException.java b/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/exception/AttributeUpdateException.java
deleted file mode 100644
index 8ce56bd..0000000
--- a/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/editattributes/exception/AttributeUpdateException.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * ============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.sparky.editattributes.exception;
-
-/**
- * The Class AttributeUpdateException.
- */
-public class AttributeUpdateException extends Exception {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * Attribute Edit specific Exception Class.
- *
- * @param exc the exc
- */
-
- public AttributeUpdateException(Exception exc) {
- super(exc);
- }
-
- /**
- * Instantiates a new attribute update exception.
- *
- * @param message the message
- */
- public AttributeUpdateException(String message) {
- super(message);
- }
-
- /**
- * Instantiates a new attribute update exception.
- *
- * @param message the message
- * @param exc the exc
- */
- public AttributeUpdateException(String message, Exception exc) {
- super(message, exc);
- }
-}
diff --git a/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/logging/AaiUiMsgs.java b/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/logging/AaiUiMsgs.java
index c86f5b1..90a1bd2 100644
--- a/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/logging/AaiUiMsgs.java
+++ b/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/logging/AaiUiMsgs.java
@@ -310,20 +310,6 @@ public enum AaiUiMsgs implements LogMessageEnum {
AAI_RETRIEVAL_FAILED_GENERIC,
/** Arguments: {0} = Self Link */
AAI_RETRIEVAL_FAILED_FOR_SELF_LINK,
- /** Arguments: {0} = Exception */
- ATTRIBUTES_NOT_UPDATED_EXCEPTION,
- /** Arguments: {0} = Message */
- ATTRIBUTES_NOT_UPDATED_MESSAGE,
- /** Arguments: {0} = Exception */
- ATTRIBUTES_ERROR_GETTING_AAI_CONFIG_OR_ADAPTER,
- /** Arguments: {0} = Schema File URI */
- ATTRIBUTES_ERROR_LOADING_MODEL_VERSION,
- /** Arguments: {0} = Request URI {1} = Edit Request Body */
- ATTRIBUTES_HANDLING_EDIT,
- /** Arguments: {0} = Object URI {1} = Attribute ID {2} Attribute Values */
- ATTRIBUTES_UPDATE_METHOD_CALLED,
- /** Arguments: {0} = Attribute ID */
- ATTRIBUTES_USER_NOT_AUTHORIZED_TO_UPDATE,
/** Arguments: {0} = Cookie */
COOKIE_FOUND,
/** No argument */
diff --git a/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/security/filter/LoginFilter.java b/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/security/filter/LoginFilter.java
index c566e14..bcb7ba2 100644
--- a/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/security/filter/LoginFilter.java
+++ b/sparkybe-onap-service/src/main/java/org/onap/aai/sparky/security/filter/LoginFilter.java
@@ -123,17 +123,10 @@ public class LoginFilter implements Filter {
// All other requests require ECOMP Portal authentication
if (EcompSso.validateEcompSso(request) == null) {
String redirectURL, logMessage;
- if (request.getRequestURI().contains("/editAttributes")) {
- // If request is for Edit Attributes UI, redirect straight to the application.
- String appPath = request.getRequestURI().substring(request.getContextPath().length() + 1)
- + (request.getQueryString() != null ? ("?" + request.getQueryString()) : "");
- redirectURL = SSOUtil.getECOMPSSORedirectURL(request, response, appPath);
- logMessage = "Unauthenticated Edit Attributes UI login attempt.";
- } else {
- // Redirect to Portal UI
- redirectURL = PortalApiProperties.getProperty(PortalApiConstants.ECOMP_REDIRECT_URL);
- logMessage = "Unauthorized login attempt.";
- }
+
+ // Redirect to Portal UI
+ redirectURL = PortalApiProperties.getProperty(PortalApiConstants.ECOMP_REDIRECT_URL);
+ logMessage = "Unauthorized login attempt.";
LOG.debug(AaiUiMsgs.LOGIN_FILTER_DEBUG,
logMessage +
diff --git a/sparkybe-onap-service/src/main/resources/logging/AAIUIMsgs.properties b/sparkybe-onap-service/src/main/resources/logging/AAIUIMsgs.properties
index 94196e2..e9c61c9 100644
--- a/sparkybe-onap-service/src/main/resources/logging/AAIUIMsgs.properties
+++ b/sparkybe-onap-service/src/main/resources/logging/AAIUIMsgs.properties
@@ -122,14 +122,6 @@ DATA_CACHE_SUCCESS=\
AAIUI00025D|\
InMemoryEntityCache cached data with key = {0}
-ATTRIBUTES_UPDATE_METHOD_CALLED=\
- AAIUI00026I|\
- updateObjectAttribute called for : {0} ATTUID : {1} Attributes : {2}
-
-ATTRIBUTES_HANDLING_EDIT=\
- AAIUI00027I|\
- Handling Edit Attributes: requestUri = {0} Body : {1}
-
RESTFULL_OP_COMPLETE=\
AAIUI00028I|\
doRestfulOperation() operation for {0} execution time = {1} ms for link = {2}, ResultCode = {3}
@@ -329,14 +321,6 @@ EXECUTOR_SERV_EXCEPTION=\
AAIUI3003E|\
Thread: {0}. The following exception has occurred: {1}
-ATTRIBUTES_NOT_UPDATED_EXCEPTION=\
- AAIUI3004E|\
- Attributes not updated. {0}
-
-ATTRIBUTES_NOT_UPDATED_MESSAGE=\
- AAIUI3005E|\
- {0}
-
SYNC_NOT_VALID_STATE_DURING_REQUEST=\
AAIUI3006E|\
Sync requested while synchronizer not in valid state. Current internal state: {0}
@@ -493,10 +477,6 @@ PEGGING_ERROR=\
AAIUI30044E|\
Pegging UNKNOWN_EXCEPTION due to unexpected exception = {0}
-ATTRIBUTES_ERROR_LOADING_MODEL_VERSION=\
- AAIUI30045E|\
- Model Version Error. {0} Not Found or not loaded successfully.
-
INVALID_REQUEST=\
AAIUI30046E|\
{0}
@@ -589,10 +569,6 @@ RESTFULL_OP_ERROR_VERBOSE=\
AAIUI30069E|\
Error retrieving link: {0} from restful endpoint due to error: {1}
-ATTRIBUTES_ERROR_GETTING_AAI_CONFIG_OR_ADAPTER=\
- AAIUI30070E|\
- Error in getting AAI configuration or Adaptor: {0}
-
USER_AUTHORIZATION_FILE_UNAVAILABLE=\
AAIUI30071E|\
User authorization file unavailable. User {0} cannot be authorized.
@@ -609,10 +585,6 @@ FILE_NOT_FOUND=\
AAIUI30074E|\
Failed to find file: {0}
-ATTRIBUTES_USER_NOT_AUTHORIZED_TO_UPDATE=\
- AAIUI30075E|\
- User {0} is not authorized for Attributes update
-
SELF_LINK_NULL_EMPTY_RESPONSE=\
AAIUI30076E|\
AIN - Failed to process null or empty pathed self link response
diff --git a/sparkybe-onap-service/src/test/java/org/onap/aai/sparky/editattributes/AttributeUpdaterTest.java b/sparkybe-onap-service/src/test/java/org/onap/aai/sparky/editattributes/AttributeUpdaterTest.java
deleted file mode 100644
index a5f7049..0000000
--- a/sparkybe-onap-service/src/test/java/org/onap/aai/sparky/editattributes/AttributeUpdaterTest.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/**
- * ============LICENSE_START===================================================
- * SPARKY (AAI UI service)
- * ============================================================================
- * Copyright © 2017 AT&T Intellectual Property.
- * Copyright © 2017 Amdocs
- * 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=====================================================
- *
- * ECOMP and OpenECOMP are trademarks
- * and service marks of AT&T Intellectual Property.
- */
-
-package org.onap.aai.sparky.editattributes;
-
-import static org.junit.Assert.assertEquals;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.ws.rs.core.Response.Status;
-
-import org.eclipse.persistence.dynamic.DynamicType;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.Mockito;
-import org.onap.aai.restclient.client.OperationResult;
-import org.onap.aai.setup.SchemaVersion;
-import org.onap.aai.sparky.config.oxm.OxmEntityDescriptor;
-import org.onap.aai.sparky.config.oxm.OxmEntityLookup;
-import org.onap.aai.sparky.config.oxm.OxmModelLoader;
-import org.onap.aai.sparky.dal.ActiveInventoryAdapter;
-import org.onap.aai.sparky.editattributes.AttributeUpdater.AaiEditObject;
-
-
-
-/**
- * The Class AttributeUpdaterTest.
- */
-public class AttributeUpdaterTest {
-
- private ActiveInventoryAdapter aaiAdapter;
-
- /**
- * Sets the up.
- *
- * @throws Exception the exception
- */
- @Before
- public void setUp() throws Exception {
-
- aaiAdapter = Mockito.mock(ActiveInventoryAdapter.class);
- }
-
- /**
- * @throws Exception
- */
-
- @Test
- public void testUpdateObjectAttribute() throws Exception {
-
- OxmEntityDescriptor desc = new OxmEntityDescriptor();
- desc.addPrimaryKeyName("hostname");
- desc.setEntityName("pserver");
- OxmEntityLookup entityLookup = new OxmEntityLookup();
- entityLookup.addEntityDescriptor("pserver", desc);
-
- AttributeUpdater updater =
- new AttributeUpdater(new OxmModelLoader("v11", null, null), entityLookup, aaiAdapter,"aai");
- Map<String, Object> attributes = new HashMap<>();
- attributes.put("prov-status", "PREPROV");
- attributes.put("in-maint", "true");
- OperationResult result = updater.updateObjectAttribute(
- "cloud-infrastructure/pservers/pserver/something", attributes, "someid");
- assertEquals(Status.FORBIDDEN.getStatusCode(), result.getResultCode());
- }
-
-
- // This needs the OXM file in place to work.
- /**
- * Test get edit object from uri.
- *
- * @throws Exception the exception
- */
- @Test(expected = NullPointerException.class)
- public void testGetEditObjectFromUri() throws Exception {
- String version = "v11";
- OxmModelLoader loader = new OxmModelLoader(version, null, null);
-
-
- OxmEntityDescriptor desc = new OxmEntityDescriptor();
- desc.addPrimaryKeyName("hostname");
- desc.setEntityName("pserver");
-
- OxmEntityLookup entityLookup = new OxmEntityLookup();
- entityLookup.addEntityDescriptor("pserver", desc);
-
-
- // DynamicType mockType = Mockito.mock(DynamicType.class);
- // Class<? extends DynamicEntity> mockDynamicEntity = Mockito.mock(DynamicEntity.class);
-
- // Mockito.when(mockType.getJavaClass()).thenReturn(mockDynamicEntity);
-
-
-
- HashMap<String, DynamicType> typeLookup = new HashMap<String, DynamicType>();
- // typeLookup.put("pserver", mockType);
-
- entityLookup.setEntityTypeLookup(typeLookup);
-
-
- AttributeUpdater updater =
- new AttributeUpdater(new OxmModelLoader(version, null, null), entityLookup, aaiAdapter,"aai");
- AaiEditObject result = updater.getEditObjectFromUri(null);
- assertEquals("Pserver", result.getObjectType());
- assertEquals("pserver", result.getRootElement());
- assertEquals("hostname", result.getKeyName());
- assertEquals("mtznjtax101", result.getKeyValue());
- }
-
- /**
- * Test get relative uri.
- *
- * @throws Exception the exception
- */
-
- @Test
- public void testGetRelativeUri() throws Exception {
-
- OxmEntityDescriptor desc = new OxmEntityDescriptor();
- desc.addPrimaryKeyName("hostname");
- desc.setEntityName("pserver");
-
- OxmEntityLookup entityLookup = new OxmEntityLookup();
- entityLookup.addEntityDescriptor("pserver", desc);
-
- AttributeUpdater updater = new AttributeUpdater(new OxmModelLoader("v11",null,null), entityLookup, aaiAdapter,"aai");
- // Test entity uri without "/aai/version/"
- String result = updater.getRelativeUri("cloud-infrastructure/pservers/pserver/mtznjtax101");
- assertEquals("/cloud-infrastructure/pservers/pserver/mtznjtax101", result);
- result = updater.getRelativeUri("/aai/v8/cloud-infrastructure/pservers/pserver/mtznjtax101");
- assertEquals("/cloud-infrastructure/pservers/pserver/mtznjtax101", result);
-
- result = updater.getRelativeUri("/v8/cloud-infrastructure/pservers/pserver/mtznjtax101");
- assertEquals("/cloud-infrastructure/pservers/pserver/mtznjtax101", result);
-
- result = updater.getRelativeUri("aai/v88/cloud-infrastructure/pservers/pserver/mtznjtax101");
- assertEquals("/cloud-infrastructure/pservers/pserver/mtznjtax101", result);
-
- result = updater.getRelativeUri("/cloud-infrastructure/pservers/pserver/mtznjtax101");
- assertEquals("/cloud-infrastructure/pservers/pserver/mtznjtax101", result);
- }
-
-} \ No newline at end of file
diff --git a/sparkybe-onap-service/src/test/java/org/onap/aai/sparky/editattributes/EditAttributesTest.java b/sparkybe-onap-service/src/test/java/org/onap/aai/sparky/editattributes/EditAttributesTest.java
deleted file mode 100644
index 4e7e80a..0000000
--- a/sparkybe-onap-service/src/test/java/org/onap/aai/sparky/editattributes/EditAttributesTest.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/**
- * ============LICENSE_START===================================================
- * SPARKY (AAI UI service)
- * ============================================================================
- * Copyright © 2017 AT&T Intellectual Property.
- * Copyright © 2017 Amdocs
- * 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=====================================================
- *
- * ECOMP and OpenECOMP are trademarks
- * and service marks of AT&T Intellectual Property.
- */
-
-package org.onap.aai.sparky.editattributes;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import javax.servlet.ReadListener;
-import javax.servlet.ServletInputStream;
-
-import org.apache.commons.io.IOUtils;
-import org.junit.Before;
-import org.junit.BeforeClass;
-
-
-/**
- * The Class EditAttributesTest.
- */
-public class EditAttributesTest {
- String sampleJsonRequest =
- "{ \"entity-uri\" : \"some/uri/value/here\", \"entity-type\" : \"complex\","
- + " \"attributes\" : { \"prov-status\" : \"PREPROV\", \"inMaint\" : \"true\","
- + " \"isClosedLoop\" : \"false\" }}";
-
- /**
- * Sets the up before class.
- *
- * @throws Exception the exception
- */
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {}
-
- /**
- * Sets the up.
- *
- * @throws Exception the exception
- */
- @Before
- public void setUp() throws Exception {}
-
-
- /**
- * Test analyze edit request body.
- */
- /*
- @Test
- public void testAnalyzeEditRequestBody() {
- AttributeEditProcessor aes = new AttributeEditProcessor();
- EditRequest request = aes.analyzeEditRequestBody(sampleJsonRequest);
- System.out.println("JSON Body : " + sampleJsonRequest);
- assertNotNull(request);
- assertEquals("URI should match", "some/uri/value/here", request.getEntityUri());
- assertEquals("Entity Type should match", "complex", request.getEntityType());
- assertEquals("Attribute ProvStatus should match", "PREPROV",
- request.getAttributes().get("prov-status"));
- assertEquals("Attribute inMaint should be true", "true",
- request.getAttributes().get("inMaint"));
- assertEquals("Attribute isClosedLoop should be false", "false",
- request.getAttributes().get("isClosedLoop"));
-
- }
- */
-
-
- /**
- * Test edit request.
- *
- * @throws IOException Signals that an I/O exception has occurred.
- * @throws ServletException the servlet exception
- * @throws JSONException the JSON exception
- */
- /*
- @Test
- public void testEditRequest() throws IOException, ServletException, JSONException {
- HttpServletRequest mockRequest = mock(HttpServletRequest.class);
- HttpServletResponse mockResponse = mock(HttpServletResponse.class);
- ServletOutputStream mockOutput = mock(ServletOutputStream.class);
- ServletInputStream mockInput = new MockServletInputStream(sampleJsonRequest);
-
- when(mockRequest.getRequestURI()).thenReturn("editAttributes");
- when(mockResponse.getOutputStream()).thenReturn(mockOutput);
-
- when(mockRequest.getInputStream()).thenReturn(mockInput);
-
- Principal princip = new UserPrincipal("ds1150");
-
- when(mockRequest.getUserPrincipal()).thenReturn(princip);
-
- PrintWriter writer = new PrintWriter("editServletTest.txt");
- when(mockResponse.getWriter()).thenReturn(writer);
- AttributeEditProcessor aes = new AttributeEditProcessor();
- aes.doPost(mockRequest, mockResponse);
- JSONObject result = null;
- try {
- writer.close();
- result = new JSONObject(FileUtils.readFileToString(new File("editServletTest.txt"), "UTF-8"));
- } catch (JSONException ex) {
- // Nothing to catch
- }
- assertNotNull(result);
- // assertEquals("Attributes updated successfully (just need PATCH !!!)", result.get("result"));
- }
- */
-
-
-
- /**
- * The Class MockServletInputStream.
- */
- class MockServletInputStream extends ServletInputStream {
- InputStream inputStream;
-
- /**
- * Instantiates a new mock servlet input stream.
- *
- * @param string the string
- */
- MockServletInputStream(String string) {
- this.inputStream = IOUtils.toInputStream(string);
- }
-
- /* (non-Javadoc)
- * @see java.io.InputStream#read()
- */
- @Override
- public int read() throws IOException {
- return inputStream.read();
- }
-
- @Override
- public boolean isFinished() {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean isReady() {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public void setReadListener(ReadListener readListener) {
- // TODO Auto-generated method stub
-
- }
- }
-}
diff --git a/sparkybe-onap-service/src/test/java/org/onap/aai/sparky/editattributes/TestUserAuthorizationReader.java b/sparkybe-onap-service/src/test/java/org/onap/aai/sparky/editattributes/TestUserAuthorizationReader.java
deleted file mode 100644
index 4f99b6d..0000000
--- a/sparkybe-onap-service/src/test/java/org/onap/aai/sparky/editattributes/TestUserAuthorizationReader.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- * ============LICENSE_START===================================================
- * SPARKY (AAI UI service)
- * ============================================================================
- * Copyright © 2017 AT&T Intellectual Property.
- * Copyright © 2017 Amdocs
- * 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=====================================================
- *
- * ECOMP and OpenECOMP are trademarks
- * and service marks of AT&T Intellectual Property.
- */
-
-package org.onap.aai.sparky.editattributes;
-
-import static org.hamcrest.Matchers.containsInAnyOrder;
-import static org.hamcrest.Matchers.empty;
-import static org.junit.Assert.assertThat;
-
-import java.io.File;
-import java.nio.file.Paths;
-import java.util.List;
-
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.onap.aai.sparky.editattributes.UserAuthorizationReader;
-
-/**
- * The Class TestUserAuthorizationReader.
- */
-public class TestUserAuthorizationReader {
-
- private static File userAuthFile;
- private static File userAuthFileEmpty;
-
- /**
- * Sets the up before class.
- *
- * @throws Exception the exception
- */
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- userAuthFile = Paths.get(TestData.USER_AUTH_FILE.getFilename()).toFile();
- userAuthFileEmpty = Paths.get(TestData.USER_AUTH_FILE_EMPTY.getFilename()).toFile();
- }
-
- /**
- * The Enum TestData.
- */
- enum TestData {
- // @formatter:off
- USER_AUTH_FILE(
- "src/test/resources/user-auth-reader/authorized-users.config"), USER_AUTH_FILE_EMPTY(
- "src/test/resources/user-auth-reader/authorized-users-empty.config");
-
- private String filename;
-
- /**
- * Instantiates a new test data.
- *
- * @param filename the filename
- */
- TestData(String filename) {
- this.filename = filename;
- }
-
- public String getFilename() {
- return this.filename;
- }
- // @formatter:on
- }
-
- /**
- * Test get users.
- *
- * @throws Exception the exception
- */
- @Test
- public void testGetUsers() throws Exception {
- UserAuthorizationReader userAuthorizationReader = new UserAuthorizationReader(userAuthFile);
-
- // Method under test
- List<String> userList = userAuthorizationReader.getUsers();
-
- assertThat(userList, containsInAnyOrder("user1", "user2 user3", "user4"));
- }
-
- /**
- * Test get users passing empty config.
- *
- * @throws Exception the exception
- */
- @Test
- public void testGetUsersPassingEmptyConfig() throws Exception {
- UserAuthorizationReader userConfigReader = new UserAuthorizationReader(userAuthFileEmpty);
-
- List<String> userList = userConfigReader.getUsers();
-
- assertThat(userList, empty());
- }
-}
diff --git a/sparkybe-onap-service/src/test/java/org/onap/aai/sparky/editattributes/TestUserValidator.java b/sparkybe-onap-service/src/test/java/org/onap/aai/sparky/editattributes/TestUserValidator.java
deleted file mode 100644
index df41a5e..0000000
--- a/sparkybe-onap-service/src/test/java/org/onap/aai/sparky/editattributes/TestUserValidator.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/**
- * ============LICENSE_START===================================================
- * SPARKY (AAI UI service)
- * ============================================================================
- * Copyright © 2017 AT&T Intellectual Property.
- * Copyright © 2017 Amdocs
- * 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=====================================================
- *
- * ECOMP and OpenECOMP are trademarks
- * and service marks of AT&T Intellectual Property.
- */
-
-package org.onap.aai.sparky.editattributes;
-
-import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertThat;
-import static org.mockito.Mockito.when;
-
-import java.io.File;
-import java.nio.file.Paths;
-
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
-import org.onap.aai.sparky.editattributes.UserAuthorizationReader;
-import org.onap.aai.sparky.editattributes.UserValidator;
-
-/**
- * The Class TestUserValidator.
- */
-@RunWith(MockitoJUnitRunner.class)
-public class TestUserValidator {
-
- @Mock
- private UserAuthorizationReader userAuthorizationReader;
-
- @InjectMocks
- private UserValidator userValidator;
-
- private static File userAuthFile;
- private static File missingUserAuthFile;
-
- /**
- * Sets the up before class.
- *
- * @throws Exception the exception
- */
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- userAuthFile = Paths.get(TestData.USER_AUTH_FILE.getFilename()).toFile();
- missingUserAuthFile = Paths.get(TestData.MISSING_USER_AUTH_FILE.getFilename()).toFile();
- }
-
- /**
- * The Enum TestData.
- */
- enum TestData {
- // @formatter:off
- USER_AUTH_FILE(
- "src/test/resources/user-validator/authorized-users.config"), MISSING_USER_AUTH_FILE(
- "src/test/resources/user-validator/missing.config");
-
- private String filename;
-
- /**
- * Instantiates a new test data.
- *
- * @param filename the filename
- */
- TestData(String filename) {
- this.filename = filename;
- }
-
- public String getFilename() {
- return this.filename;
- }
- // @formatter:on
- }
-
- /**
- * Test is authorized user.
- *
- * @throws Exception the exception
- */
- @Test
- public void testIsAuthorizedUser() throws Exception {
- when(userAuthorizationReader.getUsers()).thenCallRealMethod();
- when(userAuthorizationReader.getUserAuthorizationFile()).thenReturn(userAuthFile);
-
- boolean isAuthUser = userValidator.isAuthorizedUser("user1");
- assertThat(isAuthUser, is(true));
-
- boolean isAuthUser2 = userValidator.isAuthorizedUser("user2");
- assertThat(isAuthUser2, is(false));
-
- boolean isAuthUser3 = userValidator.isAuthorizedUser("user3");
- assertThat(isAuthUser3, is(false));
-
- boolean isAuthUser4 = userValidator.isAuthorizedUser("not-in-file");
- assertThat(isAuthUser4, is(false));
-
- boolean isAuthUser5 = userValidator.isAuthorizedUser("user4");
- assertThat(isAuthUser5, is(true));
- }
-
- /**
- * Test not authorized if file not present.
- *
- * @throws Exception the exception
- */
- @Test
- public void testNotAuthorizedIfFileNotPresent() throws Exception {
- when(userAuthorizationReader.getUsers()).thenCallRealMethod();
- when(userAuthorizationReader.getUserAuthorizationFile()).thenReturn(missingUserAuthFile);
-
- boolean isAuthUser = userValidator.isAuthorizedUser("user1");
- assertThat(isAuthUser, is(false));
- }
-}
diff --git a/sparkybe-onap-service/src/test/java/org/onap/aai/sparky/editattributes/entity/EditRequestTest.java b/sparkybe-onap-service/src/test/java/org/onap/aai/sparky/editattributes/entity/EditRequestTest.java
deleted file mode 100644
index 5f87a27..0000000
--- a/sparkybe-onap-service/src/test/java/org/onap/aai/sparky/editattributes/entity/EditRequestTest.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.onap.aai.sparky.editattributes.entity;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-
-import java.util.HashMap;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.onap.aai.sparky.viewandinspect.EntityTypeAggregation;
-import org.onap.aai.sparky.viewandinspect.entity.GraphMeta;
-
-import com.fasterxml.jackson.databind.node.JsonNodeFactory;
-
-public class EditRequestTest {
-
- private EditRequest editAttribute;
- private HashMap<String,Object> attributes;
-
-
-
- @Before
- public void init() throws Exception {
-
- editAttribute = new EditRequest();
- attributes = new HashMap<String,Object>();
-
- }
-
-
- @Test
- public void updateValues() {
-
- editAttribute.setEntityUri("");
- assertNotNull(editAttribute.getEntityUri());
- editAttribute.setEntityType("");
- assertNotNull(editAttribute.getEntityType());
- editAttribute.setAttributes(attributes);
- assertNotNull(editAttribute.getAttributes());
- }
-
-}
diff --git a/sparkybe-onap-service/src/test/resources/oxm-reader/sparky-core.xml b/sparkybe-onap-service/src/test/resources/oxm-reader/sparky-core.xml
index 86e4132..3a811ed 100644
--- a/sparkybe-onap-service/src/test/resources/oxm-reader/sparky-core.xml
+++ b/sparkybe-onap-service/src/test/resources/oxm-reader/sparky-core.xml
@@ -110,17 +110,6 @@
value="entitycounthistoryindex" />
</bean>
- <bean id="attributeUpdater" class="org.onap.aai.sparky.editattributes.AttributeUpdater">
- <constructor-arg ref="oxmModelLoader" />
- <constructor-arg ref="oxmEntityLookup" />
- <constructor-arg ref="activeInventoryAdapter" />
- </bean>
-
- <bean id="attributeEditProcessor"
- class="org.onap.aai.sparky.editattributes.AttributeEditProcessor">
- <constructor-arg ref="attributeUpdater" />
- </bean>
-
<bean id="geoVisualizationProcessor" class="org.onap.aai.sparky.inventory.GeoVisualizationProcessor">
<constructor-arg ref="elasticSearchAdapter" />
<constructor-arg name="topographicalSearchIndexName"
diff --git a/sparkybe-onap-service/src/test/resources/user-auth-reader/authorized-users-empty.config b/sparkybe-onap-service/src/test/resources/user-auth-reader/authorized-users-empty.config
deleted file mode 100644
index e69de29..0000000
--- a/sparkybe-onap-service/src/test/resources/user-auth-reader/authorized-users-empty.config
+++ /dev/null
diff --git a/sparkybe-onap-service/src/test/resources/user-auth-reader/authorized-users.config b/sparkybe-onap-service/src/test/resources/user-auth-reader/authorized-users.config
deleted file mode 100644
index b9bb4e2..0000000
--- a/sparkybe-onap-service/src/test/resources/user-auth-reader/authorized-users.config
+++ /dev/null
@@ -1,3 +0,0 @@
-user1
-user2 user3
-user4 \ No newline at end of file
diff --git a/sparkybe-onap-service/src/test/resources/user-validator/authorized-users.config b/sparkybe-onap-service/src/test/resources/user-validator/authorized-users.config
deleted file mode 100644
index 58698bc..0000000
--- a/sparkybe-onap-service/src/test/resources/user-validator/authorized-users.config
+++ /dev/null
@@ -1,3 +0,0 @@
- user1
-user2 user3
-user4 \ No newline at end of file