Skip to content

Commit b641760

Browse files
authored
fix: for deploy service int interfaces, and apihost get urls output (#220)
1 parent dc909e4 commit b641760

File tree

2 files changed

+96
-5
lines changed

2 files changed

+96
-5
lines changed

src/utils.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,16 @@ const archiver = require('archiver')
2222
// this is a static list that comes from here: https://developer.adobe.com/runtime/docs/guides/reference/runtimes/
2323
const SupportedRuntimes = ['sequence', 'blackbox', 'nodejs:10', 'nodejs:12', 'nodejs:14', 'nodejs:16', 'nodejs:18', 'nodejs:20', 'nodejs:22']
2424

25+
// must cover 'deploy-service[-region][.env].app-builder[.int|.corp].adp.adobe.io/runtime
2526
const SUPPORTED_ADOBE_ANNOTATION_ENDPOINT_REGEXES = [
2627
/http(s)?:\/\/localhost/,
2728
/http(s)?:\/\/127\.0\.0\.1/,
2829
/https:\/\/adobeioruntime\.net/,
29-
/https:\/\/deploy-service.*\.app-builder\.corp\.adp\.adobe\.io\/runtime/,
30-
/https:\/\/deploy-service.*\.app-builder\.adp\.adobe\.io\/runtime/
30+
/https:\/\/deploy-service.*\.app-builder.*\.adp\.adobe\.io\/runtime/
3131
]
3232
const NON_CUSTOM_ADOBE_APIHOSTS_REGEXES = [
3333
/adobeioruntime\.net/,
34-
/deploy-service.*\.app-builder\.corp\.adp\.adobe\.io\/runtime/,
35-
/deploy-service.*\.app-builder\.adp\.adobe\.io\/runtime/
34+
/deploy-service.*\.app-builder.*\.adp\.adobe\.io\/runtime/
3635
]
3736

3837
const DEFAULT_PACKAGE_RESERVED_NAME = 'default'
@@ -1917,8 +1916,10 @@ function getActionUrls (appConfig, /* istanbul ignore next */ isRemoteDev = fals
19171916
} else {
19181917
// if (!actionIsBehindCdn && !apihostIsCustom)
19191918
// https://<ns>.adobeioruntime.net/api/v1/web/<package>/<action>
1919+
// note: if the apihost matches /deploy-service.*\.app-builder\.*\.adp\.adobe\.io\/runtime/
1920+
// we still want to serve dataplane requests on adobeioruntime.net
19201921
return urlJoin(
1921-
'https://' + config.ow.namespace + '.' + cleanApihost,
1922+
'https://' + config.ow.namespace + '.' + 'adobeioruntime.net',
19221923
'api',
19231924
config.ow.apiversion,
19241925
webUri,

test/utils.test.js

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2217,6 +2217,96 @@ describe('getActionUrls', () => {
22172217
expect(result).toEqual(expected)
22182218
})
22192219

2220+
test('some non web actions, with ui, deploy-service prod environment apihost, no custom hostname', () => {
2221+
const expected = {
2222+
'sample-app-1.0.0/action': 'https://fake_ns.adobeio-static.net/api/v1/web/sample-app-1.0.0/action',
2223+
'sample-app-1.0.0/action-sequence': 'https://fake_ns.adobeioruntime.net/api/v1/sample-app-1.0.0/action-sequence',
2224+
'sample-app-1.0.0/action-zip': 'https://fake_ns.adobeio-static.net/api/v1/web/sample-app-1.0.0/action-zip',
2225+
'pkg2/thataction': 'https://fake_ns.adobeioruntime.net/api/v1/pkg2/thataction',
2226+
'pkg2/thatsequence': 'https://fake_ns.adobeio-static.net/api/v1/web/pkg2/thatsequence'
2227+
}
2228+
config.ow.apihost = 'deploy-service.app-builder.adp.adobe.io/runtime'
2229+
config.manifest.full.packages.__APP_PACKAGE__.sequences['action-sequence'].web = 'no'
2230+
config.manifest.full.packages.pkg2.actions.thataction.web = 'no'
2231+
const result = utils.getActionUrls(config, false, false)
2232+
expect(result).toEqual(expected)
2233+
})
2234+
2235+
test('some non web actions, with ui, deploy-service-region prod environment apihost, no custom hostname', () => {
2236+
const expected = {
2237+
'sample-app-1.0.0/action': 'https://fake_ns.adobeio-static.net/api/v1/web/sample-app-1.0.0/action',
2238+
'sample-app-1.0.0/action-sequence': 'https://fake_ns.adobeioruntime.net/api/v1/sample-app-1.0.0/action-sequence',
2239+
'sample-app-1.0.0/action-zip': 'https://fake_ns.adobeio-static.net/api/v1/web/sample-app-1.0.0/action-zip',
2240+
'pkg2/thataction': 'https://fake_ns.adobeioruntime.net/api/v1/pkg2/thataction',
2241+
'pkg2/thatsequence': 'https://fake_ns.adobeio-static.net/api/v1/web/pkg2/thatsequence'
2242+
}
2243+
config.ow.apihost = 'deploy-service-va6.app-builder.adp.adobe.io/runtime'
2244+
config.manifest.full.packages.__APP_PACKAGE__.sequences['action-sequence'].web = 'no'
2245+
config.manifest.full.packages.pkg2.actions.thataction.web = 'no'
2246+
const result = utils.getActionUrls(config, false, false)
2247+
expect(result).toEqual(expected)
2248+
})
2249+
2250+
test('some non web actions, with ui, deploy-service-region prod int environment apihost, no custom hostname', () => {
2251+
const expected = {
2252+
'sample-app-1.0.0/action': 'https://fake_ns.adobeio-static.net/api/v1/web/sample-app-1.0.0/action',
2253+
'sample-app-1.0.0/action-sequence': 'https://fake_ns.adobeioruntime.net/api/v1/sample-app-1.0.0/action-sequence',
2254+
'sample-app-1.0.0/action-zip': 'https://fake_ns.adobeio-static.net/api/v1/web/sample-app-1.0.0/action-zip',
2255+
'pkg2/thataction': 'https://fake_ns.adobeioruntime.net/api/v1/pkg2/thataction',
2256+
'pkg2/thatsequence': 'https://fake_ns.adobeio-static.net/api/v1/web/pkg2/thatsequence'
2257+
}
2258+
config.ow.apihost = 'deploy-service-va6.app-builder.int.adp.adobe.io/runtime'
2259+
config.manifest.full.packages.__APP_PACKAGE__.sequences['action-sequence'].web = 'no'
2260+
config.manifest.full.packages.pkg2.actions.thataction.web = 'no'
2261+
const result = utils.getActionUrls(config, false, false)
2262+
expect(result).toEqual(expected)
2263+
})
2264+
2265+
test('some non web actions, with ui, deploy-service-region stg corp environment apihost, no custom hostname', () => {
2266+
const expected = {
2267+
'sample-app-1.0.0/action': 'https://fake_ns.adobeio-static.net/api/v1/web/sample-app-1.0.0/action',
2268+
'sample-app-1.0.0/action-sequence': 'https://fake_ns.adobeioruntime.net/api/v1/sample-app-1.0.0/action-sequence',
2269+
'sample-app-1.0.0/action-zip': 'https://fake_ns.adobeio-static.net/api/v1/web/sample-app-1.0.0/action-zip',
2270+
'pkg2/thataction': 'https://fake_ns.adobeioruntime.net/api/v1/pkg2/thataction',
2271+
'pkg2/thatsequence': 'https://fake_ns.adobeio-static.net/api/v1/web/pkg2/thatsequence'
2272+
}
2273+
config.ow.apihost = 'deploy-service-va6.stg.app-builder.corp.adp.adobe.io/runtime'
2274+
config.manifest.full.packages.__APP_PACKAGE__.sequences['action-sequence'].web = 'no'
2275+
config.manifest.full.packages.pkg2.actions.thataction.web = 'no'
2276+
const result = utils.getActionUrls(config, false, false)
2277+
expect(result).toEqual(expected)
2278+
})
2279+
2280+
test('some non web actions, with ui, deploy-service-region stg int environment apihost, no custom hostname', () => {
2281+
const expected = {
2282+
'sample-app-1.0.0/action': 'https://fake_ns.adobeio-static.net/api/v1/web/sample-app-1.0.0/action',
2283+
'sample-app-1.0.0/action-sequence': 'https://fake_ns.adobeioruntime.net/api/v1/sample-app-1.0.0/action-sequence',
2284+
'sample-app-1.0.0/action-zip': 'https://fake_ns.adobeio-static.net/api/v1/web/sample-app-1.0.0/action-zip',
2285+
'pkg2/thataction': 'https://fake_ns.adobeioruntime.net/api/v1/pkg2/thataction',
2286+
'pkg2/thatsequence': 'https://fake_ns.adobeio-static.net/api/v1/web/pkg2/thatsequence'
2287+
}
2288+
config.ow.apihost = 'deploy-service-va6.stg.app-builder.int.adp.adobe.io/runtime'
2289+
config.manifest.full.packages.__APP_PACKAGE__.sequences['action-sequence'].web = 'no'
2290+
config.manifest.full.packages.pkg2.actions.thataction.web = 'no'
2291+
const result = utils.getActionUrls(config, false, false)
2292+
expect(result).toEqual(expected)
2293+
})
2294+
2295+
test('some non web actions, with ui, deploy-service-region dev int environment apihost, no custom hostname', () => {
2296+
const expected = {
2297+
'sample-app-1.0.0/action': 'https://fake_ns.adobeio-static.net/api/v1/web/sample-app-1.0.0/action',
2298+
'sample-app-1.0.0/action-sequence': 'https://fake_ns.adobeioruntime.net/api/v1/sample-app-1.0.0/action-sequence',
2299+
'sample-app-1.0.0/action-zip': 'https://fake_ns.adobeio-static.net/api/v1/web/sample-app-1.0.0/action-zip',
2300+
'pkg2/thataction': 'https://fake_ns.adobeioruntime.net/api/v1/pkg2/thataction',
2301+
'pkg2/thatsequence': 'https://fake_ns.adobeio-static.net/api/v1/web/pkg2/thatsequence'
2302+
}
2303+
config.ow.apihost = 'deploy-service-va6.dev.app-builder.int.adp.adobe.io/runtime'
2304+
config.manifest.full.packages.__APP_PACKAGE__.sequences['action-sequence'].web = 'no'
2305+
config.manifest.full.packages.pkg2.actions.thataction.web = 'no'
2306+
const result = utils.getActionUrls(config, false, false)
2307+
expect(result).toEqual(expected)
2308+
})
2309+
22202310
test('some non web actions, with ui, remote dev, no custom apihost, no custom hostname', () => {
22212311
const expected = {
22222312
'sample-app-1.0.0/action': 'https://fake_ns.adobeioruntime.net/api/v1/web/sample-app-1.0.0/action',

0 commit comments

Comments
 (0)