diff --git a/src/lib/client/ManifestReader.ts b/src/lib/client/ManifestReader.ts
index fa580f4..efbfe19 100644
--- a/src/lib/client/ManifestReader.ts
+++ b/src/lib/client/ManifestReader.ts
@@ -10,14 +10,20 @@ export default class ManifestReader {
constructor(artifactDirectory: string) {
log.info(`Reading manifest from ${artifactDirectory}...`);
this.manifestEntries = new Map();
- fs.readFileSync(path.join(artifactDirectory, 'META-INF', 'MANIFEST.MF'), 'utf-8')
- .split(/\r?\n/)
- .forEach((line) => {
- const [key, value] = line.split(':');
- if (key && value) {
- this.manifestEntries.set(key.trim(), value.trim());
- }
- });
+ const lines = fs.readFileSync(path.join(artifactDirectory, 'META-INF', 'MANIFEST.MF'), 'utf-8').split(/\r?\n/);
+
+ let lastLineKey = '';
+ lines.forEach((line) => {
+ const [key, value] = line.split(':');
+ if (key && value && key.match(/^[^\s]+$/)) {
+ const keyTrimmed = key.trim();
+ this.manifestEntries.set(keyTrimmed, value.trim());
+ lastLineKey = keyTrimmed;
+ } else if (lastLineKey) {
+ const lastValue = this.manifestEntries.get(lastLineKey);
+ this.manifestEntries.set(lastLineKey, `${lastValue}${key.trim()}`);
+ }
+ });
}
get(key: string) {
diff --git a/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/.project b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/.project
new file mode 100644
index 0000000..8c2d36b
--- /dev/null
+++ b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/.project
@@ -0,0 +1,18 @@
+
+ com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExportId.EBZ
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ com.sap.ide.ifl.project.support.project.nature
+ com.sap.ide.ifl.odop
+
+
\ No newline at end of file
diff --git a/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/META-INF/MANIFEST.MF b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..4c85f75
--- /dev/null
+++ b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/META-INF/MANIFEST.MF
@@ -0,0 +1,46 @@
+Manifest-Version: 1.0
+Bundle-Description:
+Bundle-SymbolicName: com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffbo
+ ardUserRecordWithExpabcd; singleton:=true
+Origin-Bundle-SymbolicName: com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingG
+ etOffboardUserRecordWithExpabcd
+Bundle-ManifestVersion: 2
+Origin-Bundle-Version: 1.0.0
+Import-Package: com.sap.esb.application.services.cxf.interceptor,com.s
+ ap.esb.security,com.sap.it.op.agent.api,com.sap.it.op.agent.collector
+ .camel,com.sap.it.op.agent.collector.cxf,com.sap.it.op.agent.mpl,com.
+ sap.sod.utils.cxf.interceptors,com.sap.sod.utils.encoding.processors,
+ com.sap.sod.utils.idoc.soap,com.sap.sod.utils.soap,com.sap.sod.utils.
+ idoc.soap.processors,javax.jms,javax.jws,javax.wsdl,javax.xml.bind.an
+ notation,javax.xml.namespace,javax.xml.ws,org.apache.camel;version="2
+ .8",org.apache.camel.builder;version="2.8",org.apache.camel.builder.x
+ ml;version="2.8",org.apache.camel.component.cxf,org.apache.camel.mode
+ l;version="2.8",org.apache.camel.processor;version="2.8",org.apache.c
+ amel.processor.aggregate;version="2.8",org.apache.camel.spring.spi;ve
+ rsion="2.8",org.apache.commons.logging,org.apache.cxf.binding,org.apa
+ che.cxf.binding.soap,org.apache.cxf.binding.soap.spring,org.apache.cx
+ f.bus,org.apache.cxf.bus.resource,org.apache.cxf.bus.spring,org.apach
+ e.cxf.buslifecycle,org.apache.cxf.catalog,org.apache.cxf.configuratio
+ n.jsse,org.apache.cxf.configuration.spring,org.apache.cxf.endpoint,or
+ g.apache.cxf.headers,org.apache.cxf.interceptor,org.apache.cxf.manage
+ ment.counters,org.apache.cxf.message,org.apache.cxf.phase,org.apache.
+ cxf.resource,org.apache.cxf.service.factory,org.apache.cxf.service.mo
+ del,org.apache.cxf.transport,org.apache.cxf.transport.common.gzip,org
+ .apache.cxf.transport.http,org.apache.cxf.transport.http.policy,org.a
+ pache.cxf.workqueue,org.apache.cxf.ws.rm.persistence,org.apache.cxf.w
+ sdl11,org.osgi.framework;version="1.6.0",org.osgi.service.blueprint;v
+ ersion="[1.0.0,2.0.0)",org.slf4j;version="1.6",org.springframework.be
+ ans.factory.config;version="3.0",com.sap.aii.ib.bom.flib.types,com.sa
+ p.aii.mapping.api,com.sap.aii.mappingtool.flib3,com.sap.aii.mappingto
+ ol.flib7,com.sap.aii.mappingtool.tf3,com.sap.aii.mappingtool.tf3.rt,c
+ om.sap.aii.mappingtool.tf7,com.sap.aii.mappingtool.tf7.rt,com.sap.aii
+ .mappingtool.tfapi,com.sap.esb.webservice.audit.log
+Origin-Bundle-Name: Integration Flow
+SAP-RuntimeProfile:
+Bundle-Name: Integration Flow
+Bundle-Version: 1.0.0
+SAP-NodeType: IFLMAP
+Origin-ModifiedDate: 1696523944750
+Import-Service: com.sap.esb.webservice.audit.log.AuditLogger
+SAP-BundleType: IntegrationFlow
+
diff --git a/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/metainfo.prop b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/metainfo.prop
new file mode 100644
index 0000000..138a216
--- /dev/null
+++ b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/metainfo.prop
@@ -0,0 +1,6 @@
+#Store metainfo properties
+#Thu Apr 11 09:27:31 UTC 2024
+description=This process is used to get employee data for an offboarded employee.
+SAP-MarkedSAP2SAP=SAP_TO_SAP_INTEGRATION
+source=SAPHCM
+target=SAPSuccessFactors
diff --git a/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/mapping/HCMgetOffboardUserRecordRequest_to_ONBgetOffboardUserRecordWithExportIdRequest.jar b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/mapping/HCMgetOffboardUserRecordRequest_to_ONBgetOffboardUserRecordWithExportIdRequest.jar
new file mode 100644
index 0000000..f7e800a
Binary files /dev/null and b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/mapping/HCMgetOffboardUserRecordRequest_to_ONBgetOffboardUserRecordWithExportIdRequest.jar differ
diff --git a/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/mapping/SFSFOffboardingGetOffboardUserRecord_Out_to_SFSFOffboardingGetOffboardUserRecordWithExportId_In.opmap b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/mapping/SFSFOffboardingGetOffboardUserRecord_Out_to_SFSFOffboardingGetOffboardUserRecordWithExportId_In.opmap
new file mode 100644
index 0000000..9ea5125
--- /dev/null
+++ b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/mapping/SFSFOffboardingGetOffboardUserRecord_Out_to_SFSFOffboardingGetOffboardUserRecordWithExportId_In.opmap
@@ -0,0 +1 @@
+SFSFOffboardingGetOffboardUserRecord_Out_to_SFSFOffboardingGetOffboardUserRecordWithExportId_Insrc/main/resources/mappingrainas2015-07-07 07:31:30.4351436247090435rainasSFSFONBIntegrationhttp://sap.com/xi/SFIHCM03GetOffboardUserRecordWithExportIdSoapInhttp://ATS.online-onboarding.com/Client/HRDataServiceExHCMgetOffboardUserRecordRequest_to_ONBgetOffboardUserRecordWithExportIdRequestsrc/main/resources/mappingXSLT_GetOffboardUserRecordWithExportIdResponse_Mapping_1src/main/resources/mappingXSLT_GetOffboardUserRecordResponse_Mapping_2src/main/resources/mappingSFSFONBIntegrationhttp://sap.com/xi/SFIHCM03GetOffboardUserRecordWithExportIdSoapOuthttp://ATS.online-onboarding.com/Client/HRDataServiceExgetNewHireRecordResponsehttp://sap.com/xi/SFIHCM03getNewHireRecordRequesthttp://sap.com/xi/SFIHCM03SFSFOffboardingGetOffboardUserRecord_Outsrc/main/resources/wsdlSFSFOffboardingGetOffboardUserRecordWithExportId_Insrc/main/resources/wsdlOIJ1:1111111
\ No newline at end of file
diff --git a/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/mapping/XSLT_GetOffboardUserRecordResponse_Mapping_2.xsl b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/mapping/XSLT_GetOffboardUserRecordResponse_Mapping_2.xsl
new file mode 100644
index 0000000..ecaddb9
--- /dev/null
+++ b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/mapping/XSLT_GetOffboardUserRecordResponse_Mapping_2.xsl
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/mapping/XSLT_GetOffboardUserRecordWithExportIdResponse_Mapping_1.xsl b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/mapping/XSLT_GetOffboardUserRecordWithExportIdResponse_Mapping_1.xsl
new file mode 100644
index 0000000..d28c36b
--- /dev/null
+++ b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/mapping/XSLT_GetOffboardUserRecordWithExportIdResponse_Mapping_1.xsl
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/parameters.prop b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/parameters.prop
new file mode 100644
index 0000000..2b0c6cf
--- /dev/null
+++ b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/parameters.prop
@@ -0,0 +1,6 @@
+#Thu Apr 11 09:27:31 UTC 2024
+SenderAddress=/hcm2bizx/SFSFOffboardingGetOffboardUserRecordWithExportId
+SAPHCM_enableBasicAuthentication_17=false
+subject=DC\=sender,CN\=sender
+Offboarding_EndPoint=https\://
+issuer=DC\=issuer,CN\=issuer
diff --git a/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/parameters.propdef b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/parameters.propdef
new file mode 100644
index 0000000..a9969f8
--- /dev/null
+++ b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/parameters.propdef
@@ -0,0 +1,41 @@
+
+
+ Offboarding_EndPoint
+ xsd:string
+ false
+
+
+
+
+
+ issuer
+ xsd:string
+ false
+
+
+
+
+
+ subject
+ xsd:string
+ false
+
+
+
+
+
+ SenderAddress
+ xsd:string
+ false
+
+
+
+
+
+ SAPHCM_enableBasicAuthentication_17
+ xsd:string
+ false
+
+
+
+
\ No newline at end of file
diff --git a/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/scenarioflows/integrationflow/SFSFOffboardingGetOffboardUserRecordWithExportId.iflw b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/scenarioflows/integrationflow/SFSFOffboardingGetOffboardUserRecordWithExportId.iflw
new file mode 100644
index 0000000..78e39ec
--- /dev/null
+++ b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/scenarioflows/integrationflow/SFSFOffboardingGetOffboardUserRecordWithExportId.iflw
@@ -0,0 +1,526 @@
+
+
+
+ IntegrationFlowVersion
+ 1.0
+
+
+
+ Participant_1
+
+
+ Participant_2
+
+
+
+
+ routeid
+ MyProject
+
+
+ errorStrategy
+ None
+
+
+ namespaceMapping
+ xmlns:p1=http://sap.com/xi/SFIHCM03
+
+
+ returnExceptionToSender
+
+
+
+ ServerTrace
+
+
+
+ cmdVariantUri
+ ctype::IFlowVariant/cname::IFlowConfiguration
+
+
+ log
+ All events
+
+
+ allowedHeaderList
+
+
+
+
+
+
+ enableBasicAuthentication
+ {{SAPHCM_enableBasicAuthentication_17}}
+
+
+ subject0
+ {{subject}}
+
+
+ issuer0
+ {{issuer}}
+
+
+ ifl:type
+ EndpointSender
+
+
+
+
+
+
+
+
+
+ ifl:type
+ EndpointRecevier
+
+
+
+
+
+
+ Name
+ SAP
+
+
+ Description
+
+
+
+ ComponentType
+ SOAP
+
+
+ ComponentNS
+ sap
+
+
+ ComponentSWCVId
+ 1.0
+
+
+ ComponentSWCVName
+ 1.0
+
+
+ adapterVersion
+
+
+
+ TransportProtocol
+ HTTP
+
+
+ TransportProtocolVersion
+ 1.0
+
+
+ MessageProtocol
+ SOAP 1.x
+
+
+ MessageProtocolVersion
+ 1.2
+
+
+ address
+ {{SenderAddress}}
+
+
+ soapWsdlURL
+ /wsdl/SFSFOffboardingGetOffboardUserRecord_Out.wsdl
+
+
+ soapServiceName
+ p1:SFSFOffboardingGetOffboardUserRecord_Out
+
+
+ soapWsdlPortName
+ p1:SFSFOffboardingGetOffboardUserRecord_Out
+
+
+ soapOptions
+ None
+
+
+ WSSecurity
+ None
+
+
+ WSSecurityType
+ VerifyMessage
+
+
+ SaveIncomingSignedMessage
+ 0
+
+
+ CheckTimeStamp
+ 0
+
+
+ SenderBasicSecurityProfileCompliant
+ 1
+
+
+ PrivateKeyAliasResponseSigning
+
+
+
+ PublicKeyAliasResponseEncryption
+
+
+
+ InitiatorTokenIncludeStrategy
+ AlwaysToRecipient
+
+
+ X509TokenAssertion
+ WssX509V3Token10
+
+
+ RecipientTokenIncludeStrategy
+ Never
+
+
+ AlgorithmSuiteAssertion
+ Basic128Rsa15
+
+
+ system
+ SAPHCM
+
+
+ direction
+ Sender
+
+
+ cmdVariantUri
+ ctype::AdapterVariant/cname::sap:SOAP/tp::HTTP/mp::SOAP 1.x/direction::Sender
+
+
+
+
+
+
+ Name
+ SuccessFactors
+
+
+ Description
+
+
+
+ ComponentType
+ SOAP
+
+
+ ComponentNS
+ sap
+
+
+ ComponentSWCVId
+ 1.0
+
+
+ ComponentSWCVName
+ 1.0
+
+
+ adapterVersion
+
+
+
+ TransportProtocol
+ HTTP
+
+
+ TransportProtocolVersion
+ 1.0
+
+
+ MessageProtocol
+ SOAP 1.x
+
+
+ MessageProtocolVersion
+ 1.2
+
+
+ address
+ {{Offboarding_EndPoint}}
+
+
+ proxyType
+ default
+
+
+ soapWsdlURL
+ /wsdl/SFSFOffboardingGetOffboardUserRecordWithExportId_In.wsdl
+
+
+ soapServiceName
+ p1:SFSFOffboardingGetOffboardUserRecordWithExportId_In
+
+
+ soapWsdlPortName
+ p1:SFSFOffboardingGetOffboardUserRecordWithExportId_In
+
+
+ requestTimeout
+ 60000
+
+
+ CompressMessage
+ 0
+
+
+ allowChunking
+ 1
+
+
+ enableAnonymous
+ 0
+
+
+ enableBasicAuthentication
+ 0
+
+
+ WSSecurity_outbound
+ None
+
+
+ UserNameTokenOption
+ None
+
+
+ UserNameTokenCredentialName
+
+
+
+ WsdlUserNameTokenCredentialName
+
+
+
+ WSSecurityType_outbound
+ SignMessage
+
+
+ SetTimeStamp
+ 0
+
+
+ PrivateKeyAliasSigning_wsdl
+
+
+
+ PublicKeyAliasEncryption_wsdl
+
+
+
+ SenderBasicSecurityProfileCompliant_wsdl
+ 1
+
+
+ SenderBasicSecurityProfileCompliant
+ 1
+
+
+ PrivateKeyAliasSigning
+
+
+
+ PublicKeyAliasEncryption
+
+
+
+ InitiatorTokenIncludeStrategy_outbound
+ AlwaysToRecipient
+
+
+ X509TokenAssertion
+ WssX509V3Token10
+
+
+ RecipientTokenIncludeStrategy
+ Never
+
+
+ recipientX509TokenAssertion
+ WssX509V3Token10
+
+
+ Layout_outbound
+ Strict
+
+
+ AlgorithmSuiteAssertion
+ Basic128Rsa15
+
+
+ operationName
+ p1:SFSFOffboardingGetOffboardUserRecordWithExportId_In
+
+
+ credentialName
+
+
+
+ system
+ SuccessFactors
+
+
+ privateKeyAlias
+
+
+
+ proxyHost
+
+
+
+ direction
+ Receiver
+
+
+ cmdVariantUri
+ ctype::AdapterVariant/cname::sap:SOAP/tp::HTTP/mp::SOAP 1.x/direction::Receiver
+
+
+ proxyPort
+
+
+
+
+
+
+
+
+ cmdVariantUri
+ ctype::FlowElementVariant/cname::IntegrationProcess
+
+
+
+
+
+ cmdVariantUri
+ ctype::FlowstepVariant/cname::MessageStartEvent
+
+
+ SequenceFlow_1
+
+
+
+
+
+ cmdVariantUri
+ ctype::FlowstepVariant/cname::MessageEndEvent
+
+
+ SequenceFlow_2
+
+
+
+
+
+
+ activityType
+ Mapping
+
+
+ mappinguri
+ dir://opmap/src/main/resources/mapping/SFSFOffboardingGetOffboardUserRecord_Out_to_SFSFOffboardingGetOffboardUserRecordWithExportId_In.opmap
+
+
+ mappingname
+ SFSFOffboardingGetOffboardUserRecord_Out_to_SFSFOffboardingGetOffboardUserRecordWithExportId_In
+
+
+ mappingpath
+ src/main/resources/mapping/SFSFOffboardingGetOffboardUserRecord_Out_to_SFSFOffboardingGetOffboardUserRecordWithExportId_In
+
+
+ bundle-name
+
+
+
+ cmdVariantUri
+ ctype::FlowstepVariant/cname::OperationMapping
+
+
+ SequenceFlow_1
+ SequenceFlow_2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/wsdl/SFSFOffboardingGetOffboardUserRecordWithExportId_In.wsdl b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/wsdl/SFSFOffboardingGetOffboardUserRecordWithExportId_In.wsdl
new file mode 100644
index 0000000..757a113
--- /dev/null
+++ b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/wsdl/SFSFOffboardingGetOffboardUserRecordWithExportId_In.wsdl
@@ -0,0 +1 @@
+
diff --git a/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/wsdl/SFSFOffboardingGetOffboardUserRecord_Out.wsdl b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/wsdl/SFSFOffboardingGetOffboardUserRecord_Out.wsdl
new file mode 100644
index 0000000..fc4052c
--- /dev/null
+++ b/src/test/Testpackage/com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ/src/main/resources/wsdl/SFSFOffboardingGetOffboardUserRecord_Out.wsdl
@@ -0,0 +1 @@
+Get New Hire Record from Onboardingdaa92f0d73b611e485ea000033b6d7f2f5f9630c73b611e48b42a44e31727a00f5f9630d73b611e4cee4a44e31727a0020c8f98573b911e4c6b0000033b6d7f220a3855b73b911e4cf35a44e31727a0020a3855973b911e4acbea44e31727a0020a3855a73b911e4a9aaa44e31727a0020a3855c73b911e49bc6a44e31727a006ffe49bf708f11e4ad5d000033b6d7f3
diff --git a/src/test/integration/IntegrationFlow.test.ts b/src/test/integration/IntegrationFlow.test.ts
index c5d31f6..aa9e3ea 100644
--- a/src/test/integration/IntegrationFlow.test.ts
+++ b/src/test/integration/IntegrationFlow.test.ts
@@ -10,14 +10,11 @@ import APIAction from '../../lib/client/APIAction.js';
let sciRestClient: SCIRestClient;
let artiFactDirectory: string;
let randomPackageId = uuidv4().replaceAll('-', '');
-let iFlowDirectory: string;
-
beforeAll(async () => {
const setupResult = await setup();
sciRestClient = setupResult.sciRestClient;
artiFactDirectory = setupResult.artiFactDirectory;
randomPackageId = setupResult.randomPackageId;
- iFlowDirectory = path.join(artiFactDirectory, 'Testpackage', 'IntegrationFlow');
});
afterAll(async () => {
@@ -25,56 +22,67 @@ afterAll(async () => {
});
describe('Integration flow', () => {
- it('create an integration flow', async () => {
- const integrationFlow = await sciRestClient.createArtifactFromDirectory(randomPackageId, iFlowDirectory);
- expect(integrationFlow).toBeDefined();
- });
+ for (const iFlowFolder of ['IntegrationFlow', 'com.sap.SFIHCM03.hcm2bizx.SFSFOffboardingGetOffboardUserRecordWithExpabcd.EBZ']) {
+ it('create an integration flow', async () => {
+ const integrationFlow = await sciRestClient.createArtifactFromDirectory(
+ randomPackageId,
+ path.join(artiFactDirectory, 'Testpackage', iFlowFolder),
+ );
+ expect(integrationFlow).toBeDefined();
+ });
- it('fetch an integration flow ', async () => {
- const readStream = (await sciRestClient.getArtifact('IntegrationFlow', '1.0.0', 'IntegrationFlow')) as ReadStream;
+ it('fetch an integration flow ', async () => {
+ const iFlowId = sciRestClient.getArtifactMetadata(path.join(artiFactDirectory, 'TestPackage', iFlowFolder)).Id;
+ const readStream = (await sciRestClient.getArtifact(iFlowId, '1.0.0', 'IntegrationFlow')) as ReadStream;
- const writer = fs.createWriteStream(path.join(artiFactDirectory, 'test.zip'));
- const finishPromise = new Promise((resolve, reject) => {
- writer.on('finish', resolve);
- writer.on('error', reject);
+ const writer = fs.createWriteStream(path.join(artiFactDirectory, 'test.zip'));
+ const finishPromise = new Promise((resolve, reject) => {
+ writer.on('finish', resolve);
+ writer.on('error', reject);
+ });
+ readStream.pipe(writer);
+ await finishPromise;
+ expect(fs.existsSync(path.join(artiFactDirectory, 'test.zip'))).toBe(true);
});
- readStream.pipe(writer);
- await finishPromise;
- expect(fs.existsSync(path.join(artiFactDirectory, 'test.zip'))).toBe(true);
- });
- it('update an integration flow', async () => {
- const integrationFlow = await sciRestClient.updateArtifactFromDirectory(iFlowDirectory);
- expect(integrationFlow).toBe(undefined);
- });
+ it('update an integration flow', async () => {
+ const integrationFlow = await sciRestClient.updateArtifactFromDirectory(
+ path.join(artiFactDirectory, 'Testpackage', iFlowFolder),
+ );
+ expect(integrationFlow).toBe(undefined);
+ });
- it('upload a new version of an integration flow', async () => {
- await replace({
- files: path.join(iFlowDirectory, 'META-INF', 'MANIFEST.MF'),
- from: /1.0.0/g,
- to: '2.0.0',
+ it('upload a new version of an integration flow', async () => {
+ await replace({
+ files: path.join(path.join(artiFactDirectory, 'Testpackage', iFlowFolder), 'META-INF', 'MANIFEST.MF'),
+ from: /1.0.0/g,
+ to: '2.0.0',
+ });
+ const integrationFlow = await sciRestClient.updateArtifactFromDirectory(
+ path.join(artiFactDirectory, 'Testpackage', iFlowFolder),
+ );
+ expect(integrationFlow).toBe(undefined);
});
- const integrationFlow = await sciRestClient.updateArtifactFromDirectory(
- path.join(artiFactDirectory, 'Testpackage', 'IntegrationFlow')
- );
- expect(integrationFlow).toBe(undefined);
- });
- it('determine the artifact type', () => {
- expect(sciRestClient.getArtifactType(iFlowDirectory)).toBe('IntegrationFlow');
- });
+ it('determine the artifact type', () => {
+ expect(sciRestClient.getArtifactType(path.join(artiFactDirectory, 'Testpackage', iFlowFolder))).toBe('IntegrationFlow');
+ });
- it('check the supported API actions', () => {
- expect(sciRestClient.isActionSupported(APIAction.Create, iFlowDirectory)).toBe(true);
- expect(sciRestClient.isActionSupported(APIAction.Update, iFlowDirectory)).toBe(true);
- expect(sciRestClient.isActionSupported(APIAction.New_Version, iFlowDirectory)).toBe(true);
- expect(sciRestClient.isActionSupported(APIAction.Delete, iFlowDirectory)).toBe(false);
- });
+ it('check the supported API actions', () => {
+ const iFlowDirectory = path.join(artiFactDirectory, 'Testpackage', iFlowFolder);
+ expect(sciRestClient.isActionSupported(APIAction.Create, iFlowDirectory)).toBe(true);
+ expect(sciRestClient.isActionSupported(APIAction.Update, iFlowDirectory)).toBe(true);
+ expect(sciRestClient.isActionSupported(APIAction.New_Version, iFlowDirectory)).toBe(true);
+ expect(sciRestClient.isActionSupported(APIAction.Delete, iFlowDirectory)).toBe(false);
+ });
- it('provides the metadata for the artifact in the given directory', () => {
- expect(sciRestClient.getArtifactMetadata(iFlowDirectory).Id).toBe('IntegrationFlow');
- expect(sciRestClient.getArtifactMetadata(iFlowDirectory).Version).toBe('2.0.0');
- expect(sciRestClient.getArtifactMetadata(iFlowDirectory).Name).toBe('Integration Flow');
- expect(sciRestClient.getArtifactMetadata(iFlowDirectory).Type).toBe('IntegrationFlow');
- });
+ it('provides the metadata for the artifact in the given directory', () => {
+ const iFlowDirectory = path.join(artiFactDirectory, 'Testpackage', iFlowFolder);
+ const iFlowId = sciRestClient.getArtifactMetadata(iFlowDirectory).Id;
+ expect(sciRestClient.getArtifactMetadata(iFlowDirectory).Id).toBe(iFlowId);
+ expect(sciRestClient.getArtifactMetadata(iFlowDirectory).Version).toBe('2.0.0');
+ expect(sciRestClient.getArtifactMetadata(iFlowDirectory).Name).toBe('Integration Flow');
+ expect(sciRestClient.getArtifactMetadata(iFlowDirectory).Type).toBe('IntegrationFlow');
+ });
+ }
});