From 86457ed120fc236b1485ad3251589aedad2401bd Mon Sep 17 00:00:00 2001 From: "Eran (ev672n), Vosk" Date: Mon, 6 Aug 2018 17:02:39 +0300 Subject: Changing the dcae dt main code Updating DCAE-dt-main code for Dockerizing the DCAE-CI code Change-Id: Ia50d24e60e9ddc9bbc58dd8651d7a4f7e0dc8270 Issue-ID: SDC-1605 Signed-off-by: Eran (ev672n), Vosk --- dcaedt_tools/src/ReadMe.txt | 8 +- .../java/json/response/ElementsResponse/Data.java | 23 -- .../json/response/ElementsResponse/Element.java | 73 ------ .../ElementsResponse/ElementsResponse.java | 53 ---- .../java/json/response/ItemsResponse/Data.java | 22 -- .../java/json/response/ItemsResponse/Element.java | 53 ---- .../java/json/response/ItemsResponse/Item.java | 203 ---------------- .../json/response/ItemsResponse/ItemsResponse.java | 53 ---- .../java/json/response/ItemsResponse/Model.java | 62 ----- .../src/main/java/tools/DeployTemplate.java | 10 +- .../src/main/java/tools/EntitiesRetriever.java | 33 --- dcaedt_tools/src/main/java/tools/ItemAndAlias.java | 8 +- dcaedt_tools/src/main/java/tools/Main.java | 15 +- dcaedt_tools/src/main/java/tools/NodeData.java | 7 +- .../src/main/java/tools/TemplateContainer.java | 50 ++-- .../src/main/java/utilities/DcaeRestClient.java | 26 +- .../src/main/java/utilities/IDcaeRestClient.java | 8 +- dcaedt_tools/src/main/java/utilities/IReport.java | 2 + dcaedt_tools/src/main/java/utilities/Report.java | 11 + dcaedt_tools/src/main/resources/conf/config.json | 269 ++++++++++++--------- dcaedt_tools/src/test/java/BaseTest.java | 67 ++--- .../src/test/java/EntitiesRetrieverTest.java | 29 --- .../src/test/java/TemplateContainerTest.java | 35 +-- 23 files changed, 282 insertions(+), 838 deletions(-) delete mode 100644 dcaedt_tools/src/main/java/json/response/ElementsResponse/Data.java delete mode 100644 dcaedt_tools/src/main/java/json/response/ElementsResponse/Element.java delete mode 100644 dcaedt_tools/src/main/java/json/response/ElementsResponse/ElementsResponse.java delete mode 100644 dcaedt_tools/src/main/java/json/response/ItemsResponse/Data.java delete mode 100644 dcaedt_tools/src/main/java/json/response/ItemsResponse/Element.java delete mode 100644 dcaedt_tools/src/main/java/json/response/ItemsResponse/Item.java delete mode 100644 dcaedt_tools/src/main/java/json/response/ItemsResponse/ItemsResponse.java delete mode 100644 dcaedt_tools/src/main/java/json/response/ItemsResponse/Model.java delete mode 100644 dcaedt_tools/src/main/java/tools/EntitiesRetriever.java delete mode 100644 dcaedt_tools/src/test/java/EntitiesRetrieverTest.java (limited to 'dcaedt_tools') diff --git a/dcaedt_tools/src/ReadMe.txt b/dcaedt_tools/src/ReadMe.txt index 4657a81..9813f98 100644 --- a/dcaedt_tools/src/ReadMe.txt +++ b/dcaedt_tools/src/ReadMe.txt @@ -61,4 +61,10 @@ config.json example: }] } ] - } \ No newline at end of file + } + + + exit codes: + 0 - completed successfully + 1 - completed with errors + 2 - failed \ No newline at end of file diff --git a/dcaedt_tools/src/main/java/json/response/ElementsResponse/Data.java b/dcaedt_tools/src/main/java/json/response/ElementsResponse/Data.java deleted file mode 100644 index 15876af..0000000 --- a/dcaedt_tools/src/main/java/json/response/ElementsResponse/Data.java +++ /dev/null @@ -1,23 +0,0 @@ - -package json.response.ElementsResponse; - -import java.util.List; -import javax.annotation.Generated; -import com.google.gson.annotations.SerializedName; - -@Generated("net.hexar.json2pojo") -@SuppressWarnings("unused") -public class Data { - - @SerializedName("elements") - private List mElements; - - public List getElements() { - return mElements; - } - - public void setElements(List elements) { - mElements = elements; - } - -} diff --git a/dcaedt_tools/src/main/java/json/response/ElementsResponse/Element.java b/dcaedt_tools/src/main/java/json/response/ElementsResponse/Element.java deleted file mode 100644 index 6402061..0000000 --- a/dcaedt_tools/src/main/java/json/response/ElementsResponse/Element.java +++ /dev/null @@ -1,73 +0,0 @@ - -package json.response.ElementsResponse; - -import java.util.List; -import javax.annotation.Generated; -import com.google.gson.annotations.SerializedName; - -@Generated("net.hexar.json2pojo") -@SuppressWarnings("unused") -public class Element { - - @SerializedName("catalog") - private String mCatalog; - @SerializedName("catalogId") - private Long mCatalogId; - @SerializedName("id") - private Long mId; - @SerializedName("itemId") - private String mItemId; - @SerializedName("labels") - private List mLabels; - @SerializedName("name") - private String mName; - - public String getCatalog() { - return mCatalog; - } - - public void setCatalog(String catalog) { - mCatalog = catalog; - } - - public Long getCatalogId() { - return mCatalogId; - } - - public void setCatalogId(Long catalogId) { - mCatalogId = catalogId; - } - - public Long getId() { - return mId; - } - - public void setId(Long id) { - mId = id; - } - - public String getItemId() { - return mItemId; - } - - public void setItemId(String itemId) { - mItemId = itemId; - } - - public List getLabels() { - return mLabels; - } - - public void setLabels(List labels) { - mLabels = labels; - } - - public String getName() { - return mName; - } - - public void setName(String name) { - mName = name; - } - -} diff --git a/dcaedt_tools/src/main/java/json/response/ElementsResponse/ElementsResponse.java b/dcaedt_tools/src/main/java/json/response/ElementsResponse/ElementsResponse.java deleted file mode 100644 index 02dcdf2..0000000 --- a/dcaedt_tools/src/main/java/json/response/ElementsResponse/ElementsResponse.java +++ /dev/null @@ -1,53 +0,0 @@ - -package json.response.ElementsResponse; - -import javax.annotation.Generated; -import com.google.gson.annotations.SerializedName; -import json.response.Error; - -@Generated("net.hexar.json2pojo") -@SuppressWarnings("unused") -public class ElementsResponse { - - @SerializedName("data") - private Data mData; - @SerializedName("error") - private Error mError; - @SerializedName("id") - private Object mId; - @SerializedName("timestamp") - private Long mTimestamp; - - public Data getData() { - return mData; - } - - public void setData(Data data) { - mData = data; - } - - public Error getError() { - return mError; - } - - public void setError(Error error) { - mError = error; - } - - public Object getId() { - return mId; - } - - public void setId(Object id) { - mId = id; - } - - public Long getTimestamp() { - return mTimestamp; - } - - public void setTimestamp(Long timestamp) { - mTimestamp = timestamp; - } - -} diff --git a/dcaedt_tools/src/main/java/json/response/ItemsResponse/Data.java b/dcaedt_tools/src/main/java/json/response/ItemsResponse/Data.java deleted file mode 100644 index 36fcb09..0000000 --- a/dcaedt_tools/src/main/java/json/response/ItemsResponse/Data.java +++ /dev/null @@ -1,22 +0,0 @@ - -package json.response.ItemsResponse; - -import javax.annotation.Generated; -import com.google.gson.annotations.SerializedName; - -@Generated("net.hexar.json2pojo") -@SuppressWarnings("unused") -public class Data { - - @SerializedName("element") - private Element mElement; - - public Element getElement() { - return mElement; - } - - public void setElement(Element element) { - mElement = element; - } - -} diff --git a/dcaedt_tools/src/main/java/json/response/ItemsResponse/Element.java b/dcaedt_tools/src/main/java/json/response/ItemsResponse/Element.java deleted file mode 100644 index 5d56a25..0000000 --- a/dcaedt_tools/src/main/java/json/response/ItemsResponse/Element.java +++ /dev/null @@ -1,53 +0,0 @@ - -package json.response.ItemsResponse; - -import java.util.List; -import javax.annotation.Generated; -import com.google.gson.annotations.SerializedName; - -@Generated("net.hexar.json2pojo") -@SuppressWarnings("unused") -public class Element { - - @SerializedName("id") - private Long mId; - @SerializedName("itemId") - private String mItemId; - @SerializedName("items") - private List mItems; - @SerializedName("name") - private String mName; - - public Long getId() { - return mId; - } - - public void setId(Long id) { - mId = id; - } - - public String getItemId() { - return mItemId; - } - - public void setItemId(String itemId) { - mItemId = itemId; - } - - public List getItems() { - return mItems; - } - - public void setItems(List items) { - mItems = items; - } - - public String getName() { - return mName; - } - - public void setName(String name) { - mName = name; - } - -} diff --git a/dcaedt_tools/src/main/java/json/response/ItemsResponse/Item.java b/dcaedt_tools/src/main/java/json/response/ItemsResponse/Item.java deleted file mode 100644 index 6f0e518..0000000 --- a/dcaedt_tools/src/main/java/json/response/ItemsResponse/Item.java +++ /dev/null @@ -1,203 +0,0 @@ - -package json.response.ItemsResponse; - -import java.util.List; -import javax.annotation.Generated; -import com.google.gson.annotations.SerializedName; - -@Generated("net.hexar.json2pojo") -@SuppressWarnings("unused") -public class Item { - - @SerializedName("artifacts") - private List mArtifacts; - @SerializedName("catalog") - private String mCatalog; - @SerializedName("catalogId") - private Long mCatalogId; - @SerializedName("category") - private String mCategory; - @SerializedName("description") - private String mDescription; - @SerializedName("id") - private Long mId; - @SerializedName("invariantUUID") - private String mInvariantUUID; - @SerializedName("itemId") - private String mItemId; - @SerializedName("lastUpdaterFullName") - private String mLastUpdaterFullName; - @SerializedName("lastUpdaterUserId") - private String mLastUpdaterUserId; - @SerializedName("lifecycleState") - private String mLifecycleState; - @SerializedName("models") - private List mModels; - @SerializedName("name") - private String mName; - @SerializedName("resourceType") - private String mResourceType; - @SerializedName("subCategory") - private String mSubCategory; - @SerializedName("toscaModelURL") - private String mToscaModelURL; - @SerializedName("toscaResourceName") - private String mToscaResourceName; - @SerializedName("uuid") - private String mUuid; - @SerializedName("version") - private String mVersion; - - public List getArtifacts() { - return mArtifacts; - } - - public void setArtifacts(List artifacts) { - mArtifacts = artifacts; - } - - public String getCatalog() { - return mCatalog; - } - - public void setCatalog(String catalog) { - mCatalog = catalog; - } - - public Long getCatalogId() { - return mCatalogId; - } - - public void setCatalogId(Long catalogId) { - mCatalogId = catalogId; - } - - public String getCategory() { - return mCategory; - } - - public void setCategory(String category) { - mCategory = category; - } - - public String getDescription() { - return mDescription; - } - - public void setDescription(String description) { - mDescription = description; - } - - public Long getId() { - return mId; - } - - public void setId(Long id) { - mId = id; - } - - public String getInvariantUUID() { - return mInvariantUUID; - } - - public void setInvariantUUID(String invariantUUID) { - mInvariantUUID = invariantUUID; - } - - public String getItemId() { - return mItemId; - } - - public void setItemId(String itemId) { - mItemId = itemId; - } - - public String getLastUpdaterFullName() { - return mLastUpdaterFullName; - } - - public void setLastUpdaterFullName(String lastUpdaterFullName) { - mLastUpdaterFullName = lastUpdaterFullName; - } - - public String getLastUpdaterUserId() { - return mLastUpdaterUserId; - } - - public void setLastUpdaterUserId(String lastUpdaterUserId) { - mLastUpdaterUserId = lastUpdaterUserId; - } - - public String getLifecycleState() { - return mLifecycleState; - } - - public void setLifecycleState(String lifecycleState) { - mLifecycleState = lifecycleState; - } - - public List getModels() { - return mModels; - } - - public void setModels(List models) { - mModels = models; - } - - public String getName() { - return mName; - } - - public void setName(String name) { - mName = name; - } - - public String getResourceType() { - return mResourceType; - } - - public void setResourceType(String resourceType) { - mResourceType = resourceType; - } - - public String getSubCategory() { - return mSubCategory; - } - - public void setSubCategory(String subCategory) { - mSubCategory = subCategory; - } - - public String getToscaModelURL() { - return mToscaModelURL; - } - - public void setToscaModelURL(String toscaModelURL) { - mToscaModelURL = toscaModelURL; - } - - public String getToscaResourceName() { - return mToscaResourceName; - } - - public void setToscaResourceName(String toscaResourceName) { - mToscaResourceName = toscaResourceName; - } - - public String getUuid() { - return mUuid; - } - - public void setUuid(String uuid) { - mUuid = uuid; - } - - public String getVersion() { - return mVersion; - } - - public void setVersion(String version) { - mVersion = version; - } - -} diff --git a/dcaedt_tools/src/main/java/json/response/ItemsResponse/ItemsResponse.java b/dcaedt_tools/src/main/java/json/response/ItemsResponse/ItemsResponse.java deleted file mode 100644 index 5b64b59..0000000 --- a/dcaedt_tools/src/main/java/json/response/ItemsResponse/ItemsResponse.java +++ /dev/null @@ -1,53 +0,0 @@ - -package json.response.ItemsResponse; - -import javax.annotation.Generated; -import com.google.gson.annotations.SerializedName; -import json.response.Error; - -@Generated("net.hexar.json2pojo") -@SuppressWarnings("unused") -public class ItemsResponse { - - @SerializedName("data") - private Data mData; - @SerializedName("error") - private Error mError; - @SerializedName("id") - private Object mId; - @SerializedName("timestamp") - private Long mTimestamp; - - public Data getData() { - return mData; - } - - public void setData(Data data) { - mData = data; - } - - public Error getError() { - return mError; - } - - public void setError(Error error) { - mError = error; - } - - public Object getId() { - return mId; - } - - public void setId(Object id) { - mId = id; - } - - public Long getTimestamp() { - return mTimestamp; - } - - public void setTimestamp(Long timestamp) { - mTimestamp = timestamp; - } - -} diff --git a/dcaedt_tools/src/main/java/json/response/ItemsResponse/Model.java b/dcaedt_tools/src/main/java/json/response/ItemsResponse/Model.java deleted file mode 100644 index 036b16b..0000000 --- a/dcaedt_tools/src/main/java/json/response/ItemsResponse/Model.java +++ /dev/null @@ -1,62 +0,0 @@ - -package json.response.ItemsResponse; - -import javax.annotation.Generated; -import com.google.gson.annotations.SerializedName; - -@Generated("net.hexar.json2pojo") -@SuppressWarnings("unused") -public class Model { - - @SerializedName("description") - private String mDescription; - @SerializedName("id") - private String mId; - @SerializedName("itemId") - private String mItemId; - @SerializedName("name") - private String mName; - @SerializedName("version") - private String mVersion; - - public String getDescription() { - return mDescription; - } - - public void setDescription(String description) { - mDescription = description; - } - - public String getId() { - return mId; - } - - public void setId(String id) { - mId = id; - } - - public String getItemId() { - return mItemId; - } - - public void setItemId(String itemId) { - mItemId = itemId; - } - - public String getName() { - return mName; - } - - public void setName(String name) { - mName = name; - } - - public String getVersion() { - return mVersion; - } - - public void setVersion(String version) { - mVersion = version; - } - -} diff --git a/dcaedt_tools/src/main/java/tools/DeployTemplate.java b/dcaedt_tools/src/main/java/tools/DeployTemplate.java index d319542..556316b 100644 --- a/dcaedt_tools/src/main/java/tools/DeployTemplate.java +++ b/dcaedt_tools/src/main/java/tools/DeployTemplate.java @@ -29,7 +29,7 @@ public class DeployTemplate { } public void deploy(Map templateInfoToJsonObjectMap) { - ArrayList vfcmtList = new ArrayList(); + ArrayList vfcmtList = new ArrayList<>(); List regularVfcmtList = dcaeRestClient.getAllVfcmts(); if (regularVfcmtList != null) { vfcmtList.addAll(regularVfcmtList); @@ -55,7 +55,7 @@ public class DeployTemplate { private void verify(Map templateInfoToJsonObjectMap) { AtomicInteger foundCount = new AtomicInteger(); debugLogger.log("Starting verify deployment"); - ArrayList vfcmtList = new ArrayList(); + ArrayList vfcmtList = new ArrayList<>(); List regularVfcmtList = dcaeRestClient.getAllVfcmts(); if (regularVfcmtList != null) { vfcmtList.addAll(regularVfcmtList); @@ -91,10 +91,11 @@ public class DeployTemplate { saveAndCertify(jsonObject, vfcmt); - } catch (HttpServerErrorException e) { + } catch (Exception e) { String msg = FAILED_UPDATE_VFCMT + templateInfo.getName() + ", With general message: " + e.getMessage(); report.addErrorMessage(msg); errLogger.log(msg + " " + e); + report.setStatusCode(2); } } @@ -120,10 +121,11 @@ public class DeployTemplate { } else { report.addNotUpdatedMessage("vfcmt: " + vfcmt.getName() + " found, but didn't update."); } - } catch (HttpServerErrorException e) { + } catch (Exception e) { String msg = FAILED_UPDATE_VFCMT + vfcmt.getName() + ", With general message: " + e.getMessage(); report.addErrorMessage(msg); errLogger.log( msg + " " + e); + report.setStatusCode(2); } } diff --git a/dcaedt_tools/src/main/java/tools/EntitiesRetriever.java b/dcaedt_tools/src/main/java/tools/EntitiesRetriever.java deleted file mode 100644 index 0c31ddf..0000000 --- a/dcaedt_tools/src/main/java/tools/EntitiesRetriever.java +++ /dev/null @@ -1,33 +0,0 @@ -package tools; - -import json.response.ElementsResponse.Element; -import json.response.ItemsResponse.Item; -import utilities.IDcaeRestClient; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - - -public class EntitiesRetriever { - private final IDcaeRestClient dcaeRestClient; - - EntitiesRetriever(IDcaeRestClient dcaeRestClient) { - - this.dcaeRestClient = dcaeRestClient; - } - - public Map> getElementsByFolder() { - List elementList = dcaeRestClient.getElements(); - Map> elementsByFolderNames = new HashMap<>(); - - for (Element element : elementList) { - List items = dcaeRestClient.getItem(element.getName()); - if (items == null) { - continue; - } - elementsByFolderNames.put(element.getName(), items); - } - return elementsByFolderNames; - } -} diff --git a/dcaedt_tools/src/main/java/tools/ItemAndAlias.java b/dcaedt_tools/src/main/java/tools/ItemAndAlias.java index e282a58..dae65ef 100644 --- a/dcaedt_tools/src/main/java/tools/ItemAndAlias.java +++ b/dcaedt_tools/src/main/java/tools/ItemAndAlias.java @@ -1,16 +1,16 @@ package tools; -import json.response.ItemsResponse.Item; +import org.onap.sdc.dcae.composition.restmodels.sdc.Resource; public class ItemAndAlias { - private final Item item; + private final Resource item; private final String alias; - public ItemAndAlias(Item item, String alias) { + public ItemAndAlias(Resource item, String alias) { this.item = item; this.alias = alias; } - public Item getItem() { + public Resource getItem() { return item; } diff --git a/dcaedt_tools/src/main/java/tools/Main.java b/dcaedt_tools/src/main/java/tools/Main.java index bf02c44..142b6bd 100644 --- a/dcaedt_tools/src/main/java/tools/Main.java +++ b/dcaedt_tools/src/main/java/tools/Main.java @@ -4,10 +4,11 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.google.gson.JsonObject; import json.Environment; -import json.response.ItemsResponse.Item; + import json.templateInfo.DeployTemplateConfig; import json.templateInfo.TemplateInfo; +import org.onap.sdc.dcae.composition.restmodels.sdc.Resource; import utilities.IDcaeRestClient; import utilities.IReport; import utilities.Report; @@ -35,7 +36,7 @@ public class Main { debugLogger.log("Starting VFCMT template deployment"); if (args.length != 2) { errLogger.log("Got " + args.length + ", but expecting exactly 2 arguments ONLY!"); - return; + System.exit(2); } debugLogger.log("Arguments:"); Arrays.stream(args).forEach(arg -> debugLogger.log(arg)); @@ -50,8 +51,7 @@ public class Main { IDcaeRestClient dcaeRestClient = new DcaeRestClient(environment.getCredential()); dcaeRestClient.init(environment); - EntitiesRetriever entitiesRetriever = new EntitiesRetriever(dcaeRestClient); - Map> elementsByFolderNames = entitiesRetriever.getElementsByFolder(); + Map> elementsByFolderNames = dcaeRestClient.getDcaeCatalog(); TemplateContainer templateContainer = new TemplateContainer(report, dcaeRestClient, deployTemplateConfig.getTemplateInfo(), elementsByFolderNames); Map templateInfoToJsonObjectMap = templateContainer.getCdumps(); @@ -59,15 +59,20 @@ public class Main { DeployTemplate deployTemplate = new DeployTemplate(report, dcaeRestClient); deployTemplate.deploy(templateInfoToJsonObjectMap); - debugLogger.log( "VFCMT template deployment completed successfully"); + debugLogger.log( "VFCMT template deployment completed"); + } catch (RuntimeException e) { errLogger.log("ERROR - Template deployment failed with error " + e, e); + report.setStatusCode(2); } catch (ConnectException e) { errLogger.log( "ERROR - Failed connection to server, are you on AT&T network? {}" + e, e); + report.setStatusCode(2); } catch (IOException e) { errLogger.log( "ERROR - Fatal Error! " + e, e); + report.setStatusCode(2); } finally { debugLogger.log(report.toString()); + report.reportAndExit(); } } diff --git a/dcaedt_tools/src/main/java/tools/NodeData.java b/dcaedt_tools/src/main/java/tools/NodeData.java index e9043de..a2df502 100644 --- a/dcaedt_tools/src/main/java/tools/NodeData.java +++ b/dcaedt_tools/src/main/java/tools/NodeData.java @@ -2,6 +2,7 @@ package tools; import com.google.gson.JsonArray; import com.google.gson.JsonObject; +import org.apache.commons.lang3.StringUtils; public class NodeData { private final JsonArray capabilities; @@ -41,7 +42,11 @@ public class NodeData { } public String getNameWithAlias() { - return aliasBelong + "." + nodeName; + if (StringUtils.isBlank(aliasBelong)) { + return nodeName; + } else { + return aliasBelong + "." + nodeName; + } } public String getAliasBelong() { diff --git a/dcaedt_tools/src/main/java/tools/TemplateContainer.java b/dcaedt_tools/src/main/java/tools/TemplateContainer.java index a5bca1f..b8b7b5a 100644 --- a/dcaedt_tools/src/main/java/tools/TemplateContainer.java +++ b/dcaedt_tools/src/main/java/tools/TemplateContainer.java @@ -4,12 +4,12 @@ import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; -import json.response.ItemsResponse.Item; import json.templateInfo.Composition; import json.templateInfo.NodeToDelete; import json.templateInfo.Relation; import json.templateInfo.TemplateInfo; import org.apache.commons.lang3.StringUtils; +import org.onap.sdc.dcae.composition.restmodels.sdc.Resource; import utilities.IDcaeRestClient; import utilities.IReport; @@ -20,16 +20,16 @@ import java.util.concurrent.atomic.AtomicReference; public class TemplateContainer { private static final String NODES = "nodes"; private static final String RELATIONSHIP = "relationship"; - public static final String ASSIGNMENT = "assignment"; + private static final String ASSIGNMENT = "assignment"; private static long nidCounter = 0; private final IReport report; private final IDcaeRestClient dcaeRestClient; private final List templateInfos; - private final Map> elementsByFolderNames; + private final Map> elementsByFolderNames; private LoggerDebug debugLogger = LoggerDebug.getInstance(); - public TemplateContainer(IReport report, IDcaeRestClient dcaeRestClient, List templateInfos, Map> elementsByFolderNames) { + public TemplateContainer(IReport report, IDcaeRestClient dcaeRestClient, List templateInfos, Map> elementsByFolderNames) { this.report = report; this.dcaeRestClient = dcaeRestClient; this.templateInfos = templateInfos; @@ -69,6 +69,7 @@ public class TemplateContainer { List items = findTemplate(templateInfo); if (items == null || items.isEmpty()) { report.addErrorMessage("vfcmt: " + templateInfo.getName() + ". DCAE Component not found"); + report.setStatusCode(1); continue; } templateInfoToJsonObjectMap.put(templateInfo, getCdumpJsonObject(items, templateInfo)); @@ -81,20 +82,21 @@ public class TemplateContainer { Map> itemMapHashMap = new HashMap<>(); JsonArray relationsJsonArray = new JsonArray(); for (ItemAndAlias itemAndAlias : ItemsAndAlias) { - Item item = itemAndAlias.getItem(); + Resource item = itemAndAlias.getItem(); debugLogger.log("Creating cdump for item: " + item.getName()); JsonArray jsonArrayNode = cdumpJsonObject.getAsJsonArray(NODES); JsonParser jsonParser = new JsonParser(); - JsonArray allNodeTemplates = jsonParser.parse(dcaeRestClient.getItemModel(item.getItemId())).getAsJsonObject().get("data").getAsJsonObject().get("model").getAsJsonObject().get(NODES).getAsJsonArray(); + JsonObject modelResponse = jsonParser.parse(dcaeRestClient.getItemModel(item.getUuid())).getAsJsonObject().get("data").getAsJsonObject().get("model").getAsJsonObject(); + JsonArray allNodeTemplates = modelResponse.get(NODES).getAsJsonArray(); Map stringRelationsDataMap = new HashMap<>(); for (JsonElement nodeElement : allNodeTemplates) { if (checkIfNeedToSkip(templateInfo.getNodesToDelete(), nodeElement, item.getName())) { continue; } JsonObject responseModelJson = nodeElement.getAsJsonObject(); - JsonObject responseTypeInfoJson = jsonParser.parse(dcaeRestClient.getItemType(item.getItemId(), responseModelJson.get("type").getAsString())).getAsJsonObject().get("data").getAsJsonObject().get("type").getAsJsonObject(); - String nodeName = itemAndAlias.getAlias() + "." + responseModelJson.get("name").getAsString(); - JsonObject jsonObjectElement = newNodeTemplate(nodeName, item.getModels().get(0).getItemId()); + JsonObject responseTypeInfoJson = jsonParser.parse(dcaeRestClient.getItemType(item.getUuid(), responseModelJson.get("type").getAsString())).getAsJsonObject().get("data").getAsJsonObject().get("type").getAsJsonObject(); + String nodeName = itemAndAlias.getAlias() != "" ? itemAndAlias.getAlias() + "." + responseModelJson.get("name").getAsString() : responseModelJson.get("name").getAsString(); + JsonObject jsonObjectElement = newNodeTemplate(nodeName, modelResponse.get("itemId").getAsString()); jsonObjectElement.addProperty("id", responseTypeInfoJson.get("itemId").getAsString().split("/")[0]); String nid = "n." + new Date().getTime() + "." + nidCounter++; jsonObjectElement.addProperty("nid", nid); @@ -228,7 +230,7 @@ public class TemplateContainer { metaData.addProperty("n1", nidListByRequirement.get(requirement)); metaData.addProperty("p1", requirement.get("name").toString().replaceAll("\"", "")); relationElement.addProperty("n2", toNId); - relationElement.addProperty("name2", fromNode.getAliasBelong() + "." + toNodeName); + relationElement.addProperty("name2", StringUtils.isBlank(fromNode.getAliasBelong()) ? toNodeName : fromNode.getAliasBelong() + "." + toNodeName); metaData.addProperty("n2", toNId); String capabilityFullName = requirement.get("capability").getAsJsonObject().get("name").toString(); String capabilityShortName = StringUtils.substringAfterLast(capabilityFullName, "."); @@ -270,10 +272,18 @@ public class TemplateContainer { JsonObject relationElement = new JsonObject(); String fromComponent = relation.getFromComponent(); String toComponent = relation.getToComponent(); - String fromComponentAlias = StringUtils.substringBefore(fromComponent, "."); - String fromComponentNodeName = StringUtils.substringAfterLast(fromComponent, "."); - String toComponentAlias = StringUtils.substringBefore(toComponent, "."); - String toComponentNodeName = StringUtils.substringAfterLast(toComponent, "."); + String fromComponentAlias = ""; + String fromComponentNodeName = fromComponent; + if ((fromComponent.contains("."))) { + fromComponentAlias = StringUtils.substringBefore(fromComponent, "."); + fromComponentNodeName = StringUtils.substringAfterLast(fromComponent, "."); + } + String toComponentAlias = ""; + String toComponentNodeName = toComponent; + if (toComponent.contains(".")) { + toComponentAlias = StringUtils.substringBefore(toComponent, "."); + toComponentNodeName = StringUtils.substringAfterLast(toComponent, "."); + } boolean findTo = false; boolean findFrom = false; for (ItemAndAlias item : nodeDataByNidByItem.keySet()) { @@ -281,12 +291,14 @@ public class TemplateContainer { for (String nid : nodeDataByNid.keySet()) { NodeData currentNodeData = nodeDataByNid.get(nid); + String finalFromComponentAlias = fromComponentAlias; + String finalFromComponentNodeName = fromComponentNodeName; Optional isFoundComposition = templateInfo.getComposition().stream() - .filter(element -> fromComponentAlias.equalsIgnoreCase(element.getAlias()) + .filter(element -> finalFromComponentAlias.equalsIgnoreCase(element.getAlias()) && element.getAlias().equalsIgnoreCase(currentNodeData.getAliasBelong()) && element.getAlias().equalsIgnoreCase(item.getAlias()) && element.getType().equalsIgnoreCase(item.getItem().getName()) - && fromComponentNodeName.equalsIgnoreCase(currentNodeData.getName())).findAny(); + && finalFromComponentNodeName.equalsIgnoreCase(currentNodeData.getName())).findAny(); if (isFoundComposition.isPresent()) { boolean isFound = findNode(relation.getFromRequirement(), currentNodeData.getRequirements()); if (isFound) { @@ -313,12 +325,14 @@ public class TemplateContainer { } + String finalToComponentNodeName = toComponentNodeName; + String finalToComponentAlias = toComponentAlias; isFoundComposition = templateInfo.getComposition().stream() - .filter(element -> toComponentAlias.equalsIgnoreCase(element.getAlias()) + .filter(element -> finalToComponentAlias.equalsIgnoreCase(element.getAlias()) && element.getAlias().equalsIgnoreCase(currentNodeData.getAliasBelong()) && element.getAlias().equalsIgnoreCase(item.getAlias()) && element.getType().equalsIgnoreCase(item.getItem().getName()) - && toComponentNodeName.equalsIgnoreCase(currentNodeData.getName())).findAny(); + && finalToComponentNodeName.equalsIgnoreCase(currentNodeData.getName())).findAny(); if (isFoundComposition.isPresent()) { boolean isFound = findNode(relation.getToCapability(), currentNodeData.getCapabilities()); if (isFound) { diff --git a/dcaedt_tools/src/main/java/utilities/DcaeRestClient.java b/dcaedt_tools/src/main/java/utilities/DcaeRestClient.java index 7e991d7..ee6cdc7 100644 --- a/dcaedt_tools/src/main/java/utilities/DcaeRestClient.java +++ b/dcaedt_tools/src/main/java/utilities/DcaeRestClient.java @@ -2,14 +2,12 @@ package utilities; import json.Credential; import json.Environment; -import json.response.ElementsResponse.Element; -import json.response.ElementsResponse.ElementsResponse; -import json.response.ItemsResponse.Item; -import json.response.ItemsResponse.ItemsResponse; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.message.BasicHeader; import org.onap.sdc.dcae.composition.restmodels.CreateVFCMTRequest; +import org.onap.sdc.dcae.composition.restmodels.canvas.DcaeComponentCatalog; +import org.onap.sdc.dcae.composition.restmodels.sdc.Resource; import org.onap.sdc.dcae.composition.restmodels.sdc.ResourceDetailed; import org.springframework.http.*; import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; @@ -17,10 +15,10 @@ import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; import javax.annotation.PostConstruct; -import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -30,6 +28,7 @@ public class DcaeRestClient implements IDcaeRestClient { private static final String GET_RESOURCES_BY_CATEGORY = "/getResourcesByCategory"; private static final String CREATE_VFCMT = "/createVFCMT"; private static final String ELEMENTS = "/elements"; + private static final String CATALOG = "/catalog"; private static final String ECOMP_INSTANCE_ID_HEADER = "X-ECOMP-InstanceID"; @@ -102,16 +101,13 @@ public class DcaeRestClient implements IDcaeRestClient { return resourceDetailedResponse.getBody(); } - @Override - public List getElements() { - String url = buildRequestPath(ELEMENTS); - return client.getForObject(url, ElementsResponse.class).getData().getElements(); - } - @Override - public List getItem(String element) { - String url = buildRequestPath("/"+ element + ELEMENTS); - return client.getForObject(url, ItemsResponse.class).getData().getElement() == null ? null : client.getForObject(url, ItemsResponse.class).getData().getElement().getItems(); - } + @Override + public Map> getDcaeCatalog() { + String url = buildRequestPath(CATALOG); + DcaeComponentCatalog catalog = client.getForObject(url, DcaeComponentCatalog.class); + return catalog.getElements().stream().collect(Collectors.toMap(DcaeComponentCatalog.SubCategoryFolder::getName, DcaeComponentCatalog.SubCategoryFolder::getItems)); + } + @Override public String getItemModel(String elementId) { diff --git a/dcaedt_tools/src/main/java/utilities/IDcaeRestClient.java b/dcaedt_tools/src/main/java/utilities/IDcaeRestClient.java index bfe3595..a1ccdbe 100644 --- a/dcaedt_tools/src/main/java/utilities/IDcaeRestClient.java +++ b/dcaedt_tools/src/main/java/utilities/IDcaeRestClient.java @@ -1,12 +1,12 @@ package utilities; import json.Environment; -import json.response.ElementsResponse.Element; -import json.response.ItemsResponse.Item; import org.onap.sdc.dcae.composition.restmodels.CreateVFCMTRequest; +import org.onap.sdc.dcae.composition.restmodels.sdc.Resource; import org.onap.sdc.dcae.composition.restmodels.sdc.ResourceDetailed; import java.util.List; +import java.util.Map; public interface IDcaeRestClient { void init(Environment environment); @@ -23,9 +23,7 @@ public interface IDcaeRestClient { ResourceDetailed checkinVfcmt(String vfcmtUuid); - List getElements(); - - List getItem(String element); + Map> getDcaeCatalog(); String getItemModel(String elementId); diff --git a/dcaedt_tools/src/main/java/utilities/IReport.java b/dcaedt_tools/src/main/java/utilities/IReport.java index 4c5f8af..5f4099c 100644 --- a/dcaedt_tools/src/main/java/utilities/IReport.java +++ b/dcaedt_tools/src/main/java/utilities/IReport.java @@ -5,4 +5,6 @@ public interface IReport { void addUpdatedMessage(String message); void addNotUpdatedMessage(String message); void addErrorMessage(String message); + void setStatusCode(int statusCode); + void reportAndExit(); } diff --git a/dcaedt_tools/src/main/java/utilities/Report.java b/dcaedt_tools/src/main/java/utilities/Report.java index 8f79056..0b99603 100644 --- a/dcaedt_tools/src/main/java/utilities/Report.java +++ b/dcaedt_tools/src/main/java/utilities/Report.java @@ -9,6 +9,7 @@ public class Report implements IReport { private List updated = new ArrayList<>(); private List notUpdated = new ArrayList<>(); private List error = new ArrayList<>(); + private int statusCode = 0; @Override public void addCreatedMessage(String message) { @@ -51,4 +52,14 @@ public class Report implements IReport { } return stringBuilder.toString(); } + + + public void reportAndExit() { + System.exit(statusCode); + } + + public void setStatusCode(int statusCode) { + this.statusCode = statusCode; + } + } diff --git a/dcaedt_tools/src/main/resources/conf/config.json b/dcaedt_tools/src/main/resources/conf/config.json index 4ca81cc..f7c07d7 100644 --- a/dcaedt_tools/src/main/resources/conf/config.json +++ b/dcaedt_tools/src/main/resources/conf/config.json @@ -1,6 +1,7 @@ + { "templateInfo": [{ - "name": "Syslog Collector Template", + "name": "Syslog Collector", "flowType": "Syslog Collector", "description": "Syslog Collector", "category": "Template", @@ -8,24 +9,10 @@ "updateIfExist": "false", "composition": [{ "type": "SyslogCollector", - "alias": "Syslog" - }, { - "type": "Existing Topic", - "alias": "eTopic" - }], - "relations": [{ - "fromComponent": "Syslog.SyslogCollector", - "fromRequirement": "stream_publish_0", - "toComponent": "eTopic.topic", - "toCapability": "topic" - }], - "nodesToDelete": [ - { - "type": "SyslogCollector", - "nodeName": "topic0" - }] + "alias": "" + }] },{ - "name": "Syslog MSEA Template", + "name": "Syslog MSEA", "flowType": "Syslog MSEA", "description": "Syslog MSEA", "category": "Template", @@ -33,60 +20,37 @@ "updateIfExist": "false", "composition": [{ "type": "Map", - "alias": "Map" + "alias": "" }, { "type": "Supplement", - "alias": "Sup" + "alias": "" }, { "type": "Enrich", - "alias": "Enr" + "alias": "" }, { "type": "Alert", - "alias": "Ale" + "alias": "" }], "relations": [{ - "fromComponent": "Sup.Supplement", + "fromComponent": "Supplement", "fromRequirement": "dependency", - "toComponent": "Map.Map", + "toComponent": "Map", "toCapability": "feature" },{ - "fromComponent": "Enr.Enrich", + "fromComponent": "Enrich", "fromRequirement": "dependency", - "toComponent": "Sup.Supplement", + "toComponent": "Supplement", "toCapability": "feature" },{ - "fromComponent": "Ale.Alert", + "fromComponent": "Alert", "fromRequirement": "dependency", - "toComponent": "Enr.Enrich", + "toComponent": "Enrich", "toCapability": "feature" }] - },{ - "name": "Status Poller Collector Template", - "flowType": "Status Poller Collector", - "description": "Status Poller Collector", - "category": "Template", - "subCategory":"Base Monitoring Template", - "updateIfExist": "false", - "composition": [{ - "type": "StatusPoller", - "alias": "sPoller" - }, { - "type": "Existing Topic", - "alias": "eTopic0" - }], - "relations": [{ - "fromComponent": "sPoller.StatusPoller", - "fromRequirement": "stream_publish_0", - "toComponent": "eTopic0.topic", - "toCapability": "topic" - }], - "nodesToDelete": [ - { - "type": "StatusPoller", - "nodeName": "topic0" - }] - }, { - "name": "Status Poller MSE Template", + }, + + { + "name": "Status Poller MSE", "flowType": "Status Poller MSE", "description": "Status Poller MSE", "category": "Template", @@ -94,27 +58,27 @@ "updateIfExist": "false", "composition": [{ "type": "Map", - "alias": "Map" + "alias": "" }, { "type": "Supplement", - "alias": "Sup" + "alias": "" }, { "type": "Enrich", - "alias": "Enr" + "alias": "" }], "relations": [{ - "fromComponent": "Sup.Supplement", + "fromComponent": "Supplement", "fromRequirement": "dependency", - "toComponent": "Map.Map", + "toComponent": "Map", "toCapability": "feature" },{ - "fromComponent": "Enr.Enrich", + "fromComponent": "Enrich", "fromRequirement": "dependency", - "toComponent": "Sup.Supplement", + "toComponent": "Supplement", "toCapability": "feature" }] }, { - "name": "FOI Collector Template", + "name": "FOI Collector", "flowType": "FOI Collector", "description": "FOI Collector", "category": "Template", @@ -122,24 +86,11 @@ "updateIfExist": "false", "composition": [{ "type": "FOICollector", - "alias": "fCollector" - }, { - "type": "Existing Feed", - "alias": "eFeed" - }], - "relations": [{ - "fromComponent": "fCollector.FoiSftp", - "fromRequirement": "stream_publish_0", - "toComponent": "eFeed.feed", - "toCapability": "feed" - }], - "nodesToDelete": [ - { - "type": "FOICollector", - "nodeName": "feed0" - }] + "alias": "" + }] + }, { - "name": "SNMP MSE Template", + "name": "SNMP MSE", "flowType": "SNMP MSE", "description": "SNMP MSE", "category": "Template", @@ -147,27 +98,27 @@ "updateIfExist": "false", "composition": [{ "type": "Map", - "alias": "Map" + "alias": "" }, { "type": "Supplement", - "alias": "Sup" + "alias": "" }, { "type": "Enrich", - "alias": "Enr" + "alias": "" }], "relations": [{ - "fromComponent": "Sup.Supplement", + "fromComponent": "Supplement", "fromRequirement": "dependency", - "toComponent": "Map.Map", + "toComponent": "Map", "toCapability": "feature" },{ - "fromComponent": "Enr.Enrich", + "fromComponent": "Enrich", "fromRequirement": "dependency", - "toComponent": "Sup.Supplement", + "toComponent": "Supplement", "toCapability": "feature" }] }, { - "name": "Docker Map Template", + "name": "Docker Map", "flowType": "Docker Map", "description": "Docker Map", "category": "Template", @@ -175,33 +126,125 @@ "updateIfExist": "false", "composition": [{ "type": "DockerMap", - "alias": "dMp" - }, { - "type": "Existing Feed", - "alias": "eFeed" + "alias": "" + }] + }, + { + "name": "SAM Collector", + "flowType": "SAM Collector", + "description": "SAM Collector", + "category": "Template", + "subCategory":"Base Monitoring Template", + "updateIfExist": "false", + "composition": [{ + "type": "SAMCollector1806", + "alias": "" + }] + }, + { + "name": "SNMP PM Poller", + "flowType": "SNMP PM Poller", + "description": "SNMP PM Poller", + "category": "Template", + "subCategory":"Base Monitoring Template", + "updateIfExist": "false", + "composition": [{ + "type": "PM Poller", + "alias": "" + }] + }, + { + "name": "Status Poller Collector", + "flowType": "Status Poller Collector", + "description": "Status Poller Collector", + "category": "Template", + "subCategory": "Base Monitoring Template", + "updateIfExist": "false", + "composition": [ + { + "type": "StatusPoller", + "alias": "" + }] + }, + { + "name": "VES Collector", + "flowType": "VES Collector", + "description": "VES Collector", + "category": "Template", + "subCategory":"Base Monitoring Template", + "updateIfExist": "false", + "composition": [{ + "type": "VES Collector", + "alias": "" + }] + }, + { + "name": "VES Fault SE", + "flowType": "VES Fault SE", + "description": "VES Fault SE", + "category": "Template", + "subCategory":"Base Monitoring Template", + "updateIfExist": "false", + "composition": [{ + "type": "Supplement", + "alias": "" }, { - "type": "Existing Topic", - "alias": "eTopic" + "type": "Enrich", + "alias": "" }], "relations": [{ - "fromComponent": "dMp.DockerMap", - "fromRequirement": "stream_subscribe_0", - "toComponent": "eFeed.feed", - "toCapability": "feed" - }, { - "fromComponent": "dMp.DockerMap", - "fromRequirement": "stream_publish_0", - "toComponent": "eTopic.topic", - "toCapability": "topic" - }], - "nodesToDelete": [ - { - "type": "DockerMap", - "nodeName": "feed0" - }, - { - "type": "DockerMap", - "nodeName": "topic0" - }] + "fromComponent": "Enrich", + "fromRequirement": "dependency", + "toComponent": "Supplement", + "toCapability": "feature" + }] + }, + { + "name": "Docker Supplement", + "flowType": "Docker Supplement", + "description": "Docker Supplement", + "category": "Template", + "subCategory":"Base Monitoring Template", + "updateIfExist": "false", + "composition": [{ + "type": "Docker_Supplement", + "alias": "" + }] + }, + { + "name": "Docker Enrich", + "flowType": "Docker Enrich", + "description": "Docker Enrich", + "category": "Template", + "subCategory":"Base Monitoring Template", + "updateIfExist": "false", + "composition": [{ + "type": "DockerEnrich", + "alias": "" + }] + }, + { + "name": "MIB Poller", + "flowType": "MIB Poller", + "description": "MIB Poller", + "category": "Template", + "subCategory":"Base Monitoring Template", + "updateIfExist": "false", + "composition": [{ + "type": "MIBPoller", + "alias": "" + }] + }, + { + "name": "Discovery Poller", + "flowType": "Discovery Poller", + "description": "Discovery Poller", + "category": "Template", + "subCategory":"Base Monitoring Template", + "updateIfExist": "false", + "composition": [{ + "type": "Discovery", + "alias": "" + }] }] } \ No newline at end of file diff --git a/dcaedt_tools/src/test/java/BaseTest.java b/dcaedt_tools/src/test/java/BaseTest.java index f618f2d..d3a6ed5 100644 --- a/dcaedt_tools/src/test/java/BaseTest.java +++ b/dcaedt_tools/src/test/java/BaseTest.java @@ -1,17 +1,16 @@ -import json.response.ElementsResponse.Element; -import json.response.ItemsResponse.Item; -import json.response.ItemsResponse.Model; import org.junit.Before; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; +import org.onap.sdc.dcae.composition.restmodels.sdc.Resource; import org.onap.sdc.dcae.composition.restmodels.sdc.ResourceDetailed; import utilities.IDcaeRestClient; import utilities.IReport; import java.util.ArrayList; -import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyString; @@ -47,8 +46,7 @@ abstract class BaseTest { public void setup() { when(dcaeRestClient.getUserId()).thenReturn(USER_ID); mockGetAllVfcmt(); - mockGetElements(); - mockGetItems(); + mockGetCatalog(); mockGetItemModel(); mockGetItemType(); mockCheckoutVfcmtAndCreateResource(); @@ -70,46 +68,29 @@ abstract class BaseTest { } private void mockGetItemModel() { - when(dcaeRestClient.getItemModel(anyString())).thenReturn("{\"data\":{\"model\":{\"nodes\":[{\"capability\":{\"type\":\"someType\"}, \"type\":\"type\", \"name\":\"SomeNameFromRequirement\", \"requirements\":[{\"name\":\"SomeNameFromRequirement\"}], \"properties\":[{}], \"capabilities\":[{\"name\":\"SomeNameToCapability\"}],\"type\":\"type\"}]}}}", - "{\"data\":{\"model\":{\"nodes\":[{\"capability\":{\"type\":\"someType\"}, \"type\":\"type\", \"name\":\"SomeNameToCapability\", \"requirements\":[{\"name\":\"SomeNameFromRequirement\"}], \"properties\":[{}], \"capabilities\":[{\"name\":\"SomeNameToCapability\"}],\"type\":\"type\"}]}}}"); + when(dcaeRestClient.getItemModel(anyString())).thenReturn("{\"data\":{\"model\":{\"itemId\":\"\",\"nodes\":[{\"capability\":{\"type\":\"someType\"}, \"type\":\"type\", \"name\":\"SomeNameFromRequirement\", \"requirements\":[{\"name\":\"SomeNameFromRequirement\"}], \"properties\":[{}], \"capabilities\":[{\"name\":\"SomeNameToCapability\"}],\"type\":\"type\"}]}}}", + "{\"data\":{\"model\":{\"itemId\":\"\",\"nodes\":[{\"capability\":{\"type\":\"someType\"}, \"type\":\"type\", \"name\":\"SomeNameToCapability\", \"requirements\":[{\"name\":\"SomeNameFromRequirement\"}], \"properties\":[{}], \"capabilities\":[{\"name\":\"SomeNameToCapability\"}],\"type\":\"type\"}]}}}"); } - private void mockGetItems() { - when(dcaeRestClient.getItem(ELEMENT_NAME1)).thenReturn(null); - List items = new ArrayList<>(); - Item item = new Item(); - item.setName(ITEM_NAME1); - Model model = new Model(); - model.setItemId(""); - List models = Collections.singletonList(model); - item.setModels(models); - items.add(item); - item = new Item(); - item.setName(ITEM_NAME2); - item.setModels(models); - items.add(item); - when(dcaeRestClient.getItem(ELEMENT_NAME2)).thenReturn(items); - items = new ArrayList<>(); - item = new Item(); - item.setName(ITEM_NAME3); - item.setModels(models); - items.add(item); - when(dcaeRestClient.getItem(ELEMENT_NAME3)).thenReturn(items); - } + private void mockGetCatalog() { + Map> catalog = new HashMap<>(); + catalog.put(ELEMENT_NAME1, null); + List items = new ArrayList<>(); + Resource item = new Resource(); + item.setName(ITEM_NAME1); + items.add(item); + item = new Resource(); + item.setName(ITEM_NAME2); + items.add(item); + catalog.put(ELEMENT_NAME2, items); + items = new ArrayList<>(); + item = new Resource(); + item.setName(ITEM_NAME3); + items.add(item); + catalog.put(ELEMENT_NAME3, items); + when(dcaeRestClient.getDcaeCatalog()).thenReturn(catalog); + } - private void mockGetElements() { - List elements = new ArrayList<>(); - Element element = new Element(); - element.setName(ELEMENT_NAME1); - elements.add(element); - element = new Element(); - element.setName(ELEMENT_NAME2); - elements.add(element); - element = new Element(); - element.setName(ELEMENT_NAME3); - elements.add(element); - when(dcaeRestClient.getElements()).thenReturn(elements); - } private void mockGetAllVfcmt() { List resourceDetaileds = new ArrayList<>(); diff --git a/dcaedt_tools/src/test/java/EntitiesRetrieverTest.java b/dcaedt_tools/src/test/java/EntitiesRetrieverTest.java deleted file mode 100644 index ea7eb2b..0000000 --- a/dcaedt_tools/src/test/java/EntitiesRetrieverTest.java +++ /dev/null @@ -1,29 +0,0 @@ - -import json.response.ItemsResponse.Item; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.mockito.InjectMocks; -import tools.EntitiesRetriever; - -import java.util.List; -import java.util.Map; - - -public class EntitiesRetrieverTest extends BaseTest { - - @InjectMocks - EntitiesRetriever entitiesRetriever; - - @Before - @Override - public void setup() { - super.setup(); - } - - @Test - public void getElementsByFolder_returns2Items() { - Map> result = entitiesRetriever.getElementsByFolder(); - Assert.assertTrue(result.size() == 2); - } -} diff --git a/dcaedt_tools/src/test/java/TemplateContainerTest.java b/dcaedt_tools/src/test/java/TemplateContainerTest.java index b4ddc17..6b09991 100644 --- a/dcaedt_tools/src/test/java/TemplateContainerTest.java +++ b/dcaedt_tools/src/test/java/TemplateContainerTest.java @@ -1,6 +1,4 @@ import com.google.gson.JsonObject; -import json.response.ItemsResponse.Item; -import json.response.ItemsResponse.Model; import json.templateInfo.Composition; import json.templateInfo.NodeToDelete; import json.templateInfo.Relation; @@ -8,6 +6,7 @@ import json.templateInfo.TemplateInfo; import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import org.onap.sdc.dcae.composition.restmodels.sdc.Resource; import tools.TemplateContainer; import java.util.*; @@ -21,7 +20,7 @@ public class TemplateContainerTest extends BaseTest { private TemplateContainer templateContainer; private List templateInfos; - private Map> elementsByFolderNames; + private Map> elementsByFolderNames; @Before @Override public void setup() { @@ -36,14 +35,9 @@ public class TemplateContainerTest extends BaseTest { templateInfo.setComposition(Collections.singletonList(composition)); templateInfos.add(templateInfo); elementsByFolderNames = new HashMap<>(); - Item item = new Item(); + Resource item = new Resource(); item.setName(ELEMENT_NAME3); - item.setItemId(""); - Model model = new Model(); - model.setItemId(""); - List models = Collections.singletonList(model); - item.setModels(models); - List items = new ArrayList<>(Collections.singletonList(item)); + List items = new ArrayList<>(Collections.singletonList(item)); elementsByFolderNames.put(TEMPLATE_INFO_NAME, items); } @@ -60,9 +54,9 @@ public class TemplateContainerTest extends BaseTest { @Test public void getCdumps_returnNotFoundEmptyList() { elementsByFolderNames = new HashMap<>(); - Item item = new Item(); + Resource item = new Resource(); item.setName(ELEMENT_NAME2); - List items = new ArrayList<>(Collections.singletonList(item)); + List items = new ArrayList<>(Collections.singletonList(item)); elementsByFolderNames.put(TEMPLATE_INFO_NAME, items); templateContainer = new TemplateContainer(report, dcaeRestClient, templateInfos, elementsByFolderNames); @@ -126,22 +120,13 @@ public class TemplateContainerTest extends BaseTest { templateInfo.setRelations(Collections.singletonList(relation)); templateInfos.add(templateInfo); elementsByFolderNames = new HashMap<>(); - List itemList = new ArrayList<>(); - Item item = new Item(); + List itemList = new ArrayList<>(); + Resource item = new Resource(); item.setName(ELEMENT_NAME3); - item.setItemId(""); - Model model = new Model(); - model.setItemId(""); - List models = Collections.singletonList(model); - item.setModels(models); itemList.add(item); - item = new Item(); + item = new Resource(); item.setName(ELEMENT_NAME2); - item.setItemId(""); - model = new Model(); - model.setItemId(""); - models = Collections.singletonList(model); - item.setModels(models); + itemList.add(item); elementsByFolderNames.put(TEMPLATE_INFO_NAME, itemList); templateContainer = new TemplateContainer(report, dcaeRestClient, templateInfos, elementsByFolderNames); -- cgit 1.2.3-korg