aboutsummaryrefslogtreecommitdiffstats
path: root/vid-automation/src/main/java/vid/automation/test/services
diff options
context:
space:
mode:
Diffstat (limited to 'vid-automation/src/main/java/vid/automation/test/services')
-rw-r--r--vid-automation/src/main/java/vid/automation/test/services/AsyncJobsService.java40
-rw-r--r--vid-automation/src/main/java/vid/automation/test/services/BulkRegistration.java210
-rw-r--r--vid-automation/src/main/java/vid/automation/test/services/DropTestApiField.java137
-rw-r--r--vid-automation/src/main/java/vid/automation/test/services/ServicesService.java2
-rw-r--r--vid-automation/src/main/java/vid/automation/test/services/SimulatorApi.java91
-rw-r--r--vid-automation/src/main/java/vid/automation/test/services/UsersService.java23
6 files changed, 302 insertions, 201 deletions
diff --git a/vid-automation/src/main/java/vid/automation/test/services/AsyncJobsService.java b/vid-automation/src/main/java/vid/automation/test/services/AsyncJobsService.java
index 01158fa66..35849b481 100644
--- a/vid-automation/src/main/java/vid/automation/test/services/AsyncJobsService.java
+++ b/vid-automation/src/main/java/vid/automation/test/services/AsyncJobsService.java
@@ -1,44 +1,54 @@
package vid.automation.test.services;
+import com.google.common.collect.ImmutableList;
import vid.automation.test.utils.DB_CONFIG;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
+import java.util.List;
public class AsyncJobsService {
public void dropAllAsyncJobs() {
+ runStatementsInDb(ImmutableList.of(
+ "DELETE FROM `vid_service_info`",
+ "DELETE FROM `vid_job`",
+ "DELETE FROM `vid_job_audit_status`",
+ "DELETE FROM `vid_name_counter`"
+ ));
+ }
+
+ public void runStatementsInDb(List<String> sqlStatements) {
System.out.println("Connecting database...");
try (Connection connection = DriverManager.getConnection(DB_CONFIG.url, DB_CONFIG.username, DB_CONFIG.password)) {
System.out.println("Database connected!");
- Statement stmt = connection.createStatement();
- stmt.addBatch("DELETE FROM `vid_service_info`");
- stmt.addBatch("DELETE FROM `vid_job`");
- stmt.addBatch("DELETE FROM `vid_job_audit_status`");
- int[] executeBatch = stmt.executeBatch();
+ try (Statement stmt = connection.createStatement()) {
+ for (String sql: sqlStatements) {
+ stmt.addBatch(sql);
+ }
+ stmt.executeBatch();
+ }
} catch (SQLException e) {
throw new IllegalStateException("Cannot connect the database!", e);
}
}
- public void muteAllAsyncJobs() {
- System.out.println("Connecting database...");
+ public void runStatementInDb(String sqlStatement) {
+ runStatementsInDb(ImmutableList.of(sqlStatement));
+ }
- try (Connection connection = DriverManager.getConnection(DB_CONFIG.url, DB_CONFIG.username, DB_CONFIG.password)) {
- System.out.println("Database connected!");
- Statement stmt = connection.createStatement();
- stmt.addBatch("UPDATE `vid_job` set `TAKEN_BY`='muteAllAsyncJobs', `AGE`=`AGE`+5");
- int[] executeBatch = stmt.executeBatch();
+ public void muteAllAsyncJobs() {
+ runStatementInDb("UPDATE `vid_job` SET `TAKEN_BY`='muteAllAsyncJobs', `JOB_STATUS`=CONCAT('MUTED_', `JOB_STATUS`), `AGE`=`AGE`+5 WHERE `TAKEN_BY` is NULL or `TAKEN_BY`<>'muteAllAsyncJobs'");
+ }
- } catch (SQLException e) {
- throw new IllegalStateException("Cannot connect the database!", e);
- }
+ public void dropAllFromNameCounter() {
+ runStatementInDb("DELETE FROM `vid_name_counter`");
}
}
diff --git a/vid-automation/src/main/java/vid/automation/test/services/BulkRegistration.java b/vid-automation/src/main/java/vid/automation/test/services/BulkRegistration.java
index c6de040ea..0f0839537 100644
--- a/vid-automation/src/main/java/vid/automation/test/services/BulkRegistration.java
+++ b/vid-automation/src/main/java/vid/automation/test/services/BulkRegistration.java
@@ -1,14 +1,28 @@
package vid.automation.test.services;
+import static org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetCloudOwnersByCloudRegionId.ATT_NC;
+import static vid.automation.test.infra.ModelInfo.serviceFabricSriovService;
+import static vid.automation.test.services.SimulatorApi.RegistrationStrategy.APPEND;
+
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import org.onap.simulator.presetGenerator.presets.aai.PresetAAICloudRegionAndSourceFromConfigurationPut;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIFilterServiceInstanceById;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetCloudOwnersByCloudRegionId;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetHomingForVfModule;
import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetModelsByOwningEntity;
import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetModelsByProject;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetNetworkZones;
import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetPortMirroringSourcePorts;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetSubDetailsGet;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetSubDetailsWithoutInstancesGet;
+import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetSubscribersGet;
import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetTenants;
import org.onap.simulator.presetGenerator.presets.aai.PresetAAIPostNamedQueryForViewEdit;
-import org.onap.simulator.presetGenerator.presets.mso.PresetMSOCreateVfModuleInstancePost;
+import org.onap.simulator.presetGenerator.presets.mso.PresetMSOActivateFabricConfiguration;
+import org.onap.simulator.presetGenerator.presets.mso.PresetMSOBaseCreateInstancePost;
+import org.onap.simulator.presetGenerator.presets.mso.PresetMSOCreateVfModule;
+import org.onap.simulator.presetGenerator.presets.mso.PresetMSODeactivateAndCloudDelete;
import org.onap.simulator.presetGenerator.presets.mso.PresetMSODeleteInstanceOrchestrationRequestGet;
import org.onap.simulator.presetGenerator.presets.mso.PresetMSODeleteNetwork;
import org.onap.simulator.presetGenerator.presets.mso.PresetMSODeleteService;
@@ -16,33 +30,57 @@ import org.onap.simulator.presetGenerator.presets.mso.PresetMSODeleteVfModule;
import org.onap.simulator.presetGenerator.presets.mso.PresetMSODeleteVnf;
import org.onap.simulator.presetGenerator.presets.mso.PresetMSODeleteVolumeGroup;
import org.onap.simulator.presetGenerator.presets.mso.PresetMSOOrchestrationRequestGet;
+import org.onap.simulator.presetGenerator.presets.mso.configuration.PresetMSOActOnConfiguration;
+import org.onap.simulator.presetGenerator.presets.mso.configuration.PresetMSOCreateConfiguration;
+import org.onap.simulator.presetGenerator.presets.mso.configuration.PresetMSODeleteConfiguration;
+import org.onap.simulator.presetGenerator.presets.mso.configuration.PresetMsoEnableDisablePort;
import org.onap.simulator.presetGenerator.presets.sdc.PresetSDCGetServiceMetadataGet;
import org.onap.simulator.presetGenerator.presets.sdc.PresetSDCGetServiceToscaModelGet;
import vid.automation.test.Constants;
-import static vid.automation.test.services.SimulatorApi.RegistrationStrategy.APPEND;
-
public class BulkRegistration {
public static void searchExistingServiceInstance() {
searchExistingServiceInstance("Active");
}
- public static void searchExistingServiceInstance(String orchStatus) {
+ public static void searchExistingServiceInstance(String orchStatus) {
+ searchExistingServiceInstance(orchStatus, "pending-delete");
+ }
+
+ public static void searchExistingServiceInstance(String orchStatus, String vfModuleOrchStatus) {
genericSearchExistingServiceInstance();
SimulatorApi.registerExpectation(
new String [] {
- Constants.RegisterToSimulator.SearchForServiceInstance.GET_SUBSCRIBERS_FOR_CUSTOMER_USP_VOICE,
+ Constants.RegisterToSimulator.SearchForServiceInstance.GET_SUBSCRIBERS_FOR_CUSTOMER_SILVIA_ROBBINS,
Constants.RegisterToSimulator.SearchForServiceInstance.FILTER_SERVICE_INSTANCE_BY_ID,
Constants.RegisterToSimulator.SearchForServiceInstance.NAMED_QUERY_VIEW_EDIT,
Constants.RegisterToSimulator.SearchForServiceInstance.GET_SDC_CATALOG_SERVICE_VID_TEST_444,
Constants.RegisterToSimulator.CreateNewServiceInstance.deploy.GET_AIC_ZONES
- }, ImmutableMap.<String, Object>of("<ORCH_STATUS>", orchStatus), SimulatorApi.RegistrationStrategy.APPEND);
+ }, ImmutableMap.<String, Object>of("<ORCH_STATUS>", orchStatus, "<VF_MODULE_ORCH_STATUS>", vfModuleOrchStatus), SimulatorApi.RegistrationStrategy.APPEND);
+ }
+
+ public static void searchExistingServiceInstanceWithFabric(String orchStatus) {
+ genericSearchExistingServiceInstance();
+ SimulatorApi.registerExpectationFromPresets(
+ ImmutableList.of(
+ new PresetAAIFilterServiceInstanceById("e433710f-9217-458d-a79d-1c7aff376d89",
+ "TYLER SILVIA",
+ "c187e9fe-40c3-4862-b73e-84ff056205f61234"),
+ new PresetAAIGetSubDetailsGet("e433710f-9217-458d-a79d-1c7aff376d89", orchStatus),
+ new PresetAAIGetSubDetailsWithoutInstancesGet("e433710f-9217-458d-a79d-1c7aff376d89", true),
+ new PresetAAIPostNamedQueryForViewEdit("c187e9fe-40c3-4862-b73e-84ff056205f61234", false, true),
+ new PresetSDCGetServiceMetadataGet(serviceFabricSriovService),
+ new PresetSDCGetServiceToscaModelGet(serviceFabricSriovService),
+ new PresetAAIGetNetworkZones(),
+ new PresetMSOActivateFabricConfiguration("c187e9fe-40c3-4862-b73e-84ff056205f61234"),
+ new PresetMSOOrchestrationRequestGet("COMPLETE", "318cc766-b673-4a50-b9c5-471f68914584", "Success")),
+ SimulatorApi.RegistrationStrategy.APPEND);
}
public static void searchExistingServiceInstanceByOEAndProject(){
SimulatorApi.registerExpectationFromPresets(ImmutableList.of(
- new PresetAAIGetModelsByOwningEntity("Wireline"),
+ new PresetAAIGetModelsByOwningEntity("Melissa"),
new PresetAAIGetModelsByProject("x1"),
new PresetAAIGetModelsByProject("yyy1")
), APPEND);
@@ -52,7 +90,7 @@ public class BulkRegistration {
genericSearchExistingServiceInstance();
SimulatorApi.registerExpectation(
new String [] {
- Constants.RegisterToSimulator.SearchForServiceInstance.GET_SUBSCRIBERS_FOR_CUSTOMER_USP_VOICE_CR,
+ Constants.RegisterToSimulator.SearchForServiceInstance.GET_SUBSCRIBERS_FOR_CUSTOMER_SILVIA_ROBBINS_CR,
Constants.RegisterToSimulator.SearchForServiceInstance.FILTER_CR_SERVICE_INSTANCE_BY_ID,
Constants.RegisterToSimulator.SearchForServiceInstance.NAMED_QUERY_CR_VIEW_EDIT,
Constants.RegisterToSimulator.SearchForServiceInstance.GET_SDC_CATALOG_SERVICE_VID_TEST_CR,
@@ -65,7 +103,7 @@ public class BulkRegistration {
genericSearchExistingServiceInstance();
SimulatorApi.registerExpectation(
new String [] {
- Constants.RegisterToSimulator.AddSubinterface.GET_SUBSCRIBERS_FOR_CUSTOMER_USP_VOICE_VFC_IG,
+ Constants.RegisterToSimulator.AddSubinterface.GET_SUBSCRIBERS_FOR_CUSTOMER_SILVIA_ROBBINS_VFC_IG,
Constants.RegisterToSimulator.AddSubinterface.FILTER_VFC_IG_SERVICE_INSTANCE_BY_ID,
Constants.RegisterToSimulator.AddSubinterface.NAMED_QUERY_VFC_IG_VIEW_EDIT,
Constants.RegisterToSimulator.AddSubinterface.GET_SDC_CATALOG_SERVICE_VID_TEST_444,
@@ -77,17 +115,16 @@ public class BulkRegistration {
SimulatorApi.registerExpectation(
new String [] {
Constants.RegisterToSimulator.genericRequest.ECOMP_PORTAL_GET_SESSION_SLOT_CHECK_INTERVAL,
- Constants.RegisterToSimulator.SearchForServiceInstance.GET_FULL_SUBSCRIBERS,
Constants.RegisterToSimulator.SearchForServiceInstance.GET_SERVICES
-
}, ImmutableMap.<String, Object>of(), SimulatorApi.RegistrationStrategy.APPEND);
+ SimulatorApi.registerExpectationFromPreset(new PresetAAIGetSubscribersGet(),SimulatorApi.RegistrationStrategy.APPEND);
}
public static void searchExistingServiceInstance2(String orchStatus) {
genericSearchExistingServiceInstance();
SimulatorApi.registerExpectation(
new String [] {
- Constants.RegisterToSimulator.SearchForServiceInstance.GET_SUBSCRIBERS_FOR_CUSTOMER_FIREWALL_MISC,
+ Constants.RegisterToSimulator.SearchForServiceInstance.GET_SUBSCRIBERS_FOR_CUSTOMER_CRAIG_ROBERTS,
Constants.RegisterToSimulator.SearchForServiceInstance.FILTER_SERVICE_INSTANCE_BY_ID_2,
Constants.RegisterToSimulator.SearchForServiceInstance.NAMED_QUERY_VIEW_EDIT_2
}, ImmutableMap.<String, Object>of("<ORCH_STATUS>", orchStatus), SimulatorApi.RegistrationStrategy.APPEND);
@@ -105,9 +142,10 @@ public class BulkRegistration {
SimulatorApi.registerExpectationFromPreset(new PresetAAICloudRegionAndSourceFromConfigurationPut(configurationId, desiredCloudRegionId), APPEND);
SimulatorApi.registerExpectationFromPreset(new PresetAAIGetPortMirroringSourcePorts(configurationId, portInterfaceId, "i'm a port", isMirrored), APPEND);
+ SimulatorApi.registerExpectationFromPreset(PresetAAIGetCloudOwnersByCloudRegionId.PRESET_MDT1_TO_ATT_NC, APPEND);
SimulatorApi.registerExpectation(
new String [] {
- Constants.RegisterToSimulator.SearchForServiceInstance.GET_SUBSCRIBERS_FOR_CUSTOMER_USP_VOICE,
+ Constants.RegisterToSimulator.SearchForServiceInstance.GET_SUBSCRIBERS_FOR_CUSTOMER_SILVIA_ROBBINS,
Constants.RegisterToSimulator.SearchForServiceInstance.FILTER_SERVICE_INSTANCE_BY_ID_PM,
Constants.RegisterToSimulator.SearchForServiceInstance.NAMED_QUERY_VIEW_EDIT_PM,
Constants.RegisterToSimulator.SearchForServiceInstance.GET_SDC_CATALOG_SERVICE_PM,
@@ -170,33 +208,24 @@ public class BulkRegistration {
}
- public static void activateDeactivateConfiguration(String orchStatus, String action, String desiredCloudRegionId) {
- SimulatorApi.registerExpectation(
- new String [] {
- Constants.RegisterToSimulator.createConfiguration.MSO_ACTIVATE_CONFIGURATION,
- }, ImmutableMap.<String, Object>of("<ACTION>",action,"mdt1", desiredCloudRegionId), SimulatorApi.RegistrationStrategy.APPEND);
+ public static void activateDeactivateConfiguration(String action) {
+ appendWithGetStatus(new PresetMSOActOnConfiguration(action), PresetAAIGetCloudOwnersByCloudRegionId.PRESET_MDT1_TO_ATT_NC);
}
- public static void deleteConfiguration(String desiredCloudRegionId) {
- SimulatorApi.registerExpectation(
- new String [] {
- Constants.RegisterToSimulator.createConfiguration.MSO_DELETE_CONFIGURATION,
- Constants.RegisterToSimulator.createConfiguration.MSO_CREATE_CONFIGURATION_ORCH_REQ
- }, ImmutableMap.of("mdt1", desiredCloudRegionId), SimulatorApi.RegistrationStrategy.APPEND);
+ public static void deleteConfiguration() {
+ appendWithGetStatus(new PresetMSODeleteConfiguration(), PresetAAIGetCloudOwnersByCloudRegionId.PRESET_MDT1_TO_ATT_NC);
}
- public static void enableDisablePort(String action, String desiredCloudRegionId){
- SimulatorApi.registerExpectation(
- new String [] {
- Constants.RegisterToSimulator.createConfiguration.MSO_ACTIVATE_CONFIGURATION,
- Constants.RegisterToSimulator.createConfiguration.MSO_ENABLE_DISABLE_PORT,
- }, ImmutableMap.<String, Object>of("<ACTION>", action,"mdt1", desiredCloudRegionId), SimulatorApi.RegistrationStrategy.APPEND);
+ public static void enableDisablePort(String action){
+ appendWithGetStatus(new PresetMsoEnableDisablePort(
+ "c187e9fe-40c3-4862-b73e-84ff056205f6",
+ "9533-config-LB1113", action), PresetAAIGetCloudOwnersByCloudRegionId.PRESET_MDT1_TO_ATT_NC);
}
public static void addNetwork() {
SimulatorApi.registerExpectation(
new String [] {
- Constants.RegisterToSimulator.SearchForServiceInstance.GET_SUBSCRIBERS_FOR_CUSTOMER_Mobility,
+ Constants.RegisterToSimulator.SearchForServiceInstance.GET_SUBSCRIBERS_FOR_CUSTOMER_Emanuel,
Constants.RegisterToSimulator.addNetwork.AAI_GET_TENANTS,
Constants.RegisterToSimulator.addNetwork.AAI_NAMED_QUERY_FOR_VIEW_EDIT,
Constants.RegisterToSimulator.addNetwork.FILTER_SERVICE_INSTANCE_BY_ID,
@@ -205,13 +234,7 @@ public class BulkRegistration {
}, ImmutableMap.<String, Object>of(), SimulatorApi.RegistrationStrategy.APPEND);
}
- public static void msoAddNetwork(String instanceName){
- SimulatorApi.registerExpectation(
- new String [] {
- Constants.RegisterToSimulator.addNetwork.MSO_ADD_NETWORK_ORCH_REQ,
- Constants.RegisterToSimulator.addNetwork.MSO_ADD_NETWORK
- }, ImmutableMap.<String, Object>of("<SERVICE_INSTANCE_NAME>",instanceName), SimulatorApi.RegistrationStrategy.APPEND);
- }
+
public static void msoAddNetworkError(String instanceName){
SimulatorApi.registerExpectation(
new String [] {
@@ -227,13 +250,15 @@ public class BulkRegistration {
}
- public static void createPolicyConfiguration(boolean isSuccessFlow, String desiredCloudRegionId) {
+ public static void createPolicyConfiguration(boolean isSuccessFlow, String serviceType) {
createConfiguration();
- SimulatorApi.registerExpectation(
- new String []{
- Constants.RegisterToSimulator.createConfiguration.GET_PNF_INSTANCES,
- Constants.RegisterToSimulator.createConfiguration.GET_MODEL_BY_ONE_INVARIANT_ID
- } , ImmutableMap.<String, Object>of("mdt1", desiredCloudRegionId), SimulatorApi.RegistrationStrategy.APPEND);
+
+ SimulatorApi.registerExpectation(SimulatorApi.RegistrationStrategy.APPEND,
+ Constants.RegisterToSimulator.createConfiguration.GET_MODEL_BY_ONE_INVARIANT_ID);
+
+ SimulatorApi.registerExpectation(Constants.RegisterToSimulator.createConfiguration.GET_PNF_INSTANCES,
+ ImmutableMap.of("<SERVICE-TYPE>", serviceType), SimulatorApi.RegistrationStrategy.APPEND);
+
if (isSuccessFlow) {
msoCreatePProbeConfiguration();
} else {
@@ -241,38 +266,33 @@ public class BulkRegistration {
}
}
- public static void deletePolicyConfiguration(boolean isSuccessFlow, String desiredCloudRegionId) {
+ public static void deletePolicyConfiguration(boolean isSuccessFlow) {
createConfiguration();
- SimulatorApi.registerExpectation(
- new String []{
- Constants.RegisterToSimulator.createConfiguration.GET_PNF_INSTANCES,
- Constants.RegisterToSimulator.createConfiguration.GET_MODEL_BY_ONE_INVARIANT_ID,
- Constants.RegisterToSimulator.createConfiguration.MSO_DELETE_CONFIGURATION,
-
- } , ImmutableMap.<String, Object>of("mdt1", desiredCloudRegionId), SimulatorApi.RegistrationStrategy.APPEND);
- if (isSuccessFlow) {
- msoCreatePProbeConfiguration();
- } else {
- msoCreatePProbeConfigurationError();
- }
+ SimulatorApi.registerExpectation(SimulatorApi.RegistrationStrategy.APPEND,
+ Constants.RegisterToSimulator.createConfiguration.GET_MODEL_BY_ONE_INVARIANT_ID);
+ appendWithGetStatus(new PresetMSODeleteConfiguration(), PresetAAIGetCloudOwnersByCloudRegionId.PRESET_MDT1_TO_ATT_NC);
}
private static void msoCreatePProbeConfiguration() {
- SimulatorApi.registerExpectation(
- new String []{
- Constants.RegisterToSimulator.createConfiguration.MSO_CREATE_CONFIGURATION,
- Constants.RegisterToSimulator.createConfiguration.MSO_CREATE_CONFIGURATION_ORCH_REQ
- } , ImmutableMap.<String, Object>of(), SimulatorApi.RegistrationStrategy.APPEND);
+ appendWithGetStatus(new PresetMSOCreateConfiguration("c187e9fe-40c3-4862-b73e-84ff056205f6"), PresetAAIGetCloudOwnersByCloudRegionId.PRESET_AAIAIC25_TO_ATT_AIC);
+ }
+
+ private static void appendWithGetStatus(PresetMSOBaseCreateInstancePost createInstancePreset, PresetAAIGetCloudOwnersByCloudRegionId cloudOwnerPreset) {
+ SimulatorApi.registerExpectationFromPresets(ImmutableList.of(
+ createInstancePreset,
+ cloudOwnerPreset,
+ new PresetMSOOrchestrationRequestGet(PresetMSOOrchestrationRequestGet.COMPLETE, createInstancePreset.getRequestId(), "Success")),
+ SimulatorApi.RegistrationStrategy.APPEND);
}
private static void msoCreatePProbeConfigurationError() {
- SimulatorApi.registerExpectation(
- new String []{
- Constants.RegisterToSimulator.createConfiguration.MSO_CREATE_CONFIGURATION_ERROR
- } , ImmutableMap.<String, Object>of(), SimulatorApi.RegistrationStrategy.APPEND);
+ SimulatorApi.registerExpectationFromPresets(ImmutableList.of(
+ new PresetMSOCreateConfiguration("c187e9fe-40c3-4862-b73e-84ff056205f6", 500, null),
+ PresetAAIGetCloudOwnersByCloudRegionId.PRESET_AAIAIC25_TO_ATT_AIC),
+ SimulatorApi.RegistrationStrategy.APPEND);
}
public static void createConfiguration() {
@@ -295,31 +315,28 @@ public class BulkRegistration {
}
public static void createNewServiceInstance(String subscriber) {
- SimulatorApi.registerExpectation(
- new String []{
- Constants.RegisterToSimulator.CreateNewServiceInstance.GET_FULL_SUBSCRIBES,
- Constants.RegisterToSimulator.CreateNewServiceInstance.GET_SERVICES
- } , ImmutableMap.<String, Object>of(), SimulatorApi.RegistrationStrategy.APPEND);
+ SimulatorApi.registerExpectationFromPreset(new PresetAAIGetSubscribersGet(),SimulatorApi.RegistrationStrategy.APPEND);
+ SimulatorApi.registerExpectation(Constants.RegisterToSimulator.CreateNewServiceInstance.GET_SERVICES, SimulatorApi.RegistrationStrategy.APPEND);
switch (subscriber) {
- case "USP VOICE": createNewServiceInstanceUspVoice(); break;
- case "MSO_1610_ST": createNewServiceInstanceMso1610ST(); break;
+ case "SILVIA ROBBINS": createNewServiceInstanceUspVoice(); break;
+ case "CAR_2020_ER": createNewServiceInstanceMso1610ST(); break;
}
}
private static void createNewServiceInstanceMso1610ST() {
SimulatorApi.registerExpectation(
new String []{
- Constants.RegisterToSimulator.CreateNewServiceInstance.GET_SUBSCRIBERS_FOR_CUSTOMER_MSO_1610_ST,
- Constants.RegisterToSimulator.CreateNewServiceInstance.GET_MODELS_BY_SERVICE_TYPE_MSO_1610_ST
+ Constants.RegisterToSimulator.CreateNewServiceInstance.GET_SUBSCRIBERS_FOR_CUSTOMER_CAR_2020_ER,
+ Constants.RegisterToSimulator.CreateNewServiceInstance.GET_MODELS_BY_SERVICE_TYPE_CAR_2020_ER
} , ImmutableMap.<String, Object>of(), SimulatorApi.RegistrationStrategy.APPEND);
}
private static void createNewServiceInstanceUspVoice() {
SimulatorApi.registerExpectation(
new String []{
- Constants.RegisterToSimulator.CreateNewServiceInstance.GET_SUBSCRIBERS_FOR_CUSTOMER_USP_VOICE,
- Constants.RegisterToSimulator.CreateNewServiceInstance.GET_MODELS_BY_SERVICE_TYPE_USP_VOICE
+ Constants.RegisterToSimulator.CreateNewServiceInstance.GET_SUBSCRIBERS_FOR_CUSTOMER_SILVIA_ROBBINS,
+ Constants.RegisterToSimulator.CreateNewServiceInstance.GET_MODELS_BY_SERVICE_TYPE_SILVIA_ROBBINS
} , ImmutableMap.<String, Object>of(), SimulatorApi.RegistrationStrategy.APPEND);
}
@@ -336,26 +353,34 @@ public class BulkRegistration {
public static void searchExistingServiceInstanceWithoutModelVerId() {
SimulatorApi.registerExpectation(
new String []{
- Constants.RegisterToSimulator.SearchForServiceInstance.GET_SUBSCRIBERS_FOR_CUSTOMER_FIREWALL_MISC,
+ Constants.RegisterToSimulator.SearchForServiceInstance.GET_SUBSCRIBERS_FOR_CUSTOMER_CRAIG_ROBERTS,
Constants.RegisterToSimulator.SearchForServiceInstance.FILTER_SERVICE_INSTANCE_BY_ID_NO_MODEL_VER_ID,
// Constants.RegisterToSimulator.SearchForServiceInstance.NAMED_QUERY_VIEW_EDIT_NO_MODEL_VER_ID
} , ImmutableMap.<String, Object>of(), SimulatorApi.RegistrationStrategy.APPEND);
}
- public static void deleteExistingInstance(String orchStatus, String type) {
+ public static void deleteExistingInstance(String orchStatus, String type) {
+ deleteExistingInstance(orchStatus, type, "pending-delete");
+ }
+
+ public static void deleteExistingInstance(String orchStatus, String type, String vfModuleOrchStatus) {
genericSearchExistingServiceInstance();
SimulatorApi.registerExpectation(
new String [] {
- Constants.RegisterToSimulator.SearchForServiceInstance.GET_SUBSCRIBERS_FOR_CUSTOMER_USP_VOICE,
+ Constants.RegisterToSimulator.SearchForServiceInstance.GET_SUBSCRIBERS_FOR_CUSTOMER_SILVIA_ROBBINS,
Constants.RegisterToSimulator.SearchForServiceInstance.NAMED_QUERY_VIEW_EDIT,
Constants.RegisterToSimulator.CreateNewServiceInstance.deploy.GET_AIC_ZONES
- }, ImmutableMap.<String, Object>of("<ORCH_STATUS>", orchStatus), SimulatorApi.RegistrationStrategy.APPEND);
+ }, ImmutableMap.<String, Object>of("<ORCH_STATUS>", orchStatus, "<VF_MODULE_ORCH_STATUS>", vfModuleOrchStatus), SimulatorApi.RegistrationStrategy.APPEND);
SimulatorApi.registerExpectationFromPresets(
ImmutableList.of(
new PresetAAIGetTenants(),
new PresetMSODeleteInstanceOrchestrationRequestGet(type),
new PresetSDCGetServiceMetadataGet("7a6ee536-f052-46fa-aa7e-2fca9d674c44", "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", "service-Complexservice-aLaCarte-csar.zip"),
- new PresetSDCGetServiceToscaModelGet("7a6ee536-f052-46fa-aa7e-2fca9d674c44", "service-Complexservice-aLaCarte-csar.zip")),
+ new PresetSDCGetServiceToscaModelGet("7a6ee536-f052-46fa-aa7e-2fca9d674c44", "service-Complexservice-aLaCarte-csar.zip"),
+ new PresetMSODeactivateAndCloudDelete("3f93c7cb-2fd0-4557-9514-e189b7b04f9d", "c015cc0f-0f37-4488-aabf-53795fd93cd3",
+ "a231a99c-7e75-4d6d-a0fb-5c7d26f30f77", "c0011670-0e1a-4b74-945d-8bf5aede1d9c", "irma-aic"),
+ PresetAAIGetCloudOwnersByCloudRegionId.PRESET_MTN6_TO_ATT_AIC
+ ),
SimulatorApi.RegistrationStrategy.APPEND);
}
@@ -383,7 +408,23 @@ public class BulkRegistration {
deleteExistingInstance(orchStatus, "Service");
SimulatorApi.registerExpectationFromPresets(ImmutableList.of(
new PresetMSODeleteService(),
- new PresetAAIPostNamedQueryForViewEdit("3f93c7cb-2fd0-4557-9514-e189b7b04f9d", false)), SimulatorApi.RegistrationStrategy.APPEND);
+ new PresetAAIPostNamedQueryForViewEdit("3f93c7cb-2fd0-4557-9514-e189b7b04f9d", false, false)), SimulatorApi.RegistrationStrategy.APPEND);
+ }
+
+ public static void resumeWithHomingDataVfModule(String serviceOrchStatus, String vfModuleOrchStatus, String vfModuleName) {
+ SimulatorApi.registerExpectation(Constants.RegisterToSimulator.SearchForServiceInstance.NAMED_QUERY_VIEW_EDIT,
+ ImmutableMap.<String, Object>of("<ORCH_STATUS>", serviceOrchStatus, "<VF_MODULE_ORCH_STATUS>", vfModuleOrchStatus),
+ SimulatorApi.RegistrationStrategy.APPEND);
+
+ SimulatorApi.registerExpectationFromPresets(
+ ImmutableList.of (
+ PresetAAIGetCloudOwnersByCloudRegionId.PRESET_MDT1_TO_ATT_NC,
+ new PresetAAIGetHomingForVfModule("c015cc0f-0f37-4488-aabf-53795fd93cd3", "a231a99c-7e75-4d6d-a0fb-5c7d26f30f77", "092eb9e8e4b7412e8787dd091bc58e86", "mdt1"),
+ new PresetMSOCreateVfModule("3f93c7cb-2fd0-4557-9514-e189b7b04f9d",
+ "c015cc0f-0f37-4488-aabf-53795fd93cd3", ATT_NC, vfModuleName,
+ "7a6ee536-f052-46fa-aa7e-2fca9d674c44", "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", "ComplexService"),
+ new PresetMSOOrchestrationRequestGet("COMPLETE","c0011670-0e1a-4b74-945d-8bf5aede1d9c",Constants.ViewEdit.VF_MODULE_CREATED_SUCCESSFULLY_TEXT)),
+ SimulatorApi.RegistrationStrategy.APPEND);
}
public static void resumeVfModule(String serviceInstanceId, String vnfInstanceId ){
@@ -391,7 +432,8 @@ public class BulkRegistration {
SimulatorApi.registerExpectationFromPresets(
ImmutableList.of (
new PresetAAIGetTenants(),
- new PresetMSOCreateVfModuleInstancePost(serviceInstanceId,vnfInstanceId),
+ PresetAAIGetCloudOwnersByCloudRegionId.PRESET_MDT1_TO_ATT_NC,
+ new PresetMSOCreateVfModule(serviceInstanceId,vnfInstanceId, ATT_NC),
new PresetMSOOrchestrationRequestGet("COMPLETE","c0011670-0e1a-4b74-945d-8bf5aede1d9c",Constants.ViewEdit.VF_MODULE_CREATED_SUCCESSFULLY_TEXT)),
SimulatorApi.RegistrationStrategy.APPEND);
diff --git a/vid-automation/src/main/java/vid/automation/test/services/DropTestApiField.java b/vid-automation/src/main/java/vid/automation/test/services/DropTestApiField.java
index e175b88b1..bb50438ca 100644
--- a/vid-automation/src/main/java/vid/automation/test/services/DropTestApiField.java
+++ b/vid-automation/src/main/java/vid/automation/test/services/DropTestApiField.java
@@ -1,64 +1,73 @@
-package vid.automation.test.services;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import vid.automation.test.infra.Features;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.function.UnaryOperator;
-
-public class DropTestApiField {
-
- public static UnaryOperator<String> dropTestApiFieldFromString() {
- if (Features.FLAG_ADD_MSO_TESTAPI_FIELD.isActive()) {
- // do nothing
- return in -> in;
- } else {
- final ObjectMapper objectMapper = new ObjectMapper();
- return in -> {
- if (!in.contains("testApi")) {
- // short circuit
- return in;
- }
-
- try {
- final JsonNode tree = objectMapper.readTree(in);
- final JsonNode node = tree.path("simulatorRequest");
- if (removePath(node, "body", "requestDetails", "requestParameters", "testApi") != null) {
- // tree modified, write back to string
- return objectMapper.writeValueAsString(tree);
- } else {
- // else...
- return in;
- }
- } catch (IOException e) {
- return in;
- }
- };
- }
- }
-
- private static JsonNode removePath(JsonNode tree, String... nodes) {
- // remove the nodes; remove also the parent, if an empty object was left
- // returns the removed node
- // returns null if no modification to tree
- if (nodes.length > 1) {
- final JsonNode node = tree.path(nodes[0]);
- final JsonNode removed = removePath(node, Arrays.copyOfRange(nodes, 1, nodes.length));
- if (removed != null && node.size() == 0) {
- return removePath(tree, nodes[0]);
- } else {
- return removed; // non-null if node.size() != 0
- }
- } else {
- if (tree instanceof ObjectNode) {
- return ((ObjectNode) tree).remove(nodes[0]);
- } else {
- return null;
- }
- }
- }
-
-}
+package vid.automation.test.services;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import vid.automation.test.infra.Features;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.function.UnaryOperator;
+
+public class DropTestApiField {
+
+ public static UnaryOperator<String> dropTestApiFieldFromString() {
+ return dropFieldFromString("testApi", Features.FLAG_ADD_MSO_TESTAPI_FIELD,
+ "simulatorRequest", "body", "requestDetails", "requestParameters", "testApi");
+ }
+
+ public static UnaryOperator<String> dropFieldCloudOwnerFromString() {
+ return dropFieldFromString("cloudOwner", Features.FLAG_ADD_MSO_TESTAPI_FIELD,
+ "simulatorRequest", "body", "requestDetails", "cloudConfiguration", "cloudOwner");
+ }
+ private static UnaryOperator<String> dropFieldFromString(String text, Features featureFlag, String basePath, String... nodes){
+ if (featureFlag.isActive()) {
+ // do nothing
+ return in -> in;
+ } else {
+ final ObjectMapper objectMapper = new ObjectMapper();
+ return in -> {
+ if (!in.contains(text)) {
+ // short circuit
+ return in;
+ }
+
+ try {
+ final JsonNode tree = objectMapper.readTree(in);
+ final JsonNode node = tree.path(basePath);
+ if (removePath(node, nodes) != null) {
+ // tree modified, write back to string
+ return objectMapper.writeValueAsString(tree);
+ } else {
+ // else...
+ return in;
+ }
+ } catch (IOException e) {
+ return in;
+ }
+ };
+ }
+ }
+
+ private static JsonNode removePath(JsonNode tree, String... nodes) {
+ // remove the nodes; remove also the parent, if an empty object was left
+ // returns the removed node
+ // returns null if no modification to tree
+ if (nodes.length > 1) {
+ final JsonNode node = tree.path(nodes[0]);
+ final JsonNode removed = removePath(node, Arrays.copyOfRange(nodes, 1, nodes.length));
+ if (removed != null && node.size() == 0) {
+ return removePath(tree, nodes[0]);
+ } else {
+ return removed; // non-null if node.size() != 0
+ }
+ } else {
+ if (tree instanceof ObjectNode) {
+ return ((ObjectNode) tree).remove(nodes[0]);
+ } else {
+ return null;
+ }
+ }
+ }
+
+}
diff --git a/vid-automation/src/main/java/vid/automation/test/services/ServicesService.java b/vid-automation/src/main/java/vid/automation/test/services/ServicesService.java
index 34303a972..264b2c16d 100644
--- a/vid-automation/src/main/java/vid/automation/test/services/ServicesService.java
+++ b/vid-automation/src/main/java/vid/automation/test/services/ServicesService.java
@@ -1,7 +1,7 @@
package vid.automation.test.services;
import com.fasterxml.jackson.databind.ObjectMapper;
-import org.openecomp.sdc.ci.tests.utilities.FileHandling;
+import org.onap.sdc.ci.tests.utilities.FileHandling;
import vid.automation.test.model.Service;
import vid.automation.test.model.ServiceModel;
import vid.automation.test.model.ServiceModelsList;
diff --git a/vid-automation/src/main/java/vid/automation/test/services/SimulatorApi.java b/vid-automation/src/main/java/vid/automation/test/services/SimulatorApi.java
index 29f6eae7c..65ef3679c 100644
--- a/vid-automation/src/main/java/vid/automation/test/services/SimulatorApi.java
+++ b/vid-automation/src/main/java/vid/automation/test/services/SimulatorApi.java
@@ -1,30 +1,36 @@
package vid.automation.test.services;
-import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
-import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
+import static org.testng.Assert.assertEquals;
+import static vid.automation.test.services.DropTestApiField.dropFieldCloudOwnerFromString;
+import static vid.automation.test.services.DropTestApiField.dropTestApiFieldFromString;
+
+import com.fasterxml.jackson.databind.DeserializationFeature;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
-import org.glassfish.jersey.client.ClientProperties;
-import org.glassfish.jersey.uri.internal.JerseyUriBuilder;
-import org.onap.simulator.presetGenerator.presets.BasePresets.BasePreset;
-import org.onap.simulator.presetGenerator.presets.model.RegistrationRequest;
-import org.springframework.http.HttpStatus;
-import vid.automation.test.utils.ReadFile;
-
+import java.net.URI;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.function.UnaryOperator;
+import java.util.stream.Collectors;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.WebTarget;
+import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import java.net.URI;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.function.UnaryOperator;
-
-import static org.testng.Assert.assertEquals;
-import static vid.automation.test.services.DropTestApiField.dropTestApiFieldFromString;
+import org.glassfish.jersey.client.ClientProperties;
+import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJaxbJsonProvider;
+import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJsonProvider;
+import org.glassfish.jersey.uri.internal.JerseyUriBuilder;
+import org.onap.simulator.presetGenerator.presets.BasePresets.BasePreset;
+import org.onap.simulator.presetGenerator.presets.model.RegistrationRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpStatus;
+import vid.automation.test.utils.ReadFile;
public class SimulatorApi {
@@ -32,15 +38,31 @@ public class SimulatorApi {
APPEND, CLEAR_THEN_SET
}
+ private static final Logger logger = LoggerFactory.getLogger(SimulatorApi.class);
+
+ /*
+ these classes are partial representation of org.mockserver.model.HttpRequest.
+ We can not use HttpRequest since it contains Map with NottableString and jackson throw the following error :
+ com.fasterxml.jackson.databind.JsonMappingException: Can not find a (Map) Key deserializer for type
+ [simple type, class org.mockserver.model.NottableString]
+ */
+ public static class Path {
+ public String value;
+ }
+
+ public static class HttpRequest{
+ public Path path;
+ }
+
private static final URI uri; //uri for registration
private static final URI simulationUri; //uri for getting simulated responses
private static final Client client;
private static final List<UnaryOperator<String>> presetStringPostProccessors =
- ImmutableList.of(dropTestApiFieldFromString());
+ ImmutableList.of(dropTestApiFieldFromString(), dropFieldCloudOwnerFromString());
static {
- String host = System.getProperty("VID_HOST", "127.0.0.1" );
+ String host = System.getProperty("VID_HOST", "10.0.0.10" );
Integer port = Integer.valueOf(System.getProperty("SIM_PORT", System.getProperty("VID_PORT", "8080"))); //port for registration
uri = new JerseyUriBuilder().host(host).port(port).scheme("http").path("vidSimulator").build();
client = ClientBuilder.newClient();
@@ -49,6 +71,7 @@ public class SimulatorApi {
// org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException:
// MessageBodyWriter not found for media type=application/json
JacksonJsonProvider jacksonJsonProvider = new JacksonJaxbJsonProvider();
+ jacksonJsonProvider.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
client.register(jacksonJsonProvider);
Integer simulationPort = Integer.valueOf(System.getProperty("SIMULATION_PORT", "1080")); //port getting simulated responses
@@ -84,13 +107,13 @@ public class SimulatorApi {
content = content.replaceAll(templateParam.getKey(), templateParam.getValue().toString());
}
- registerToSimulatorAndAssertSuccess(content, registrationStrategy);
+ registerToSimulatorAndAssertSuccess(expectationTemplateFilename, content, registrationStrategy);
}
public static void registerExpectationFromPreset(BasePreset preset, RegistrationStrategy registrationStrategy) {
RegistrationRequest content = preset.generateScenario();
- registerToSimulatorAndAssertSuccess(content, registrationStrategy);
+ registerToSimulatorAndAssertSuccess(preset.getClass().getCanonicalName(), content, registrationStrategy);
}
public static void registerExpectationFromPresets(Collection<BasePreset> presets, RegistrationStrategy registrationStrategy) {
@@ -99,7 +122,7 @@ public class SimulatorApi {
}
presets.forEach(
preset-> {
- try {registerToSimulatorAndAssertSuccess(preset.generateScenario());}
+ try {registerToSimulatorAndAssertSuccess(preset.getClass().getCanonicalName(), preset.generateScenario());}
catch (RuntimeException e) {
throw new RuntimeException("Failed to register preset "+preset.getClass().getName(), e);
}
@@ -107,14 +130,31 @@ public class SimulatorApi {
);
}
- private static void registerToSimulatorAndAssertSuccess(Object content, RegistrationStrategy registrationStrategy) {
+// public static List<HttpRequest> retrieveRecordedRequests() {
+// Response response = client.target(uri).path("retrieveRecordedRequests").request().get();
+// return response.readEntity(new GenericType<List<HttpRequest>>(){});
+// }
+
+ /*
+ This method return counter of requests that has been sent to simulator.
+ The key of the map is a path, and the value is counter
+ */
+ public static Map<String, Long> retrieveRecordedRequestsPathCounter() {
+ Response response = client.target(uri).path("retrieveRecordedRequests").request().get();
+ List<HttpRequest> httpRequests = response.readEntity(new GenericType<List<HttpRequest>>(){});
+ return httpRequests.stream().map(x->x.path.value).collect(
+ Collectors.groupingBy(Function.identity(), Collectors.counting()));
+ }
+
+ private static void registerToSimulatorAndAssertSuccess(String name, Object content, RegistrationStrategy registrationStrategy) {
if (registrationStrategy == RegistrationStrategy.CLEAR_THEN_SET) {
clearRegistrations();
}
- registerToSimulatorAndAssertSuccess(content);
+ registerToSimulatorAndAssertSuccess(name, content);
}
- private static void registerToSimulatorAndAssertSuccess(Object content) {
+ private static void registerToSimulatorAndAssertSuccess(String name, Object content) {
+ logger.info("Setting {}", name);
content = postProccessContent(content);
@@ -137,6 +177,7 @@ public class SimulatorApi {
}
private static void clearRegistrations() {
+ logger.info("Clearing Registrations");
Response response = createSimulatorRegistrationWebTarget().request().delete();
assertEquals(response.getStatus(), HttpStatus.OK.value());
}
diff --git a/vid-automation/src/main/java/vid/automation/test/services/UsersService.java b/vid-automation/src/main/java/vid/automation/test/services/UsersService.java
index ac8af4511..aae7917f7 100644
--- a/vid-automation/src/main/java/vid/automation/test/services/UsersService.java
+++ b/vid-automation/src/main/java/vid/automation/test/services/UsersService.java
@@ -1,12 +1,10 @@
package vid.automation.test.services;
-import com.google.common.primitives.Ints;
-import org.apache.commons.lang3.StringUtils;
-import vid.automation.test.model.User;
-import vid.automation.test.model.UsersObject;
-import vid.automation.test.utils.DB_CONFIG;
-import vid.automation.test.utils.ReadFile;
+import static org.hamcrest.CoreMatchers.everyItem;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.greaterThan;
+import com.google.common.primitives.Ints;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
@@ -15,10 +13,11 @@ import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
-
-import static org.hamcrest.CoreMatchers.everyItem;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.greaterThan;
+import org.apache.commons.lang3.StringUtils;
+import vid.automation.test.model.User;
+import vid.automation.test.model.UsersObject;
+import vid.automation.test.utils.DB_CONFIG;
+import vid.automation.test.utils.ReadFile;
/**
* Created by itzikliderman on 08/09/2017.
@@ -53,7 +52,7 @@ public class UsersService {
/*
Creates a user in the DB, were:
- Login user name is a deterministic number, hashed from the userId string, with 3 trailing zeroes,
- and two leading letters from the userId itself; e.g. "mo26063000" for mobility.
+ and two leading letters from the userId itself; e.g. "mo26063000" for emanuel.
- Login user name == user password
- 'user.credentials.userId' and 'user.credentials.password' input fields are overridden with the generated values.
- Roles are "read" (roleId==16) and all other roles in object (like subscriberName___serviceType___tenant).
@@ -77,7 +76,7 @@ public class UsersService {
user.credentials.password = getLoginId(userId);
stmt.addBatch("INSERT INTO `fn_user` (`USER_ID`, `ORG_USER_ID`, `FIRST_NAME`, `LOGIN_ID`, `LOGIN_PWD`) " +
- "VALUES (" + userNumber + ", '" + userId + "', '" + userId + "', '" + user.credentials.userId + "', '" + user.credentials.password + "')");
+ "VALUES (" + userNumber + ", '" + user.credentials.userId + "', '" + userId + "', '" + user.credentials.userId + "', '" + user.credentials.password + "')");
List<String> roles = user.roles != null ? user.roles : new LinkedList<>();
roles.add("Standard User");