diff --git a/.gitignore b/.gitignore index 096ee8ea..ebdaec54 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ s4hana_pipeline/ business-partner/API_BUSINESS_PARTNER.edmx vdm-output-tmp/ +.DS_Store diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 00000000..e1afc2e9 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,36 @@ + +def dockerImageName = 's4sdk/mock-server' +def dockerImage = null + +lock('mock-server') { + stage('Build') { + node('master') { + milestone 10 + deleteDir() + + sh "git clone https://github.com/SAP/cloud-s4-sdk-book.git mock-server -b mock-server" + + dir("mock-server"){ + + def buildArgs = [ + '--pull' + ] + + withCredentials([string(credentialsId: 'api-sap-key', variable: 'KEY')]) { + buildArgs.add("--build-arg API_KEY=${KEY}") + dockerImage = docker.build(dockerImageName, buildArgs.join(' ') + ' .') + } + } + } + } + + stage('Install') { + milestone 20 + node('master') { + def containerName = 'mock-server' + sh "docker stop ${containerName} || echo 'Stopping failed'" + sh "docker run -d --rm -p 3000:8080 --name ${containerName} ${dockerImageName}" + currentBuild.result = 'SUCCESS' + } + } +} diff --git a/app.js b/app.js index 2beb43cf..5b40012c 100644 --- a/app.js +++ b/app.js @@ -1,19 +1,27 @@ -const nodeAppStarted = Date.now(); const express = require('express'); const app = express(); const bupaApi = require('./business-partner/business-partner-api.js'); const socialMediaApi = require('./social-media-accounts/social-media-accounts-api.js'); +const timeSheetEntryApi = require('./timeSheetEntryCollection/timeSheetEntryCollection-api.js') const logRequests = function(req, res, next) { console.log(`Request: ${req.method} ${req.originalUrl}`) next(); }; +const sendFakeCsrfToken = function(req, res, next) { + res.header('x-csrf-token', 'dummyToken123') + res.header('set-cookie', ['cookie']) + next() +} + app.use(logRequests); +app.use(sendFakeCsrfToken) app.use('/sap/opu/odata/sap/API_BUSINESS_PARTNER', bupaApi); app.use('/sap/opu/odata/sap/YY1_BPSOCIALMEDIA_CDS', socialMediaApi); +app.use('/sap/opu/odata/sap/API_MANAGE_WORKFORCE_TIMESHEET', timeSheetEntryApi) app.get('/', function(req, res) { res.set('Content-Type', 'text/html'); @@ -24,9 +32,9 @@ app.get('/', function(req, res) {