Skip to content

Commit

Permalink
Merge pull request #67 from cap-js/test-pipeline-setup
Browse files Browse the repository at this point in the history
Test pipeline setup
  • Loading branch information
DanSchlachter authored Jul 8, 2024
2 parents e863e5b + 24c96bb commit d431267
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 25 deletions.
84 changes: 61 additions & 23 deletions .github/workflows/checkout
Original file line number Diff line number Diff line change
Expand Up @@ -12,49 +12,81 @@ async function remoteService () {
const levelUP = "../../"
const INCLUDES = ["srv", "test"]
const paths = INCLUDES.map(pattern => join(__dirname, levelUP, TARGET_DIR, pattern))
const cmd = `cp -r ${paths.join(' ')} ${levelUP}`
const cmd = `cp -r ${paths.join(' ')} ${join(__dirname, levelUP)}`
await run(cmd);

const packageJson = JSON.parse(await readFile(join(__dirname, levelUP ,"package.json"), "utf-8"));
const delta = JSON.parse(await readFile(join(__dirname, levelUP, TARGET_DIR, "package.json"), "utf-8"));
const packageJson = JSON.parse(await readFile(join(__dirname, levelUP ,"package.json"), "utf-8"))
const delta = JSON.parse(await readFile(join(__dirname, levelUP, TARGET_DIR, "package.json"), "utf-8"))
packageJson.cds.requires["API_BUSINESS_PARTNER"] = delta.cds.requires["API_BUSINESS_PARTNER"]
await writeFile(join(__dirname, levelUP, "package.json"), JSON.stringify(packageJson, null, 2), "utf-8");

// dependencies
const deps = [
"@sap-cloud-sdk/connectivity",
"@sap-cloud-sdk/http-client",
"@sap-cloud-sdk/resilience",
"@sap-cloud-sdk/util"
]
console.info("Preparing Incidents-app with Remote Service")
return await run(`npm add ${deps.join(" ")}`)
const deps = {
"@sap-cloud-sdk/connectivity": "^3",
"@sap-cloud-sdk/http-client": "^3",
"@sap-cloud-sdk/resilience": "^3",
"@sap-cloud-sdk/util": "^3"
}
packageJson.dependencies = {...packageJson.dependencies, ...deps}
return await writeFile(join(__dirname, levelUP, "package.json"), JSON.stringify(packageJson, null, 2), "utf-8");
}

async function messaging () {
const TARGET_DIR = "xmpls/messaging"
const levelUP = "../../"
const INCLUDES = ["app", "srv", "test"]
const paths = INCLUDES.map(pattern => join(__dirname, levelUP, TARGET_DIR, pattern))
const cmd = `cp -r ${paths.join(' ')} ${levelUP}`
const cmd = `cp -r ${paths.join(' ')} ${join(__dirname, levelUP)}`
await run(cmd);

const packageJson = JSON.parse(await readFile(join(__dirname, levelUP, "package.json"), "utf-8"));
const delta = JSON.parse(await readFile(join(__dirname, levelUP, TARGET_DIR, "package.json"), "utf-8"));
packageJson.cds.requires["API_BUSINESS_PARTNER"] = delta.cds.requires["API_BUSINESS_PARTNER"]
packageJson.cds.requires["messaging"] = delta.cds.requires["messaging"]
await writeFile(join(__dirname, levelUP, "package.json"), JSON.stringify(packageJson, null, 2), "utf-8");

// dependencies
const deps = [
"@sap-cloud-sdk/connectivity",
"@sap-cloud-sdk/http-client",
"@sap-cloud-sdk/resilience",
"@sap-cloud-sdk/util",
"@sap/xb-msg-amqp-v100"
]
console.info("Preparing Incidents-app with Messaging")
return await run(`npm add ${deps.join(" ")}`)
const deps = {
"@sap-cloud-sdk/connectivity": "^3",
"@sap-cloud-sdk/http-client": "^3",
"@sap-cloud-sdk/resilience": "^3",
"@sap-cloud-sdk/util": "^3",
"@sap/xb-msg-amqp-v100": "^0.9"
}
packageJson.dependencies = {...packageJson.dependencies, ...deps}
return await writeFile(join(__dirname, levelUP, "package.json"), JSON.stringify(packageJson, null, 2), "utf-8")
}

async function changeTracking() {
const TARGET_DIR = "xmpls"
const levelUP = "../../"
let cmd = `cp -r ${join(__dirname, levelUP, TARGET_DIR ,'change-tracking.cds')} ${join(__dirname, levelUP, 'srv')}`
await run(cmd);
cmd = `cp -r ${join(__dirname, levelUP, TARGET_DIR ,'change-tracking.test.js')} ${join(__dirname, levelUP, 'test')}`
await run(cmd);
const packageJson = JSON.parse(await readFile(join(__dirname, levelUP, "package.json"), "utf-8"));

// dependencies
const deps = {
"@cap-js/change-tracking": "*"
}
packageJson.dependencies = {...packageJson.dependencies, ...deps}
return await writeFile(join(__dirname, levelUP, "package.json"), JSON.stringify(packageJson, null, 2), "utf-8")
}

async function auditLog() {
const TARGET_DIR = "xmpls"
const levelUP = "../../"
let cmd = `cp -r ${join(__dirname, levelUP, TARGET_DIR ,'data-privacy.cds')} ${join(__dirname, levelUP, 'srv')}`
await run(cmd);
cmd = `cp -r ${join(__dirname, levelUP, TARGET_DIR ,'audit-log.test.js')} ${join(__dirname, levelUP, 'test')}`
await run(cmd);
const packageJson = JSON.parse(await readFile(join(__dirname, levelUP, "package.json"), "utf-8"));

// dependencies
const deps = {
"@cap-js/audit-logging": "*"
}
packageJson.dependencies = {...packageJson.dependencies, ...deps}
return await writeFile(join(__dirname, levelUP, "package.json"), JSON.stringify(packageJson, null, 2), "utf-8")
}

function run (cmd, silent) {
Expand All @@ -78,6 +110,12 @@ switch ($1) {
case 'messaging':
messaging();
break;
case 'change-tracking':
changeTracking()
break;
case 'audit-log':
auditLog()
break;
default:
console.log('Usage: ./checkout <command>');
}
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@
"watch": "cds watch",
"start": "cds-serve",
"test": "npx jest --silent",
"add-change-tracking": "npm add @cap-js/change-tracking && cp xmpls/change-tracking.cds ./srv && cp xmpls/change-tracking.test.js ./test",
"add-change-tracking": "./.github/workflows/checkout change-tracking",
"add-telemetry": "npm add @cap-js/telemetry",
"add-attachments": "npm add @cap-js/attachments && cp -r xmpls/attachments.cds ./db",
"add-notifications": "npm add @cap-js/notifications && cp xmpls/alert-notifications.js ./srv && cp xmpls/notification-types.json ./srv",
"add-audit-log": "npm add @cap-js/audit-logging && cp xmpls/data-privacy.cds ./srv && cp xmpls/audit-log.test.js ./test",
"add-audit-log": "./.github/workflows/checkout audit-log",
"add-remote-service": "./.github/workflows/checkout remote-service",
"add-messaging": "./.github/workflows/checkout messaging",
"add-all-xmpls": "npm run add-remote-service && npm run add-messaging && npm run add-change-tracking && npm run add-audit-log",
Expand Down

0 comments on commit d431267

Please sign in to comment.