Add collaboration feature
[sdc.git] / openecomp-be / lib / openecomp-sdc-vendor-software-product-lib / openecomp-sdc-vendor-software-product-core / src / test / java / org / openecomp / sdc / vendorsoftwareproduct / dao / ServiceModelDaoFactoryTest.java
index 39c14e6..4690d75 100644 (file)
@@ -21,7 +21,9 @@
 package org.openecomp.sdc.vendorsoftwareproduct.dao;
 
 import com.amdocs.zusammen.adaptor.inbound.api.types.item.Element;
+import com.amdocs.zusammen.adaptor.inbound.api.types.item.ElementConflict;
 import com.amdocs.zusammen.adaptor.inbound.api.types.item.ElementInfo;
+import com.amdocs.zusammen.adaptor.inbound.api.types.item.ItemVersionConflict;
 import com.amdocs.zusammen.adaptor.inbound.api.types.item.ZusammenElement;
 import com.amdocs.zusammen.commons.health.data.HealthInfo;
 import com.amdocs.zusammen.datatypes.Id;
@@ -32,15 +34,19 @@ import com.amdocs.zusammen.datatypes.item.Info;
 import com.amdocs.zusammen.datatypes.item.Item;
 import com.amdocs.zusammen.datatypes.item.ItemVersion;
 import com.amdocs.zusammen.datatypes.item.ItemVersionData;
+import com.amdocs.zusammen.datatypes.item.ItemVersionStatus;
+import com.amdocs.zusammen.datatypes.item.Resolution;
 import com.amdocs.zusammen.datatypes.itemversion.Tag;
 import org.openecomp.core.utilities.CommonMethods;
 import org.openecomp.core.utilities.file.FileContentHandler;
 import org.openecomp.core.zusammen.api.ZusammenAdaptor;
+import org.openecomp.sdc.common.session.SessionContextProviderFactory;
+import org.openecomp.sdc.datatypes.model.ElementType;
 import org.openecomp.sdc.model.impl.zusammen.ServiceModelDaoZusammenImpl;
-import org.openecomp.sdc.model.impl.zusammen.StructureElement;
 import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
 import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate;
 import org.openecomp.sdc.tosca.services.YamlUtil;
+import org.openecomp.sdc.versioning.dao.types.Revision;
 import org.openecomp.sdc.versioning.dao.types.Version;
 import org.testng.Assert;
 import org.testng.annotations.Test;
@@ -49,6 +55,7 @@ import java.io.ByteArrayInputStream;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 
@@ -59,6 +66,10 @@ public class ServiceModelDaoFactoryTest {
   private static final String baseServiceTemplateName = "baseYaml.yaml";
   private static String artifact001;
 
+  static {
+    SessionContextProviderFactory.getInstance().createInterface().create("test");
+  }
+
 
   @Test
   public void storeServiceModelTest() {
@@ -91,14 +102,19 @@ public class ServiceModelDaoFactoryTest {
 
     ElementInfo elementInfo = new ElementInfo();
     Info info = new Info();
-    info.addProperty("base","baseElement");
+    info.addProperty("base", "baseElement");
     elementInfo.setInfo(info);
 
     ElementInfo artifactElementInfo = new ElementInfo();
-    artifactElementInfo.setInfo(info);
+    artifactElementInfo.setInfo(new Info());
+    artifactElementInfo.getInfo().setName(ElementType.Artifacts.name());
     ElementInfo templateElementInfo = new ElementInfo();
-    artifactElementInfo.setInfo(info);
+    templateElementInfo.setInfo(new Info());
+    templateElementInfo.getInfo().setName(ElementType.Templates.name());
 
+    ElementInfo serviceModelElementInfo = new ElementInfo();
+    serviceModelElementInfo.setInfo(new Info());
+    serviceModelElementInfo.getInfo().setName(ElementType.ServiceModel.name());
     ZusammenElement element = new ZusammenElement();
     ServiceTemplate serviceTemplate = new ServiceTemplate();
     YamlUtil yamlUtil = new YamlUtil();
@@ -111,9 +127,11 @@ public class ServiceModelDaoFactoryTest {
         zusammenAdaptor);
 
     zusammenAdaptor.setItemVersion(itemVersionmock);
-    zusammenAdaptor.addElementInfo("null"+StructureElement.ServiceModel.name(),elementInfo);
-    zusammenAdaptor.addElementInfo("null"+StructureElement.Artifacts.name(),artifactElementInfo);
-    zusammenAdaptor.addElementInfo("null"+StructureElement.Templates.name(),templateElementInfo);
+    zusammenAdaptor.addElementInfo("null" + ElementType.ServiceModel.name(), elementInfo);
+    zusammenAdaptor.addElementInfo("null" + ElementType.Artifacts.name(), artifactElementInfo);
+    zusammenAdaptor.addElementInfo("null" + ElementType.Templates.name(), templateElementInfo);
+    zusammenAdaptor.addElementInfo("null" + ElementType.ServiceModel.name(),
+        serviceModelElementInfo);
     zusammenAdaptor.addElement(element);
 
     Object model =
@@ -126,11 +144,11 @@ public class ServiceModelDaoFactoryTest {
     }
   }
 
-  private static void setArtifact(ToscaServiceModel model)
-  {
+  private static void setArtifact(ToscaServiceModel model) {
     artifact001 =
-            (String) (model).getArtifactFiles().getFileList().toArray()[0];
+        (String) (model).getArtifactFiles().getFileList().toArray()[0];
   }
+
   private ToscaServiceModel getToscaServiceModel() {
 
     Map<String, ServiceTemplate> serviceTemplates = getServiceTemplates(baseServiceTemplateName);
@@ -171,128 +189,225 @@ public class ServiceModelDaoFactoryTest {
     return serviceTemplate;
   }
 
-  private class ZusammenAdaptorMock  implements ZusammenAdaptor
-    {
+  private class ZusammenAdaptorMock implements ZusammenAdaptor {
 
     private ItemVersion itemVersion;
-    private Map<String,ElementInfo> elementInfoMap = new HashMap();
-      private Collection<Element> elements = new ArrayList<>();
+    private Map<String, ElementInfo> elementInfoMap = new HashMap();
+    private Collection<Element> elements = new ArrayList<>();
 
-      public void setItemVersion(ItemVersion itemVersion){
+    public void setItemVersion(ItemVersion itemVersion) {
       this.itemVersion = itemVersion;
     }
 
-    public void addElementInfo(String key,ElementInfo elementInfo){
-      elementInfoMap.put(key,elementInfo);
+    public void addElementInfo(String key, ElementInfo elementInfo) {
+      elementInfoMap.put(key, elementInfo);
     }
-    public void addElement(Element element){
-     elements.add(element);
+
+    public void addElement(Element element) {
+      elements.add(element);
     }
+
     @Override
     public Optional<ItemVersion> getFirstVersion(SessionContext context, Id itemId) {
 
       return Optional.ofNullable(itemVersion);
     }
 
-      @Override
-      public Optional<Element> getElement(SessionContext context, ElementContext elementContext,
-                                          String elementId) {
-        return null;
-      }
+    @Override
+    public Collection<ItemVersion> listPublicVersions(SessionContext context, Id itemId) {
+      return null;
+    }
 
-      @Override
-      public Optional<Element> getElementByName(SessionContext context,
+    @Override
+    public ItemVersion getPublicVersion(SessionContext context, Id itemId, Id versionId) {
+      return null;
+    }
+
+    @Override
+    public Optional<Element> getElement(SessionContext context, ElementContext elementContext,
+                                        String elementId) {
+      return null;
+    }
+
+    @Override
+    public Optional<Element> getElementByName(SessionContext context,
+                                              ElementContext elementContext,
+                                              Id parentElementId, String elementName) {
+      return null;
+    }
+
+    @Override
+    public Collection<ElementInfo> listElements(SessionContext context,
                                                 ElementContext elementContext,
-                                                Id parentElementId, String elementName) {
-        return null;
-      }
+                                                Id parentElementId) {
+      return null;
+    }
 
-      @Override
-      public Collection<ElementInfo> listElements(SessionContext context,
-                                                  ElementContext elementContext,
-                                                  Id parentElementId) {
-        return null;
-      }
+    @Override
+    public Collection<Element> listElementData(SessionContext context,
+                                               ElementContext elementContext,
+                                               Id parentElementId) {
+      return elements;
+    }
 
-      @Override
-      public Collection<Element> listElementData(SessionContext context,
-                                                 ElementContext elementContext,
-                                                 Id parentElementId) {
-        return elements;
-      }
+    @Override
+    public Collection<ElementInfo> listElementsByName(SessionContext context,
+                                                      ElementContext elementContext,
+                                                      Id parentElementId, String elementName) {
 
-      @Override
-      public Collection<ElementInfo> listElementsByName(SessionContext context,
-                                                        ElementContext elementContext,
-                                                        Id parentElementId, String elementName) {
-        return null;
+      if(elementName.equals(ElementType.VspModel.name())){
+        return elementInfoMap.values();
       }
 
-      @Override
-      public Optional<ElementInfo> getElementInfoByName(SessionContext context,
-                                                        ElementContext elementContext,
-                                                        Id parentElementId, String elementName) {
-        return Optional.ofNullable(elementInfoMap.get(parentElementId+elementName));
-      }
+      return null;
+    }
 
-      @Override
-      public Optional<Element> saveElement(SessionContext context, ElementContext elementContext,
-                                           ZusammenElement element, String message) {
-        return null;
-      }
+    @Override
+    public Optional<ElementInfo> getElementInfoByName(SessionContext context,
+                                                      ElementContext elementContext,
+                                                      Id parentElementId, String elementName) {
 
-      @Override
-      public Collection<HealthInfo> checkHealth(SessionContext context) {
-        return null;
-      }
+     if(elementName.equals(ElementType.Templates.name())){
+       return Optional.ofNullable(elementInfoMap.get("null" + elementName));
+     }else if(elementName.equals(ElementType.Artifacts.name())) {
+       return Optional.ofNullable(elementInfoMap.get("null" + elementName));
+     }
 
-      @Override
-      public Id createItem(SessionContext context, Info info) {
-        return null;
-      }
+      return Optional.empty();
+    }
+
+    @Override
+    public Element saveElement(SessionContext context, ElementContext elementContext,
+                               ZusammenElement element, String message) {
+      return null;
+    }
 
-      @Override
-      public void updateItem(SessionContext context, Id itemId, Info info) {
+    @Override
+    public void resolveElementConflict(SessionContext context, ElementContext elementContext,
+                                       ZusammenElement element, Resolution resolution) {
 
-      }
+    }
+
+    @Override
+    public Collection<HealthInfo> checkHealth(SessionContext context) {
+      return null;
+    }
 
-      @Override
-      public Id createVersion(SessionContext context, Id itemId, Id baseVersionId,
+    @Override
+    public Id createItem(SessionContext context, Info info) {
+      return null;
+    }
+
+    @Override
+    public void updateItem(SessionContext context, Id itemId, Info info) {
+
+    }
+
+    @Override
+    public Id createVersion(SessionContext context, Id itemId, Id baseVersionId,
+                            ItemVersionData itemVersionData) {
+      return null;
+    }
+
+    @Override
+    public void updateVersion(SessionContext context, Id itemId, Id versionId,
                               ItemVersionData itemVersionData) {
-        return null;
-      }
 
-      @Override
-      public void updateVersion(SessionContext context, Id itemId, Id versionId,
-                                ItemVersionData itemVersionData) {
+    }
 
-      }
+    @Override
+    public ItemVersion getVersion(SessionContext context, Id itemId, Id versionId) {
+      return null;
+    }
 
-      @Override
-      public void tagVersion(SessionContext context, Id itemId, Id versionId, Tag tag) {
+    @Override
+    public ItemVersionStatus getVersionStatus(SessionContext context, Id itemId, Id versionId) {
+      return null;
+    }
 
-      }
+    @Override
+    public ItemVersionConflict getVersionConflict(SessionContext context, Id itemId, Id versionId) {
+      return null;
+    }
 
-      @Override
-      public void resetVersionHistory(SessionContext context, Id itemId, Id versionId, String changeRef) {
+    @Override
+    public void tagVersion(SessionContext context, Id itemId, Id versionId, Tag tag) {
 
-      }
+    }
 
-      @Override
-      public Optional<ElementInfo> getElementInfo(SessionContext context,
-                                                  ElementContext elementContext,
-                                                  Id elementId) {
-        return null;
-      }
+    @Override
+    public void resetVersionHistory(SessionContext context, Id itemId, Id versionId,
+                                    String changeRef) {
 
-      @Override
-      public String getVersion(SessionContext sessionContext) {
-        return null;
-      }
 
-      @Override
-      public Collection<Item> listItems(SessionContext context) {
-        return null;
-      }
     }
+
+    /*@Override
+    public void revertVersionToRevision(SessionContext context, Id itemId, Id versionId,
+                                        Id revisionId) {
+
+    }
+
+    @Override
+    public ItemVersionRevisions listVersionRevisions(SessionContext context, Id itemId,
+                                                     Id versionId) {
+      return null;
+    }*/
+
+    @Override
+    public void publishVersion(SessionContext context, Id itemId, Id versionId, String message) {
+
+    }
+
+    @Override
+    public void syncVersion(SessionContext sessionContext, Id itemId, Id versionId) {
+
+    }
+
+    @Override
+    public void forceSyncVersion(SessionContext context, Id itemId, Id versionId) {
+
+    }
+
+    @Override
+    public Optional<ElementInfo> getElementInfo(SessionContext context,
+                                                ElementContext elementContext,
+                                                Id elementId) {
+      return null;
+    }
+
+    @Override
+    public String getVersion(SessionContext sessionContext) {
+      return null;
+    }
+
+    @Override
+    public void revert(SessionContext sessionContext, String itemId, String versionId,
+                       String revisionId) {
+
+    }
+
+    @Override
+    public List<Revision> listRevisions(SessionContext sessionContext, String itemId,
+                                        String versionId) {
+      return null;
+    }
+
+    @Override
+    public Optional<ElementConflict> getElementConflict(SessionContext context,
+                                                        ElementContext elementContext,
+                                                        Id id) {
+      return null;
+    }
+
+    @Override
+    public Collection<Item> listItems(SessionContext context) {
+      return null;
+    }
+
+    @Override
+    public Item getItem(SessionContext context, Id itemId) {
+      return null;
+    }
+  }
 }