aboutsummaryrefslogtreecommitdiffstats
path: root/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
blob: 2c8ffb1ded7426bb6df67896c6f0aed9ace24241 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
package org.openecomp.sdc.vendorsoftwareproduct.dao;

import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate;

import org.openecomp.sdc.versioning.dao.types.Version;
import org.openecomp.core.model.dao.ServiceModelDaoFactory;
import org.openecomp.core.model.types.ServiceArtifact;
import org.openecomp.core.utilities.CommonMethods;
import org.openecomp.core.utilities.file.FileContentHandler;
import org.testng.Assert;
import org.testng.annotations.Test;

import java.util.HashMap;
import java.util.Map;

public class ServiceModelDaoFactoryTest {

  private static final String vspId = CommonMethods.nextUuId();
  private static final Version version = Version.valueOf("1.0");
  private static final String baseServiceTemplateName = "baseYaml.yaml";
  private static String artifact001;


//  @Test
  public void storeServiceModelTest() {


    ToscaServiceModel model = getToscaServiceModel();
    ServiceModelDaoFactory.getInstance().createInterface().storeServiceModel(vspId, version, model);
  }


//  @Test(dependsOnMethods = "storeServiceModelTest")
  public void getServiceModelTest() {
    Object model =
        ServiceModelDaoFactory.getInstance().createInterface().getServiceModel(vspId, version);
    Assert.assertNotNull(model);
    Assert.assertTrue(model instanceof ToscaServiceModel);
    if (model instanceof ToscaServiceModel) {

      artifact001 =
          (String) ((ToscaServiceModel) model).getArtifactFiles().getFileList().toArray()[0];
    }
  }

//  @Test(dependsOnMethods = "getServiceModelTest")
  public void getServiceModelInfoTest() {
    Object info = ServiceModelDaoFactory.getInstance().createInterface()
        .getServiceModelInfo(vspId, version, artifact001);
    Assert.assertNotNull(info);
    Assert.assertTrue(info instanceof ServiceArtifact);
    if (info instanceof ServiceArtifact) {
      Assert.assertEquals(((ServiceArtifact) info).getName(), artifact001);
    }
  }

  private ToscaServiceModel getToscaServiceModel() {

    Map<String, ServiceTemplate> serviceTemplates = getServiceTemplates(baseServiceTemplateName);
    FileContentHandler artifacts = getArtifacts();
    return new ToscaServiceModel(artifacts, serviceTemplates, baseServiceTemplateName);
  }


  private Map<String, ServiceTemplate> getServiceTemplates(String base) {

    Map<String, ServiceTemplate> serviceTemplates = new HashMap<>();

    serviceTemplates.put(base, getServiceTemplate());
    serviceTemplates.put("SERV1", getServiceTemplate());
    serviceTemplates.put("SERV2", getServiceTemplate());
    serviceTemplates.put("SERV3", getServiceTemplate());
    serviceTemplates.put("SERV4", getServiceTemplate());

    return serviceTemplates;
  }

  public FileContentHandler getArtifacts() {
    Map<String, byte[]> artifacts = new HashMap<>();
    artifacts.put("art1", "this is art1".getBytes());
    artifacts.put("art2", ("this is art2 desc:" + CommonMethods.nextUuId()).getBytes());
    artifacts.put("art2", ("this is art3 desc:" + CommonMethods.nextUuId()).getBytes());
    artifacts.put("art2", ("this is art4 desc:" + CommonMethods.nextUuId()).getBytes());

    FileContentHandler fileContentHandler = new FileContentHandler();
    fileContentHandler.putAll(artifacts);
    return fileContentHandler;
  }

  public ServiceTemplate getServiceTemplate() {
    ServiceTemplate serviceTemplate = new ServiceTemplate();
    serviceTemplate.setTosca_definitions_version("version 1.0");
    serviceTemplate.setDescription(CommonMethods.nextUuId());
    return serviceTemplate;
  }
}