diff --git a/lib/middleware/MiddlewareManager.js b/lib/middleware/MiddlewareManager.js index 80499c61..b1521e2f 100644 --- a/lib/middleware/MiddlewareManager.js +++ b/lib/middleware/MiddlewareManager.js @@ -17,14 +17,14 @@ const hasOwn = Function.prototype.call.bind(Object.prototype.hasOwnProperty); * @memberof module:@ui5/server.middleware */ class MiddlewareManager { - constructor({tree, resources, options = { + constructor({graph, resources, options = { sendSAPTargetCSP: false, serveCSPReports: false }}) { - if (!tree || !resources || !resources.all || !resources.rootProject || !resources.dependencies) { + if (!graph || !resources || !resources.all || !resources.rootProject || !resources.dependencies) { throw new Error("[MiddlewareManager]: One or more mandatory parameters not provided"); } - this.tree = tree; + this.graph = graph; this.resources = resources; this.options = options; @@ -44,15 +44,19 @@ class MiddlewareManager { } async addMiddleware(configuredMiddlewareName, { - wrapperCallback, mountPath = "/", + customMiddleware, wrapperCallback, mountPath = "/", beforeMiddleware, afterMiddleware } = {}) { - const middlewareInfo = middlewareRepository.getMiddleware(configuredMiddlewareName); let middlewareCallback; - if (wrapperCallback) { - middlewareCallback = wrapperCallback(middlewareInfo); + if (customMiddleware) { + middlewareCallback = customMiddleware; } else { - middlewareCallback = middlewareInfo.middleware; + const middlewareInfo = middlewareRepository.getMiddleware(configuredMiddlewareName); + if (wrapperCallback) { + middlewareCallback = wrapperCallback(middlewareInfo); + } else { + middlewareCallback = middlewareInfo.middleware; + } } let middlewareName = configuredMiddlewareName; @@ -188,7 +192,7 @@ class MiddlewareManager { return versionInfoModule({ resources, middlewareUtil, - tree: this.tree + graph: this.graph }); }; } @@ -211,47 +215,46 @@ class MiddlewareManager { } async addCustomMiddleware() { - const project = this.tree; - const projectCustomMiddleware = project.server && project.server.customMiddleware; - if (!projectCustomMiddleware || projectCustomMiddleware.length === 0) { + const project = this.graph.getRoot(); + const projectCustomMiddleware = project.getCustomMiddleware(); + if (!projectCustomMiddleware.length === 0) { return; // No custom middleware defined } for (let i = 0; i < projectCustomMiddleware.length; i++) { const middlewareDef = projectCustomMiddleware[i]; if (!middlewareDef.name) { - throw new Error(`Missing name for custom middleware definition of project ${project.metadata.name} ` + + throw new Error(`Missing name for custom middleware definition of project ${project.getName()} ` + `at index ${i}`); } if (middlewareDef.beforeMiddleware && middlewareDef.afterMiddleware) { throw new Error( - `Custom middleware definition ${middlewareDef.name} of project ${project.metadata.name} ` + + `Custom middleware definition ${middlewareDef.name} of project ${project.getName()} ` + `defines both "beforeMiddleware" and "afterMiddleware" parameters. Only one must be defined.`); } if (!middlewareDef.beforeMiddleware && !middlewareDef.afterMiddleware) { throw new Error( - `Custom middleware definition ${middlewareDef.name} of project ${project.metadata.name} ` + + `Custom middleware definition ${middlewareDef.name} of project ${project.getName()} ` + `defines neither a "beforeMiddleware" nor an "afterMiddleware" parameter. One must be defined.`); } - await this.addMiddleware(middlewareDef.name, { - wrapperCallback: ({middleware: middleware, specVersion}) => { - return ({resources, middlewareUtil}) => { - const options = { - configuration: middlewareDef.configuration - }; - const params = {resources, options}; - if ( - specVersion === "2.0" || specVersion === "2.1" || - specVersion === "2.2" || specVersion === "2.3" || - specVersion === "2.4" || specVersion === "2.5" || - specVersion === "2.6" - ) { - // Supply interface to MiddlewareUtil instance starting with specVersion 2.0 - params.middlewareUtil = middlewareUtil.getInterface(specVersion); - } - return middleware(params); + customMiddleware: ({resources, middlewareUtil}) => { + const customMiddleware = this.graph.getExtension(middlewareDef.name); + const specVersion = customMiddleware.getSpecVersion(); + const options = { + configuration: middlewareDef.configuration }; + const params = {resources, options}; + if ( + specVersion === "2.0" || specVersion === "2.1" || + specVersion === "2.2" || specVersion === "2.3" || + specVersion === "2.4" || specVersion === "2.5" || + specVersion === "2.6" + ) { + // Supply interface to MiddlewareUtil instance starting with specVersion 2.0 + params.middlewareUtil = middlewareUtil.getInterface(specVersion); + } + return customMiddleware.getMiddleware()(params); }, mountPath: middlewareDef.mountPath, beforeMiddleware: middlewareDef.beforeMiddleware, diff --git a/lib/middleware/middlewareRepository.js b/lib/middleware/middlewareRepository.js index d85955e4..0e3134e5 100644 --- a/lib/middleware/middlewareRepository.js +++ b/lib/middleware/middlewareRepository.js @@ -21,8 +21,7 @@ function getMiddleware(middlewareName) { try { const middleware = require(middlewareInfo.path); return { - middleware, - specVersion: middlewareInfo.specVersion + middleware }; } catch (err) { throw new Error( @@ -30,17 +29,6 @@ function getMiddleware(middlewareName) { } } -function addMiddleware({name, specVersion, middlewarePath}) { - if (middlewareInfos[name]) { - throw new Error(`middlewareRepository: A middleware with the name ${name} has already been registered`); - } - middlewareInfos[name] = { - path: middlewarePath, - specVersion - }; -} - module.exports = { - getMiddleware: getMiddleware, - addMiddleware: addMiddleware + getMiddleware: getMiddleware }; diff --git a/lib/middleware/serveIndex.js b/lib/middleware/serveIndex.js index f0e1aa44..131994f0 100644 --- a/lib/middleware/serveIndex.js +++ b/lib/middleware/serveIndex.js @@ -54,9 +54,8 @@ function createResourceInfo(resource) { lastModified: new Date(stat.mtime).toLocaleString(), size: formatSize(stat.size), sizeInBytes: stat.size, - // TODO: project as public API of FS? - project: resource._project ? resource._project.id : "", - projectPath: resource._project ? resource._project.path : "" + project: resource.getProject()?.getName() || "", + projectPath: resource.getProject()?.getPath() || "" }; } diff --git a/lib/middleware/serveResources.js b/lib/middleware/serveResources.js index 9ab711c2..803b48af 100644 --- a/lib/middleware/serveResources.js +++ b/lib/middleware/serveResources.js @@ -41,12 +41,11 @@ function createMiddleware({resources, middlewareUtil}) { if (rProperties.test(resourcePath)) { // Special handling for *.properties files escape non ascii characters. const nonAsciiEscaper = require("@ui5/builder").processors.nonAsciiEscaper; - const project = resource._project; // _project might not be defined - let propertiesFileSourceEncoding = project && project.resources && - project.resources.configuration && project.resources.configuration.propertiesFileSourceEncoding; + const project = resource.getProject(); + let propertiesFileSourceEncoding = project?.getPropertiesFileSourceEncoding(); if (!propertiesFileSourceEncoding) { - if (project && ["0.1", "1.0", "1.1"].includes(project.specVersion)) { + if (project && ["0.1", "1.0", "1.1"].includes(project.getSpecVersion())) { // default encoding to "ISO-8859-1" for old specVersions propertiesFileSourceEncoding = "ISO-8859-1"; } else { @@ -84,9 +83,9 @@ function createMiddleware({resources, middlewareUtil}) { // Also, only process .library, *.js and *.json files. Just like it's done in Application- // and LibraryBuilder if ((!charset || charset === "UTF-8") && rReplaceVersion.test(resourcePath)) { - if (resource._project) { + if (resource.getProject()) { stream.setEncoding("utf8"); - stream = stream.pipe(replaceStream("${version}", resource._project.version)); + stream = stream.pipe(replaceStream("${version}", resource.getProject().getVersion())); } else { log.verbose("Project missing from resource %s", pathname); } diff --git a/lib/middleware/versionInfo.js b/lib/middleware/versionInfo.js index fc49e6c7..57f2a61e 100644 --- a/lib/middleware/versionInfo.js +++ b/lib/middleware/versionInfo.js @@ -9,21 +9,21 @@ const MANIFEST_JSON = "manifest.json"; * @module @ui5/server/middleware/versionInfo * @param {object} parameters Parameters * @param {module:@ui5/server.middleware.MiddlewareManager.middlewareResources} parameters.resources Parameters - * @param {object} parameters.tree Project tree + * @param {module:@ui5/project.graph.ProjectGraph} parameters.graph Project graph * @returns {Function} Returns a server middleware closure. */ -function createMiddleware({resources, tree: project}) { +function createMiddleware({resources, graph}) { return async function versionInfo(req, res, next) { try { const dependencies = resources.dependencies; const dotLibResources = await dependencies.byGlob("/resources/**/.library"); dotLibResources.sort((a, b) => { - return a._project.metadata.name.localeCompare(b._project.metadata.name); + return a.getProject().getName().localeCompare(b.getProject().getName()); }); const libraryInfosPromises = dotLibResources.map(async (dotLibResource) => { - const namespace = dotLibResource._project.metadata.namespace; + const namespace = dotLibResource.getProject().getNamespace(); const manifestResources = await dependencies.byGlob(`/resources/${namespace}/**/${MANIFEST_JSON}`); let libraryManifest = manifestResources.find((manifestResource) => { return manifestResource.getPath() === `/resources/${namespace}/${MANIFEST_JSON}`; @@ -40,22 +40,25 @@ function createMiddleware({resources, tree: project}) { resources: libResources, options: { omitMinVersions: true + }, + getProjectVersion: (projectName) => { + return graph.getProject(projectName)?.getVersion(); } }); } return { libraryManifest, embeddedManifests, - name: dotLibResource._project.metadata.name, - version: dotLibResource._project.version + name: dotLibResource.getProject().getName(), + version: dotLibResource.getProject().getVersion() }; }); + const rootProject = graph.getRoot(); const libraryInfos = await Promise.all(libraryInfosPromises); - const [versionInfoResource] = await createVersionInfoProcessor({ options: { - rootProjectName: project.metadata.name, - rootProjectVersion: project.version, + rootProjectName: rootProject.getName(), + rootProjectVersion: rootProject.getVersion(), libraryInfos } }); diff --git a/lib/server.js b/lib/server.js index 9b3029e7..aeaf6f2a 100644 --- a/lib/server.js +++ b/lib/server.js @@ -112,7 +112,7 @@ module.exports = { * Start a server for the given project (sub-)tree. * * @public - * @param {object} tree A (sub-)tree + * @param {module:@ui5/project.graph.ProjectGraph} graph Project graph * @param {object} options Options * @param {number} options.port Port to listen to * @param {boolean} [options.changePortIfInUse=false] If true, change the port if it is already in use @@ -133,27 +133,41 @@ module.exports = { * h2-flag and a close function, * which can be used to stop the server. */ - async serve(tree, { + async serve(graph, { port: requestedPort, changePortIfInUse = false, h2 = false, key, cert, acceptRemoteConnections = false, sendSAPTargetCSP = false, simpleIndex = false, serveCSPReports = false }) { - const projectResourceCollections = resourceFactory.createCollectionsForTree(tree); + const rootProject = graph.getRoot(); + const readers = []; + await graph.traverseBreadthFirst(async function({project: dep}) { + if (dep.getName() === rootProject.getName()) { + // Ignore root project + return; + } + readers.push(dep.getReader({style: "runtime"})); + }); + + const dependencies = resourceFactory.createReaderCollection({ + name: `Dependency reader collection for project ${rootProject.getName()}`, + readers + }); + + const rootReader = rootProject.getReader({style: "runtime"}); // TODO change to ReaderCollection once duplicates are sorted out const combo = new ReaderCollectionPrioritized({ name: "server - prioritize workspace over dependencies", - readers: [projectResourceCollections.source, projectResourceCollections.dependencies] + readers: [rootReader, dependencies] }); - const resources = { - rootProject: projectResourceCollections.source, - dependencies: projectResourceCollections.dependencies, + rootProject: rootReader, + dependencies: dependencies, all: combo }; const middlewareManager = new MiddlewareManager({ - tree, + graph, resources, options: { sendSAPTargetCSP, diff --git a/test/expected/build/application.a/dest-dev/index.html b/test/expected/build/application.a/dest-dev/index.html deleted file mode 100644 index 77b0207c..00000000 --- a/test/expected/build/application.a/dest-dev/index.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - Application A - - - - - \ No newline at end of file diff --git a/test/expected/build/application.a/dest-dev/test.js b/test/expected/build/application.a/dest-dev/test.js deleted file mode 100644 index a3df410c..00000000 --- a/test/expected/build/application.a/dest-dev/test.js +++ /dev/null @@ -1,5 +0,0 @@ -function test(paramA) { - var variableA = paramA; - console.log(variableA); -} -test(); diff --git a/test/expected/build/application.a/dest/index.html b/test/expected/build/application.a/dest/index.html deleted file mode 100644 index 77b0207c..00000000 --- a/test/expected/build/application.a/dest/index.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - Application A - - - - - \ No newline at end of file diff --git a/test/expected/build/application.a/dest/test-dbg.js b/test/expected/build/application.a/dest/test-dbg.js deleted file mode 100644 index a3df410c..00000000 --- a/test/expected/build/application.a/dest/test-dbg.js +++ /dev/null @@ -1,5 +0,0 @@ -function test(paramA) { - var variableA = paramA; - console.log(variableA); -} -test(); diff --git a/test/expected/build/application.a/dest/test.js b/test/expected/build/application.a/dest/test.js deleted file mode 100644 index 387af393..00000000 --- a/test/expected/build/application.a/dest/test.js +++ /dev/null @@ -1 +0,0 @@ -function test(t){var o=t;console.log(o)}test(); \ No newline at end of file diff --git a/test/expected/build/application.b/dest/embedded/i18n/i18n.properties b/test/expected/build/application.b/dest/embedded/i18n/i18n.properties deleted file mode 100644 index d93c8a39..00000000 --- a/test/expected/build/application.b/dest/embedded/i18n/i18n.properties +++ /dev/null @@ -1 +0,0 @@ -title=embedded-i18n \ No newline at end of file diff --git a/test/expected/build/application.b/dest/embedded/i18n/i18n_de.properties b/test/expected/build/application.b/dest/embedded/i18n/i18n_de.properties deleted file mode 100644 index e513333c..00000000 --- a/test/expected/build/application.b/dest/embedded/i18n/i18n_de.properties +++ /dev/null @@ -1 +0,0 @@ -title=embedded-i18n_de \ No newline at end of file diff --git a/test/expected/build/application.b/dest/embedded/manifest.json b/test/expected/build/application.b/dest/embedded/manifest.json deleted file mode 100644 index 5ef0c362..00000000 --- a/test/expected/build/application.b/dest/embedded/manifest.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_version": "1.1.0", - "sap.app": { - "_version": "1.1.0", - "id": "id1.embedded", - "type": "component", - "applicationVersion": { - "version": "1.2.2" - }, - "embeddedBy": "../", - "title": "{{title}}" - } -} \ No newline at end of file diff --git a/test/expected/build/application.b/dest/i18n/i18n.properties b/test/expected/build/application.b/dest/i18n/i18n.properties deleted file mode 100644 index 575fb20d..00000000 --- a/test/expected/build/application.b/dest/i18n/i18n.properties +++ /dev/null @@ -1 +0,0 @@ -title=app-i18n \ No newline at end of file diff --git a/test/expected/build/application.b/dest/i18n/i18n_de.properties b/test/expected/build/application.b/dest/i18n/i18n_de.properties deleted file mode 100644 index f5885803..00000000 --- a/test/expected/build/application.b/dest/i18n/i18n_de.properties +++ /dev/null @@ -1 +0,0 @@ -title=app-i18n_de \ No newline at end of file diff --git a/test/expected/build/application.b/dest/manifest.json b/test/expected/build/application.b/dest/manifest.json deleted file mode 100644 index 781945df..00000000 --- a/test/expected/build/application.b/dest/manifest.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_version": "1.1.0", - "sap.app": { - "_version": "1.1.0", - "id": "id1", - "type": "application", - "applicationVersion": { - "version": "1.2.2" - }, - "embeds": ["embedded"], - "title": "{{title}}" - } -} \ No newline at end of file diff --git a/test/expected/build/library.d/dest/resources/library/d/.library b/test/expected/build/library.d/dest/resources/library/d/.library deleted file mode 100644 index 53c2d14c..00000000 --- a/test/expected/build/library.d/dest/resources/library/d/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - Some fancy copyright - ${version} - - Library D - - diff --git a/test/expected/build/library.d/dest/resources/library/d/some-dbg.js b/test/expected/build/library.d/dest/resources/library/d/some-dbg.js deleted file mode 100644 index cb7722a3..00000000 --- a/test/expected/build/library.d/dest/resources/library/d/some-dbg.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Some fancy copyright - */ -console.log('HelloWorld'); \ No newline at end of file diff --git a/test/expected/build/library.d/dest/resources/library/d/some.js b/test/expected/build/library.d/dest/resources/library/d/some.js deleted file mode 100644 index a5504d86..00000000 --- a/test/expected/build/library.d/dest/resources/library/d/some.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Some fancy copyright - */ -console.log("HelloWorld"); \ No newline at end of file diff --git a/test/expected/build/library.e/dest/resources/library/e/.library b/test/expected/build/library.e/dest/resources/library/e/.library deleted file mode 100644 index 20c99070..00000000 --- a/test/expected/build/library.e/dest/resources/library/e/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - ${copyright} - ${version} - - Library E - - diff --git a/test/expected/build/library.e/dest/resources/library/e/some-dbg.js b/test/expected/build/library.e/dest/resources/library/e/some-dbg.js deleted file mode 100644 index dc9e1fc9..00000000 --- a/test/expected/build/library.e/dest/resources/library/e/some-dbg.js +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * UI development toolkit for HTML5 (OpenUI5) - * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company. - * Licensed under the Apache License, Version 2.0 - see LICENSE.txt. - */ -console.log('HelloWorld'); \ No newline at end of file diff --git a/test/expected/build/library.e/dest/resources/library/e/some.js b/test/expected/build/library.e/dest/resources/library/e/some.js deleted file mode 100644 index 39e3277c..00000000 --- a/test/expected/build/library.e/dest/resources/library/e/some.js +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * UI development toolkit for HTML5 (OpenUI5) - * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company. - * Licensed under the Apache License, Version 2.0 - see LICENSE.txt. - */ -console.log("HelloWorld"); \ No newline at end of file diff --git a/test/expected/resourceLocators/application.a/index_bufferTest.html b/test/expected/resourceLocators/application.a/index_bufferTest.html deleted file mode 100644 index 77b0207c..00000000 --- a/test/expected/resourceLocators/application.a/index_bufferTest.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - Application A - - - - - \ No newline at end of file diff --git a/test/expected/resourceLocators/application.a/index_readableStreamTest.html b/test/expected/resourceLocators/application.a/index_readableStreamTest.html deleted file mode 100644 index 77b0207c..00000000 --- a/test/expected/resourceLocators/application.a/index_readableStreamTest.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - Application A - - - - - \ No newline at end of file diff --git a/test/expected/resourceLocators/application.a/index_stringTest.html b/test/expected/resourceLocators/application.a/index_stringTest.html deleted file mode 100644 index 77b0207c..00000000 --- a/test/expected/resourceLocators/application.a/index_stringTest.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - Application A - - - - - \ No newline at end of file diff --git a/test/fixtures/application.a/node_modules/collection/library.b/test/library/b/Test.html b/test/fixtures/application.a/node_modules/collection/library.b/test/library/b/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.a/node_modules/collection/library.b/ui5.yaml b/test/fixtures/application.a/node_modules/collection/library.b/ui5.yaml deleted file mode 100644 index 3275ac75..00000000 --- a/test/fixtures/application.a/node_modules/collection/library.b/ui5.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.b diff --git a/test/fixtures/application.a/node_modules/collection/library.c/test/LibraryC/Test.html b/test/fixtures/application.a/node_modules/collection/library.c/test/LibraryC/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.a/node_modules/collection/library.c/ui5.yaml b/test/fixtures/application.a/node_modules/collection/library.c/ui5.yaml deleted file mode 100644 index 159b1411..00000000 --- a/test/fixtures/application.a/node_modules/collection/library.c/ui5.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.c diff --git a/test/fixtures/application.a/node_modules/collection/node_modules/library.d/package.json b/test/fixtures/application.a/node_modules/collection/node_modules/library.d/package.json deleted file mode 100644 index 90c75040..00000000 --- a/test/fixtures/application.a/node_modules/collection/node_modules/library.d/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "library.d", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.a/node_modules/collection/node_modules/library.d/src/library/d/.library b/test/fixtures/application.a/node_modules/collection/node_modules/library.d/src/library/d/.library deleted file mode 100644 index 21251d1b..00000000 --- a/test/fixtures/application.a/node_modules/collection/node_modules/library.d/src/library/d/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - ${copyright} - ${version} - - Library D - - diff --git a/test/fixtures/application.a/node_modules/collection/node_modules/library.d/test/library/d/Test.html b/test/fixtures/application.a/node_modules/collection/node_modules/library.d/test/library/d/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.a/node_modules/collection/node_modules/library.d/ui5.yaml b/test/fixtures/application.a/node_modules/collection/node_modules/library.d/ui5.yaml deleted file mode 100644 index c39a8461..00000000 --- a/test/fixtures/application.a/node_modules/collection/node_modules/library.d/ui5.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.d -resources: - configuration: - paths: - src: main/src - test: main/test diff --git a/test/fixtures/application.a/node_modules/collection/package.json b/test/fixtures/application.a/node_modules/collection/package.json deleted file mode 100644 index 81b94843..00000000 --- a/test/fixtures/application.a/node_modules/collection/package.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "collection", - "version": "1.0.0", - "description": "Simple Collection", - "dependencies": { - "library.d": "file:../library.d" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "collection": { - "modules": { - "library.a": "./library.a", - "library.b": "./library.b", - "library.c": "./library.c" - } - } -} diff --git a/test/fixtures/application.a/node_modules/collection/library.a/package.json b/test/fixtures/application.a/node_modules/library.a/package.json similarity index 100% rename from test/fixtures/application.a/node_modules/collection/library.a/package.json rename to test/fixtures/application.a/node_modules/library.a/package.json diff --git a/test/fixtures/application.a/node_modules/collection/library.a/src/library/a/.library b/test/fixtures/application.a/node_modules/library.a/src/library/a/.library similarity index 100% rename from test/fixtures/application.a/node_modules/collection/library.a/src/library/a/.library rename to test/fixtures/application.a/node_modules/library.a/src/library/a/.library diff --git a/test/fixtures/application.a/node_modules/collection/library.a/src/library/a/themes/base/library.source.less b/test/fixtures/application.a/node_modules/library.a/src/library/a/themes/base/library.source.less similarity index 100% rename from test/fixtures/application.a/node_modules/collection/library.a/src/library/a/themes/base/library.source.less rename to test/fixtures/application.a/node_modules/library.a/src/library/a/themes/base/library.source.less diff --git a/test/expected/build/library.d/dest/test-resources/library/d/Test.html b/test/fixtures/application.a/node_modules/library.a/test/library/a/Test.html similarity index 100% rename from test/expected/build/library.d/dest/test-resources/library/d/Test.html rename to test/fixtures/application.a/node_modules/library.a/test/library/a/Test.html diff --git a/test/fixtures/application.a/node_modules/collection/library.a/ui5.yaml b/test/fixtures/application.a/node_modules/library.a/ui5.yaml similarity index 70% rename from test/fixtures/application.a/node_modules/collection/library.a/ui5.yaml rename to test/fixtures/application.a/node_modules/library.a/ui5.yaml index 676f166c..699e6ab6 100644 --- a/test/fixtures/application.a/node_modules/collection/library.a/ui5.yaml +++ b/test/fixtures/application.a/node_modules/library.a/ui5.yaml @@ -1,5 +1,5 @@ --- -specVersion: "0.1" +specVersion: "2.6" type: library metadata: name: library.a diff --git a/test/fixtures/application.a/node_modules/collection/library.b/package.json b/test/fixtures/application.a/node_modules/library.b/package.json similarity index 100% rename from test/fixtures/application.a/node_modules/collection/library.b/package.json rename to test/fixtures/application.a/node_modules/library.b/package.json diff --git a/test/fixtures/application.a/node_modules/collection/library.b/src/library/b/.library b/test/fixtures/application.a/node_modules/library.b/src/library/b/.library similarity index 100% rename from test/fixtures/application.a/node_modules/collection/library.b/src/library/b/.library rename to test/fixtures/application.a/node_modules/library.b/src/library/b/.library diff --git a/test/expected/build/library.e/dest/test-resources/library/e/Test.html b/test/fixtures/application.a/node_modules/library.b/test/library/b/Test.html similarity index 100% rename from test/expected/build/library.e/dest/test-resources/library/e/Test.html rename to test/fixtures/application.a/node_modules/library.b/test/library/b/Test.html diff --git a/test/fixtures/application.b/node_modules/collection/library.b/ui5.yaml b/test/fixtures/application.a/node_modules/library.b/ui5.yaml similarity index 70% rename from test/fixtures/application.b/node_modules/collection/library.b/ui5.yaml rename to test/fixtures/application.a/node_modules/library.b/ui5.yaml index 3275ac75..7489e8b0 100644 --- a/test/fixtures/application.b/node_modules/collection/library.b/ui5.yaml +++ b/test/fixtures/application.a/node_modules/library.b/ui5.yaml @@ -1,5 +1,5 @@ --- -specVersion: "0.1" +specVersion: "2.6" type: library metadata: name: library.b diff --git a/test/fixtures/application.a/node_modules/collection/library.c/package.json b/test/fixtures/application.a/node_modules/library.c/package.json similarity index 100% rename from test/fixtures/application.a/node_modules/collection/library.c/package.json rename to test/fixtures/application.a/node_modules/library.c/package.json diff --git a/test/fixtures/application.a/node_modules/collection/library.c/src/library/c/.library b/test/fixtures/application.a/node_modules/library.c/src/library/c/.library similarity index 100% rename from test/fixtures/application.a/node_modules/collection/library.c/src/library/c/.library rename to test/fixtures/application.a/node_modules/library.c/src/library/c/.library diff --git a/test/fixtures/application.a/node_modules/collection/library.a/test/library/a/Test.html b/test/fixtures/application.a/node_modules/library.c/test/LibraryC/Test.html similarity index 100% rename from test/fixtures/application.a/node_modules/collection/library.a/test/library/a/Test.html rename to test/fixtures/application.a/node_modules/library.c/test/LibraryC/Test.html diff --git a/test/fixtures/application.b/node_modules/collection/library.c/ui5.yaml b/test/fixtures/application.a/node_modules/library.c/ui5.yaml similarity index 70% rename from test/fixtures/application.b/node_modules/collection/library.c/ui5.yaml rename to test/fixtures/application.a/node_modules/library.c/ui5.yaml index 159b1411..a0523b36 100644 --- a/test/fixtures/application.b/node_modules/collection/library.c/ui5.yaml +++ b/test/fixtures/application.a/node_modules/library.c/ui5.yaml @@ -1,5 +1,5 @@ --- -specVersion: "0.1" +specVersion: "2.6" type: library metadata: name: library.c diff --git a/test/fixtures/application.a/node_modules/library.d/ui5.yaml b/test/fixtures/application.a/node_modules/library.d/ui5.yaml index c39a8461..a42947e6 100644 --- a/test/fixtures/application.a/node_modules/library.d/ui5.yaml +++ b/test/fixtures/application.a/node_modules/library.d/ui5.yaml @@ -1,5 +1,5 @@ --- -specVersion: "0.1" +specVersion: "2.6" type: library metadata: name: library.d diff --git a/test/fixtures/application.a/package.json b/test/fixtures/application.a/package.json index 7da37b86..e95db6d6 100644 --- a/test/fixtures/application.a/package.json +++ b/test/fixtures/application.a/package.json @@ -4,8 +4,10 @@ "description": "Simple SAPUI5 based application", "main": "index.html", "dependencies": { - "library.d": "file:../library.d", - "collection": "file:../collection" + "library.a": "file:../library.a", + "library.b": "file:../library.b", + "library.c": "file:../library.c", + "library.d": "file:../library.d" }, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" diff --git a/test/fixtures/application.a/ui5.yaml b/test/fixtures/application.a/ui5.yaml index 7e28c5d7..a4287765 100644 --- a/test/fixtures/application.a/ui5.yaml +++ b/test/fixtures/application.a/ui5.yaml @@ -1,5 +1,8 @@ --- -specVersion: "0.1" +specVersion: "2.6" type: application metadata: name: application.a +resources: + configuration: + propertiesFileSourceEncoding: ISO-8859-1 \ No newline at end of file diff --git a/test/fixtures/application.b/node_modules/collection/library.a/package.json b/test/fixtures/application.b/node_modules/collection/library.a/package.json deleted file mode 100644 index 2179673d..00000000 --- a/test/fixtures/application.b/node_modules/collection/library.a/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "library.a", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "ui5": { - "name": "library.a", - "type": "library", - "settings": { - "src": "src", - "test": "test" - } - } -} diff --git a/test/fixtures/application.b/node_modules/collection/library.a/src/library/a/.library b/test/fixtures/application.b/node_modules/collection/library.a/src/library/a/.library deleted file mode 100644 index 25c8603f..00000000 --- a/test/fixtures/application.b/node_modules/collection/library.a/src/library/a/.library +++ /dev/null @@ -1,17 +0,0 @@ - - - - library.a - SAP SE - ${copyright} - ${version} - - Library A - - - - library.d - - - - diff --git a/test/fixtures/application.b/node_modules/collection/library.a/src/library/a/themes/base/library.source.less b/test/fixtures/application.b/node_modules/collection/library.a/src/library/a/themes/base/library.source.less deleted file mode 100644 index ff0f1d5e..00000000 --- a/test/fixtures/application.b/node_modules/collection/library.a/src/library/a/themes/base/library.source.less +++ /dev/null @@ -1,6 +0,0 @@ -@libraryAColor1: lightgoldenrodyellow; - -.library-a-foo { - color: @libraryAColor1; - padding: 1px 2px 3px 4px; -} diff --git a/test/fixtures/application.b/node_modules/collection/library.a/test/library/a/Test.html b/test/fixtures/application.b/node_modules/collection/library.a/test/library/a/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.b/node_modules/collection/library.a/ui5.yaml b/test/fixtures/application.b/node_modules/collection/library.a/ui5.yaml deleted file mode 100644 index 676f166c..00000000 --- a/test/fixtures/application.b/node_modules/collection/library.a/ui5.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.a diff --git a/test/fixtures/application.b/node_modules/collection/library.b/package.json b/test/fixtures/application.b/node_modules/collection/library.b/package.json deleted file mode 100644 index 2a0243b1..00000000 --- a/test/fixtures/application.b/node_modules/collection/library.b/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "library.b", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.b/node_modules/collection/library.b/src/library/b/.library b/test/fixtures/application.b/node_modules/collection/library.b/src/library/b/.library deleted file mode 100644 index 36052ace..00000000 --- a/test/fixtures/application.b/node_modules/collection/library.b/src/library/b/.library +++ /dev/null @@ -1,17 +0,0 @@ - - - - library.b - SAP SE - ${copyright} - ${version} - - Library B - - - - library.d - - - - diff --git a/test/fixtures/application.b/node_modules/collection/library.b/test/library/b/Test.html b/test/fixtures/application.b/node_modules/collection/library.b/test/library/b/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.b/node_modules/collection/library.c/package.json b/test/fixtures/application.b/node_modules/collection/library.c/package.json deleted file mode 100644 index 64ac75d6..00000000 --- a/test/fixtures/application.b/node_modules/collection/library.c/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "library.c", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.b/node_modules/collection/library.c/src/library/c/.library b/test/fixtures/application.b/node_modules/collection/library.c/src/library/c/.library deleted file mode 100644 index 4180ce2a..00000000 --- a/test/fixtures/application.b/node_modules/collection/library.c/src/library/c/.library +++ /dev/null @@ -1,17 +0,0 @@ - - - - library.c - SAP SE - ${copyright} - ${version} - - Library C - - - - library.d - - - - diff --git a/test/fixtures/application.b/node_modules/collection/library.c/test/LibraryC/Test.html b/test/fixtures/application.b/node_modules/collection/library.c/test/LibraryC/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.b/node_modules/collection/node_modules/library.d/package.json b/test/fixtures/application.b/node_modules/collection/node_modules/library.d/package.json deleted file mode 100644 index 90c75040..00000000 --- a/test/fixtures/application.b/node_modules/collection/node_modules/library.d/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "library.d", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.b/node_modules/collection/node_modules/library.d/src/library/d/.library b/test/fixtures/application.b/node_modules/collection/node_modules/library.d/src/library/d/.library deleted file mode 100644 index 21251d1b..00000000 --- a/test/fixtures/application.b/node_modules/collection/node_modules/library.d/src/library/d/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - ${copyright} - ${version} - - Library D - - diff --git a/test/fixtures/application.b/node_modules/collection/node_modules/library.d/test/library/d/Test.html b/test/fixtures/application.b/node_modules/collection/node_modules/library.d/test/library/d/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.b/node_modules/collection/node_modules/library.d/ui5.yaml b/test/fixtures/application.b/node_modules/collection/node_modules/library.d/ui5.yaml deleted file mode 100644 index c39a8461..00000000 --- a/test/fixtures/application.b/node_modules/collection/node_modules/library.d/ui5.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.d -resources: - configuration: - paths: - src: main/src - test: main/test diff --git a/test/fixtures/application.b/node_modules/collection/package.json b/test/fixtures/application.b/node_modules/collection/package.json deleted file mode 100644 index 81b94843..00000000 --- a/test/fixtures/application.b/node_modules/collection/package.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "collection", - "version": "1.0.0", - "description": "Simple Collection", - "dependencies": { - "library.d": "file:../library.d" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "collection": { - "modules": { - "library.a": "./library.a", - "library.b": "./library.b", - "library.c": "./library.c" - } - } -} diff --git a/test/fixtures/application.b/node_modules/library.d/main/src/library/d/.library b/test/fixtures/application.b/node_modules/library.d/main/src/library/d/.library deleted file mode 100644 index 53c2d14c..00000000 --- a/test/fixtures/application.b/node_modules/library.d/main/src/library/d/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - Some fancy copyright - ${version} - - Library D - - diff --git a/test/fixtures/application.b/node_modules/library.d/main/src/library/d/some.js b/test/fixtures/application.b/node_modules/library.d/main/src/library/d/some.js deleted file mode 100644 index 81e73436..00000000 --- a/test/fixtures/application.b/node_modules/library.d/main/src/library/d/some.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * ${copyright} - */ -console.log('HelloWorld'); \ No newline at end of file diff --git a/test/fixtures/application.b/node_modules/library.d/main/test/library/d/Test.html b/test/fixtures/application.b/node_modules/library.d/main/test/library/d/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.b/node_modules/library.d/package.json b/test/fixtures/application.b/node_modules/library.d/package.json deleted file mode 100644 index 90c75040..00000000 --- a/test/fixtures/application.b/node_modules/library.d/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "library.d", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.b/node_modules/library.d/ui5.yaml b/test/fixtures/application.b/node_modules/library.d/ui5.yaml deleted file mode 100644 index c39a8461..00000000 --- a/test/fixtures/application.b/node_modules/library.d/ui5.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.d -resources: - configuration: - paths: - src: main/src - test: main/test diff --git a/test/fixtures/application.b/package.json b/test/fixtures/application.b/package.json deleted file mode 100644 index 0243e3a9..00000000 --- a/test/fixtures/application.b/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "application.b", - "version": "1.0.0", - "description": "Simple SAPUI5 based application", - "main": "index.html", - "dependencies": { - "library.d": "file:../library.d", - "collection": "file:../collection" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.b/ui5.yaml b/test/fixtures/application.b/ui5.yaml deleted file mode 100644 index 25326df4..00000000 --- a/test/fixtures/application.b/ui5.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -specVersion: "0.1" -type: application -metadata: - name: application.b diff --git a/test/fixtures/application.b/webapp/embedded/i18n/i18n.properties b/test/fixtures/application.b/webapp/embedded/i18n/i18n.properties deleted file mode 100644 index d93c8a39..00000000 --- a/test/fixtures/application.b/webapp/embedded/i18n/i18n.properties +++ /dev/null @@ -1 +0,0 @@ -title=embedded-i18n \ No newline at end of file diff --git a/test/fixtures/application.b/webapp/embedded/i18n/i18n_de.properties b/test/fixtures/application.b/webapp/embedded/i18n/i18n_de.properties deleted file mode 100644 index e513333c..00000000 --- a/test/fixtures/application.b/webapp/embedded/i18n/i18n_de.properties +++ /dev/null @@ -1 +0,0 @@ -title=embedded-i18n_de \ No newline at end of file diff --git a/test/fixtures/application.b/webapp/embedded/i18n_fr.properties b/test/fixtures/application.b/webapp/embedded/i18n_fr.properties deleted file mode 100644 index 85e16274..00000000 --- a/test/fixtures/application.b/webapp/embedded/i18n_fr.properties +++ /dev/null @@ -1 +0,0 @@ -title=embedded-i18n_fr-wrong \ No newline at end of file diff --git a/test/fixtures/application.b/webapp/embedded/manifest.json b/test/fixtures/application.b/webapp/embedded/manifest.json deleted file mode 100644 index 5ef0c362..00000000 --- a/test/fixtures/application.b/webapp/embedded/manifest.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_version": "1.1.0", - "sap.app": { - "_version": "1.1.0", - "id": "id1.embedded", - "type": "component", - "applicationVersion": { - "version": "1.2.2" - }, - "embeddedBy": "../", - "title": "{{title}}" - } -} \ No newline at end of file diff --git a/test/fixtures/application.b/webapp/i18n.properties b/test/fixtures/application.b/webapp/i18n.properties deleted file mode 100644 index 88b84f60..00000000 --- a/test/fixtures/application.b/webapp/i18n.properties +++ /dev/null @@ -1 +0,0 @@ -title=app-i18n-wrong \ No newline at end of file diff --git a/test/fixtures/application.b/webapp/i18n/i18n.properties b/test/fixtures/application.b/webapp/i18n/i18n.properties deleted file mode 100644 index 575fb20d..00000000 --- a/test/fixtures/application.b/webapp/i18n/i18n.properties +++ /dev/null @@ -1 +0,0 @@ -title=app-i18n \ No newline at end of file diff --git a/test/fixtures/application.b/webapp/i18n/i18n_de.properties b/test/fixtures/application.b/webapp/i18n/i18n_de.properties deleted file mode 100644 index f5885803..00000000 --- a/test/fixtures/application.b/webapp/i18n/i18n_de.properties +++ /dev/null @@ -1 +0,0 @@ -title=app-i18n_de \ No newline at end of file diff --git a/test/fixtures/application.b/webapp/i18n/l10n.properties b/test/fixtures/application.b/webapp/i18n/l10n.properties deleted file mode 100644 index 88b84f60..00000000 --- a/test/fixtures/application.b/webapp/i18n/l10n.properties +++ /dev/null @@ -1 +0,0 @@ -title=app-i18n-wrong \ No newline at end of file diff --git a/test/fixtures/application.b/webapp/manifest.json b/test/fixtures/application.b/webapp/manifest.json deleted file mode 100644 index 781945df..00000000 --- a/test/fixtures/application.b/webapp/manifest.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_version": "1.1.0", - "sap.app": { - "_version": "1.1.0", - "id": "id1", - "type": "application", - "applicationVersion": { - "version": "1.2.2" - }, - "embeds": ["embedded"], - "title": "{{title}}" - } -} \ No newline at end of file diff --git a/test/fixtures/application.c/node_modules/library.d/main/src/library/d/.library b/test/fixtures/application.c/node_modules/library.d/main/src/library/d/.library deleted file mode 100644 index 53c2d14c..00000000 --- a/test/fixtures/application.c/node_modules/library.d/main/src/library/d/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - Some fancy copyright - ${version} - - Library D - - diff --git a/test/fixtures/application.c/node_modules/library.d/main/src/library/d/some.js b/test/fixtures/application.c/node_modules/library.d/main/src/library/d/some.js deleted file mode 100644 index 81e73436..00000000 --- a/test/fixtures/application.c/node_modules/library.d/main/src/library/d/some.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * ${copyright} - */ -console.log('HelloWorld'); \ No newline at end of file diff --git a/test/fixtures/application.c/node_modules/library.d/main/test/library/d/Test.html b/test/fixtures/application.c/node_modules/library.d/main/test/library/d/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.c/node_modules/library.d/package.json b/test/fixtures/application.c/node_modules/library.d/package.json deleted file mode 100644 index 90c75040..00000000 --- a/test/fixtures/application.c/node_modules/library.d/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "library.d", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.c/node_modules/library.d/ui5.yaml b/test/fixtures/application.c/node_modules/library.d/ui5.yaml deleted file mode 100644 index c39a8461..00000000 --- a/test/fixtures/application.c/node_modules/library.d/ui5.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.d -resources: - configuration: - paths: - src: main/src - test: main/test diff --git a/test/fixtures/application.c/node_modules/library.e/node_modules/library.d/package.json b/test/fixtures/application.c/node_modules/library.e/node_modules/library.d/package.json deleted file mode 100644 index 90c75040..00000000 --- a/test/fixtures/application.c/node_modules/library.e/node_modules/library.d/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "library.d", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.c/node_modules/library.e/node_modules/library.d/src/library/d/.library b/test/fixtures/application.c/node_modules/library.e/node_modules/library.d/src/library/d/.library deleted file mode 100644 index 21251d1b..00000000 --- a/test/fixtures/application.c/node_modules/library.e/node_modules/library.d/src/library/d/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - ${copyright} - ${version} - - Library D - - diff --git a/test/fixtures/application.c/node_modules/library.e/node_modules/library.d/test/library/d/Test.html b/test/fixtures/application.c/node_modules/library.e/node_modules/library.d/test/library/d/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.c/node_modules/library.e/node_modules/library.d/ui5.yaml b/test/fixtures/application.c/node_modules/library.e/node_modules/library.d/ui5.yaml deleted file mode 100644 index 7b731df8..00000000 --- a/test/fixtures/application.c/node_modules/library.e/node_modules/library.d/ui5.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -name: library.d -type: library diff --git a/test/fixtures/application.c/node_modules/library.e/package.json b/test/fixtures/application.c/node_modules/library.e/package.json deleted file mode 100644 index 07ed6e5f..00000000 --- a/test/fixtures/application.c/node_modules/library.e/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "library.e", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "devDependencies": { - "library.d": "file:../library.d" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.c/node_modules/library.e/src/library/e/.library b/test/fixtures/application.c/node_modules/library.e/src/library/e/.library deleted file mode 100644 index 20c99070..00000000 --- a/test/fixtures/application.c/node_modules/library.e/src/library/e/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - ${copyright} - ${version} - - Library E - - diff --git a/test/fixtures/application.c/node_modules/library.e/test/library/e/Test.html b/test/fixtures/application.c/node_modules/library.e/test/library/e/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.c/node_modules/library.e/ui5.yaml b/test/fixtures/application.c/node_modules/library.e/ui5.yaml deleted file mode 100644 index a1e7f121..00000000 --- a/test/fixtures/application.c/node_modules/library.e/ui5.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.e -builder: - configuration: - copyright: |- - UI development toolkit for HTML5 (OpenUI5) - * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company. - * Licensed under the Apache License, Version 2.0 - see LICENSE.txt. diff --git a/test/fixtures/application.c/package.json b/test/fixtures/application.c/package.json deleted file mode 100644 index 1cd37e82..00000000 --- a/test/fixtures/application.c/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "application.c", - "version": "1.0.0", - "description": "Simple SAPUI5 based application - test for dev dependencies. Optional dep gets resolved through root project", - "main": "index.html", - "dependencies": { - "library.e": "file:../library.e", - "library.d": "file:../library.d" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.c/src/manifest.json b/test/fixtures/application.c/src/manifest.json deleted file mode 100644 index 781945df..00000000 --- a/test/fixtures/application.c/src/manifest.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_version": "1.1.0", - "sap.app": { - "_version": "1.1.0", - "id": "id1", - "type": "application", - "applicationVersion": { - "version": "1.2.2" - }, - "embeds": ["embedded"], - "title": "{{title}}" - } -} \ No newline at end of file diff --git a/test/fixtures/application.c/ui5.yaml b/test/fixtures/application.c/ui5.yaml deleted file mode 100644 index 3c1565db..00000000 --- a/test/fixtures/application.c/ui5.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -specVersion: "0.1" -type: application -metadata: - name: application.c -resources: - configuration: - paths: - webapp: src diff --git a/test/fixtures/application.c2/node_modules/library.d-depender/main/src/library/d/.library b/test/fixtures/application.c2/node_modules/library.d-depender/main/src/library/d/.library deleted file mode 100644 index 53c2d14c..00000000 --- a/test/fixtures/application.c2/node_modules/library.d-depender/main/src/library/d/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - Some fancy copyright - ${version} - - Library D - - diff --git a/test/fixtures/application.c2/node_modules/library.d-depender/main/src/library/d/some.js b/test/fixtures/application.c2/node_modules/library.d-depender/main/src/library/d/some.js deleted file mode 100644 index 81e73436..00000000 --- a/test/fixtures/application.c2/node_modules/library.d-depender/main/src/library/d/some.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * ${copyright} - */ -console.log('HelloWorld'); \ No newline at end of file diff --git a/test/fixtures/application.c2/node_modules/library.d-depender/main/test/library/d/Test.html b/test/fixtures/application.c2/node_modules/library.d-depender/main/test/library/d/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.c2/node_modules/library.d-depender/node_modules/library.d/main/src/library/d/.library b/test/fixtures/application.c2/node_modules/library.d-depender/node_modules/library.d/main/src/library/d/.library deleted file mode 100644 index 53c2d14c..00000000 --- a/test/fixtures/application.c2/node_modules/library.d-depender/node_modules/library.d/main/src/library/d/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - Some fancy copyright - ${version} - - Library D - - diff --git a/test/fixtures/application.c2/node_modules/library.d-depender/node_modules/library.d/main/src/library/d/some.js b/test/fixtures/application.c2/node_modules/library.d-depender/node_modules/library.d/main/src/library/d/some.js deleted file mode 100644 index 81e73436..00000000 --- a/test/fixtures/application.c2/node_modules/library.d-depender/node_modules/library.d/main/src/library/d/some.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * ${copyright} - */ -console.log('HelloWorld'); \ No newline at end of file diff --git a/test/fixtures/application.c2/node_modules/library.d-depender/node_modules/library.d/main/test/library/d/Test.html b/test/fixtures/application.c2/node_modules/library.d-depender/node_modules/library.d/main/test/library/d/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.c2/node_modules/library.d-depender/node_modules/library.d/package.json b/test/fixtures/application.c2/node_modules/library.d-depender/node_modules/library.d/package.json deleted file mode 100644 index 90c75040..00000000 --- a/test/fixtures/application.c2/node_modules/library.d-depender/node_modules/library.d/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "library.d", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.c2/node_modules/library.d-depender/node_modules/library.d/ui5.yaml b/test/fixtures/application.c2/node_modules/library.d-depender/node_modules/library.d/ui5.yaml deleted file mode 100644 index c39a8461..00000000 --- a/test/fixtures/application.c2/node_modules/library.d-depender/node_modules/library.d/ui5.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.d -resources: - configuration: - paths: - src: main/src - test: main/test diff --git a/test/fixtures/application.c2/node_modules/library.d-depender/package.json b/test/fixtures/application.c2/node_modules/library.d-depender/package.json deleted file mode 100644 index 9f88fc95..00000000 --- a/test/fixtures/application.c2/node_modules/library.d-depender/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "library.d-depender", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": { - "library.d": "file:../library.d" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.c2/node_modules/library.d-depender/ui5.yaml b/test/fixtures/application.c2/node_modules/library.d-depender/ui5.yaml deleted file mode 100644 index d3a67f6d..00000000 --- a/test/fixtures/application.c2/node_modules/library.d-depender/ui5.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.d-depender -resources: - configuration: - paths: - src: main/src - test: main/test - diff --git a/test/fixtures/application.c2/node_modules/library.e/node_modules/library.d/package.json b/test/fixtures/application.c2/node_modules/library.e/node_modules/library.d/package.json deleted file mode 100644 index 90c75040..00000000 --- a/test/fixtures/application.c2/node_modules/library.e/node_modules/library.d/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "library.d", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.c2/node_modules/library.e/node_modules/library.d/src/library/d/.library b/test/fixtures/application.c2/node_modules/library.e/node_modules/library.d/src/library/d/.library deleted file mode 100644 index 21251d1b..00000000 --- a/test/fixtures/application.c2/node_modules/library.e/node_modules/library.d/src/library/d/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - ${copyright} - ${version} - - Library D - - diff --git a/test/fixtures/application.c2/node_modules/library.e/node_modules/library.d/test/library/d/Test.html b/test/fixtures/application.c2/node_modules/library.e/node_modules/library.d/test/library/d/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.c2/node_modules/library.e/node_modules/library.d/ui5.yaml b/test/fixtures/application.c2/node_modules/library.e/node_modules/library.d/ui5.yaml deleted file mode 100644 index c39a8461..00000000 --- a/test/fixtures/application.c2/node_modules/library.e/node_modules/library.d/ui5.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.d -resources: - configuration: - paths: - src: main/src - test: main/test diff --git a/test/fixtures/application.c2/node_modules/library.e/package.json b/test/fixtures/application.c2/node_modules/library.e/package.json deleted file mode 100644 index 07ed6e5f..00000000 --- a/test/fixtures/application.c2/node_modules/library.e/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "library.e", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "devDependencies": { - "library.d": "file:../library.d" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.c2/node_modules/library.e/src/library/e/.library b/test/fixtures/application.c2/node_modules/library.e/src/library/e/.library deleted file mode 100644 index 20c99070..00000000 --- a/test/fixtures/application.c2/node_modules/library.e/src/library/e/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - ${copyright} - ${version} - - Library E - - diff --git a/test/fixtures/application.c2/node_modules/library.e/test/library/e/Test.html b/test/fixtures/application.c2/node_modules/library.e/test/library/e/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.c2/node_modules/library.e/ui5.yaml b/test/fixtures/application.c2/node_modules/library.e/ui5.yaml deleted file mode 100644 index a1e7f121..00000000 --- a/test/fixtures/application.c2/node_modules/library.e/ui5.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.e -builder: - configuration: - copyright: |- - UI development toolkit for HTML5 (OpenUI5) - * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company. - * Licensed under the Apache License, Version 2.0 - see LICENSE.txt. diff --git a/test/fixtures/application.c2/package.json b/test/fixtures/application.c2/package.json deleted file mode 100644 index 7af4231b..00000000 --- a/test/fixtures/application.c2/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "application.c2", - "version": "1.0.0", - "description": "Simple SAPUI5 based application - test for dev dependencies. Optional dep gets resolved through other project", - "main": "index.html", - "dependencies": { - "library.e": "file:../library.e", - "library.d-depender": "file:../library.d-depender" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.c2/src/manifest.json b/test/fixtures/application.c2/src/manifest.json deleted file mode 100644 index 781945df..00000000 --- a/test/fixtures/application.c2/src/manifest.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_version": "1.1.0", - "sap.app": { - "_version": "1.1.0", - "id": "id1", - "type": "application", - "applicationVersion": { - "version": "1.2.2" - }, - "embeds": ["embedded"], - "title": "{{title}}" - } -} \ No newline at end of file diff --git a/test/fixtures/application.c2/ui5.yaml b/test/fixtures/application.c2/ui5.yaml deleted file mode 100644 index 132223e4..00000000 --- a/test/fixtures/application.c2/ui5.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -specVersion: "0.1" -type: application -metadata: - name: application.c2 -resources: - configuration: - paths: - webapp: src diff --git a/test/fixtures/application.c3/node_modules/library.d-depender/main/src/library/d/.library b/test/fixtures/application.c3/node_modules/library.d-depender/main/src/library/d/.library deleted file mode 100644 index 53c2d14c..00000000 --- a/test/fixtures/application.c3/node_modules/library.d-depender/main/src/library/d/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - Some fancy copyright - ${version} - - Library D - - diff --git a/test/fixtures/application.c3/node_modules/library.d-depender/main/src/library/d/some.js b/test/fixtures/application.c3/node_modules/library.d-depender/main/src/library/d/some.js deleted file mode 100644 index 81e73436..00000000 --- a/test/fixtures/application.c3/node_modules/library.d-depender/main/src/library/d/some.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * ${copyright} - */ -console.log('HelloWorld'); \ No newline at end of file diff --git a/test/fixtures/application.c3/node_modules/library.d-depender/main/test/library/d/Test.html b/test/fixtures/application.c3/node_modules/library.d-depender/main/test/library/d/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.c3/node_modules/library.d-depender/package.json b/test/fixtures/application.c3/node_modules/library.d-depender/package.json deleted file mode 100644 index 9f88fc95..00000000 --- a/test/fixtures/application.c3/node_modules/library.d-depender/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "library.d-depender", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": { - "library.d": "file:../library.d" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.c3/node_modules/library.d-depender/ui5.yaml b/test/fixtures/application.c3/node_modules/library.d-depender/ui5.yaml deleted file mode 100644 index d3a67f6d..00000000 --- a/test/fixtures/application.c3/node_modules/library.d-depender/ui5.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.d-depender -resources: - configuration: - paths: - src: main/src - test: main/test - diff --git a/test/fixtures/application.c3/node_modules/library.d/main/src/library/d/.library b/test/fixtures/application.c3/node_modules/library.d/main/src/library/d/.library deleted file mode 100644 index 53c2d14c..00000000 --- a/test/fixtures/application.c3/node_modules/library.d/main/src/library/d/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - Some fancy copyright - ${version} - - Library D - - diff --git a/test/fixtures/application.c3/node_modules/library.d/main/src/library/d/some.js b/test/fixtures/application.c3/node_modules/library.d/main/src/library/d/some.js deleted file mode 100644 index 81e73436..00000000 --- a/test/fixtures/application.c3/node_modules/library.d/main/src/library/d/some.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * ${copyright} - */ -console.log('HelloWorld'); \ No newline at end of file diff --git a/test/fixtures/application.c3/node_modules/library.d/main/test/library/d/Test.html b/test/fixtures/application.c3/node_modules/library.d/main/test/library/d/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.c3/node_modules/library.d/package.json b/test/fixtures/application.c3/node_modules/library.d/package.json deleted file mode 100644 index 90c75040..00000000 --- a/test/fixtures/application.c3/node_modules/library.d/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "library.d", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.c3/node_modules/library.d/ui5.yaml b/test/fixtures/application.c3/node_modules/library.d/ui5.yaml deleted file mode 100644 index c39a8461..00000000 --- a/test/fixtures/application.c3/node_modules/library.d/ui5.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.d -resources: - configuration: - paths: - src: main/src - test: main/test diff --git a/test/fixtures/application.c3/node_modules/library.e/package.json b/test/fixtures/application.c3/node_modules/library.e/package.json deleted file mode 100644 index 07ed6e5f..00000000 --- a/test/fixtures/application.c3/node_modules/library.e/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "library.e", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "devDependencies": { - "library.d": "file:../library.d" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.c3/node_modules/library.e/src/library/e/.library b/test/fixtures/application.c3/node_modules/library.e/src/library/e/.library deleted file mode 100644 index 20c99070..00000000 --- a/test/fixtures/application.c3/node_modules/library.e/src/library/e/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - ${copyright} - ${version} - - Library E - - diff --git a/test/fixtures/application.c3/node_modules/library.e/test/library/e/Test.html b/test/fixtures/application.c3/node_modules/library.e/test/library/e/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.c3/node_modules/library.e/ui5.yaml b/test/fixtures/application.c3/node_modules/library.e/ui5.yaml deleted file mode 100644 index a1e7f121..00000000 --- a/test/fixtures/application.c3/node_modules/library.e/ui5.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.e -builder: - configuration: - copyright: |- - UI development toolkit for HTML5 (OpenUI5) - * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company. - * Licensed under the Apache License, Version 2.0 - see LICENSE.txt. diff --git a/test/fixtures/application.c3/package.json b/test/fixtures/application.c3/package.json deleted file mode 100644 index b51a0f27..00000000 --- a/test/fixtures/application.c3/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "application.c3", - "version": "1.0.0", - "description": "Simple SAPUI5 based application - test for dev dependencies. Optional dep gets resolved through other project (but got hoisted)", - "main": "index.html", - "dependencies": { - "library.e": "file:../library.e", - "library.d-depender": "file:../library.d-depender" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.c3/src/manifest.json b/test/fixtures/application.c3/src/manifest.json deleted file mode 100644 index 781945df..00000000 --- a/test/fixtures/application.c3/src/manifest.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_version": "1.1.0", - "sap.app": { - "_version": "1.1.0", - "id": "id1", - "type": "application", - "applicationVersion": { - "version": "1.2.2" - }, - "embeds": ["embedded"], - "title": "{{title}}" - } -} \ No newline at end of file diff --git a/test/fixtures/application.c3/ui5.yaml b/test/fixtures/application.c3/ui5.yaml deleted file mode 100644 index b0fbde29..00000000 --- a/test/fixtures/application.c3/ui5.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -specVersion: "0.1" -type: application -metadata: - name: application.c3 -resources: - configuration: - paths: - webapp: src diff --git a/test/fixtures/application.d/node_modules/library.e/node_modules/library.d/package.json b/test/fixtures/application.d/node_modules/library.e/node_modules/library.d/package.json deleted file mode 100644 index 90c75040..00000000 --- a/test/fixtures/application.d/node_modules/library.e/node_modules/library.d/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "library.d", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.d/node_modules/library.e/node_modules/library.d/src/library/d/.library b/test/fixtures/application.d/node_modules/library.e/node_modules/library.d/src/library/d/.library deleted file mode 100644 index 21251d1b..00000000 --- a/test/fixtures/application.d/node_modules/library.e/node_modules/library.d/src/library/d/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - ${copyright} - ${version} - - Library D - - diff --git a/test/fixtures/application.d/node_modules/library.e/node_modules/library.d/test/library/d/Test.html b/test/fixtures/application.d/node_modules/library.e/node_modules/library.d/test/library/d/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.d/node_modules/library.e/node_modules/library.d/ui5.yaml b/test/fixtures/application.d/node_modules/library.e/node_modules/library.d/ui5.yaml deleted file mode 100644 index 7b731df8..00000000 --- a/test/fixtures/application.d/node_modules/library.e/node_modules/library.d/ui5.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -name: library.d -type: library diff --git a/test/fixtures/application.d/node_modules/library.e/package.json b/test/fixtures/application.d/node_modules/library.e/package.json deleted file mode 100644 index 9ce874ff..00000000 --- a/test/fixtures/application.d/node_modules/library.e/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "library.e", - "version": "1.0.0", - "description": "Simple SAPUI5 based library - test for dev dependencies", - "devDependencies": { - "library.d": "file:../library.d" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.d/node_modules/library.e/src/library/e/.library b/test/fixtures/application.d/node_modules/library.e/src/library/e/.library deleted file mode 100644 index 20c99070..00000000 --- a/test/fixtures/application.d/node_modules/library.e/src/library/e/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - ${copyright} - ${version} - - Library E - - diff --git a/test/fixtures/application.d/node_modules/library.e/src/library/e/some.js b/test/fixtures/application.d/node_modules/library.e/src/library/e/some.js deleted file mode 100644 index 81e73436..00000000 --- a/test/fixtures/application.d/node_modules/library.e/src/library/e/some.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * ${copyright} - */ -console.log('HelloWorld'); \ No newline at end of file diff --git a/test/fixtures/application.d/node_modules/library.e/test/library/e/Test.html b/test/fixtures/application.d/node_modules/library.e/test/library/e/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.d/node_modules/library.e/ui5.yaml b/test/fixtures/application.d/node_modules/library.e/ui5.yaml deleted file mode 100644 index a1e7f121..00000000 --- a/test/fixtures/application.d/node_modules/library.e/ui5.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.e -builder: - configuration: - copyright: |- - UI development toolkit for HTML5 (OpenUI5) - * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company. - * Licensed under the Apache License, Version 2.0 - see LICENSE.txt. diff --git a/test/fixtures/application.d/package.json b/test/fixtures/application.d/package.json deleted file mode 100644 index e99f7708..00000000 --- a/test/fixtures/application.d/package.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "application.d", - "version": "1.0.0", - "description": "Simple SAPUI5 based application - test for dev dependencies", - "main": "index.html", - "dependencies": { - "library.e": "file:../library.e" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.d/ui5.yaml b/test/fixtures/application.d/ui5.yaml deleted file mode 100644 index 60bbbc1c..00000000 --- a/test/fixtures/application.d/ui5.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -specVersion: "0.1" -type: application -metadata: - name: application.d diff --git a/test/fixtures/application.d/webapp/manifest.json b/test/fixtures/application.d/webapp/manifest.json deleted file mode 100644 index 781945df..00000000 --- a/test/fixtures/application.d/webapp/manifest.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_version": "1.1.0", - "sap.app": { - "_version": "1.1.0", - "id": "id1", - "type": "application", - "applicationVersion": { - "version": "1.2.2" - }, - "embeds": ["embedded"], - "title": "{{title}}" - } -} \ No newline at end of file diff --git a/test/fixtures/application.e/node_modules/library.e/package.json b/test/fixtures/application.e/node_modules/library.e/package.json deleted file mode 100644 index 07ed6e5f..00000000 --- a/test/fixtures/application.e/node_modules/library.e/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "library.e", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "devDependencies": { - "library.d": "file:../library.d" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.e/node_modules/library.e/src/library/e/.library b/test/fixtures/application.e/node_modules/library.e/src/library/e/.library deleted file mode 100644 index 20c99070..00000000 --- a/test/fixtures/application.e/node_modules/library.e/src/library/e/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - ${copyright} - ${version} - - Library E - - diff --git a/test/fixtures/application.e/node_modules/library.e/test/library/e/Test.html b/test/fixtures/application.e/node_modules/library.e/test/library/e/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.e/node_modules/library.e/ui5.yaml b/test/fixtures/application.e/node_modules/library.e/ui5.yaml deleted file mode 100644 index a1e7f121..00000000 --- a/test/fixtures/application.e/node_modules/library.e/ui5.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.e -builder: - configuration: - copyright: |- - UI development toolkit for HTML5 (OpenUI5) - * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company. - * Licensed under the Apache License, Version 2.0 - see LICENSE.txt. diff --git a/test/fixtures/application.e/package.json b/test/fixtures/application.e/package.json deleted file mode 100644 index 50f927fc..00000000 --- a/test/fixtures/application.e/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "application.d", - "version": "1.0.0", - "description": "Simple SAPUI5 based application - test for circular dependencies", - "main": "index.html", - "dependencies": { - "library.f": "file:../library.f", - "library.g": "file:../library.g" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.e/ui5.yaml b/test/fixtures/application.e/ui5.yaml deleted file mode 100644 index 9828f57a..00000000 --- a/test/fixtures/application.e/ui5.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -specVersion: "0.1" -type: application -metadata: - name: application.e diff --git a/test/fixtures/application.e/webapp/manifest.json b/test/fixtures/application.e/webapp/manifest.json deleted file mode 100644 index 781945df..00000000 --- a/test/fixtures/application.e/webapp/manifest.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_version": "1.1.0", - "sap.app": { - "_version": "1.1.0", - "id": "id1", - "type": "application", - "applicationVersion": { - "version": "1.2.2" - }, - "embeds": ["embedded"], - "title": "{{title}}" - } -} \ No newline at end of file diff --git a/test/fixtures/application.f/node_modules/library.d/main/src/library/d/.library b/test/fixtures/application.f/node_modules/library.d/main/src/library/d/.library deleted file mode 100644 index 53c2d14c..00000000 --- a/test/fixtures/application.f/node_modules/library.d/main/src/library/d/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - Some fancy copyright - ${version} - - Library D - - diff --git a/test/fixtures/application.f/node_modules/library.d/main/src/library/d/some.js b/test/fixtures/application.f/node_modules/library.d/main/src/library/d/some.js deleted file mode 100644 index 81e73436..00000000 --- a/test/fixtures/application.f/node_modules/library.d/main/src/library/d/some.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * ${copyright} - */ -console.log('HelloWorld'); \ No newline at end of file diff --git a/test/fixtures/application.f/node_modules/library.d/main/test/library/d/Test.html b/test/fixtures/application.f/node_modules/library.d/main/test/library/d/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.f/node_modules/library.d/package.json b/test/fixtures/application.f/node_modules/library.d/package.json deleted file mode 100644 index 90c75040..00000000 --- a/test/fixtures/application.f/node_modules/library.d/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "library.d", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.f/node_modules/library.d/ui5.yaml b/test/fixtures/application.f/node_modules/library.d/ui5.yaml deleted file mode 100644 index c39a8461..00000000 --- a/test/fixtures/application.f/node_modules/library.d/ui5.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.d -resources: - configuration: - paths: - src: main/src - test: main/test diff --git a/test/fixtures/application.f/node_modules/library.e/package.json b/test/fixtures/application.f/node_modules/library.e/package.json deleted file mode 100644 index 9ce874ff..00000000 --- a/test/fixtures/application.f/node_modules/library.e/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "library.e", - "version": "1.0.0", - "description": "Simple SAPUI5 based library - test for dev dependencies", - "devDependencies": { - "library.d": "file:../library.d" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/application.f/node_modules/library.e/src/library/e/.library b/test/fixtures/application.f/node_modules/library.e/src/library/e/.library deleted file mode 100644 index 20c99070..00000000 --- a/test/fixtures/application.f/node_modules/library.e/src/library/e/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - ${copyright} - ${version} - - Library E - - diff --git a/test/fixtures/application.f/node_modules/library.e/test/library/e/Test.html b/test/fixtures/application.f/node_modules/library.e/test/library/e/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/application.f/node_modules/library.e/ui5.yaml b/test/fixtures/application.f/node_modules/library.e/ui5.yaml deleted file mode 100644 index a1e7f121..00000000 --- a/test/fixtures/application.f/node_modules/library.e/ui5.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.e -builder: - configuration: - copyright: |- - UI development toolkit for HTML5 (OpenUI5) - * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company. - * Licensed under the Apache License, Version 2.0 - see LICENSE.txt. diff --git a/test/fixtures/application.f/package.json b/test/fixtures/application.f/package.json deleted file mode 100644 index 68a71be8..00000000 --- a/test/fixtures/application.f/package.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "application.f", - "version": "1.0.0", - "description": "Simple SAPUI5 based application - test for ui5-dependencies configuration", - "main": "index.html", - "dependencies": { - "library.d": "file:../library.d", - "library.e": "file:../library.e" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "ui5": { - "dependencies": [ - "library.d" - ] - } -} diff --git a/test/fixtures/application.f/ui5.yaml b/test/fixtures/application.f/ui5.yaml deleted file mode 100644 index a6eda244..00000000 --- a/test/fixtures/application.f/ui5.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -specVersion: "0.1" -type: application -metadata: - name: application.f diff --git a/test/fixtures/application.f/webapp/manifest.json b/test/fixtures/application.f/webapp/manifest.json deleted file mode 100644 index 781945df..00000000 --- a/test/fixtures/application.f/webapp/manifest.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_version": "1.1.0", - "sap.app": { - "_version": "1.1.0", - "id": "id1", - "type": "application", - "applicationVersion": { - "version": "1.2.2" - }, - "embeds": ["embedded"], - "title": "{{title}}" - } -} \ No newline at end of file diff --git a/test/fixtures/collection/library.a/package.json b/test/fixtures/collection/library.a/package.json deleted file mode 100644 index aec498f7..00000000 --- a/test/fixtures/collection/library.a/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "library.a", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/collection/library.a/src/library/a/.library b/test/fixtures/collection/library.a/src/library/a/.library deleted file mode 100644 index ef0ea106..00000000 --- a/test/fixtures/collection/library.a/src/library/a/.library +++ /dev/null @@ -1,17 +0,0 @@ - - - - library.a - SAP SE - Some fancy copyright ${currentYear} - ${version} - - Library A - - - - library.d - - - - diff --git a/test/fixtures/collection/library.a/src/library/a/themes/base/library.source.less b/test/fixtures/collection/library.a/src/library/a/themes/base/library.source.less deleted file mode 100644 index ff0f1d5e..00000000 --- a/test/fixtures/collection/library.a/src/library/a/themes/base/library.source.less +++ /dev/null @@ -1,6 +0,0 @@ -@libraryAColor1: lightgoldenrodyellow; - -.library-a-foo { - color: @libraryAColor1; - padding: 1px 2px 3px 4px; -} diff --git a/test/fixtures/collection/library.a/test/library/a/Test.html b/test/fixtures/collection/library.a/test/library/a/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/collection/library.a/ui5.yaml b/test/fixtures/collection/library.a/ui5.yaml deleted file mode 100644 index 676f166c..00000000 --- a/test/fixtures/collection/library.a/ui5.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.a diff --git a/test/fixtures/collection/library.b/package.json b/test/fixtures/collection/library.b/package.json deleted file mode 100644 index 2a0243b1..00000000 --- a/test/fixtures/collection/library.b/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "library.b", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/collection/library.b/src/library/b/.library b/test/fixtures/collection/library.b/src/library/b/.library deleted file mode 100644 index 7128151f..00000000 --- a/test/fixtures/collection/library.b/src/library/b/.library +++ /dev/null @@ -1,17 +0,0 @@ - - - - library.b - SAP SE - Some fancy copyright ${currentYear} - ${version} - - Library B - - - - library.d - - - - diff --git a/test/fixtures/collection/library.b/test/library/b/Test.html b/test/fixtures/collection/library.b/test/library/b/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/collection/library.b/ui5.yaml b/test/fixtures/collection/library.b/ui5.yaml deleted file mode 100644 index 3275ac75..00000000 --- a/test/fixtures/collection/library.b/ui5.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.b diff --git a/test/fixtures/collection/library.c/package.json b/test/fixtures/collection/library.c/package.json deleted file mode 100644 index 64ac75d6..00000000 --- a/test/fixtures/collection/library.c/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "library.c", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/collection/library.c/src/library/c/.library b/test/fixtures/collection/library.c/src/library/c/.library deleted file mode 100644 index 4180ce2a..00000000 --- a/test/fixtures/collection/library.c/src/library/c/.library +++ /dev/null @@ -1,17 +0,0 @@ - - - - library.c - SAP SE - ${copyright} - ${version} - - Library C - - - - library.d - - - - diff --git a/test/fixtures/collection/library.c/test/LibraryC/Test.html b/test/fixtures/collection/library.c/test/LibraryC/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/collection/library.c/ui5.yaml b/test/fixtures/collection/library.c/ui5.yaml deleted file mode 100644 index 159b1411..00000000 --- a/test/fixtures/collection/library.c/ui5.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.c diff --git a/test/fixtures/collection/node_modules/library.d/package.json b/test/fixtures/collection/node_modules/library.d/package.json deleted file mode 100644 index 90c75040..00000000 --- a/test/fixtures/collection/node_modules/library.d/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "library.d", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/collection/node_modules/library.d/src/library/d/.library b/test/fixtures/collection/node_modules/library.d/src/library/d/.library deleted file mode 100644 index 21251d1b..00000000 --- a/test/fixtures/collection/node_modules/library.d/src/library/d/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - ${copyright} - ${version} - - Library D - - diff --git a/test/fixtures/collection/node_modules/library.d/test/library/d/Test.html b/test/fixtures/collection/node_modules/library.d/test/library/d/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/collection/node_modules/library.d/ui5.yaml b/test/fixtures/collection/node_modules/library.d/ui5.yaml deleted file mode 100644 index c39a8461..00000000 --- a/test/fixtures/collection/node_modules/library.d/ui5.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.d -resources: - configuration: - paths: - src: main/src - test: main/test diff --git a/test/fixtures/collection/package.json b/test/fixtures/collection/package.json deleted file mode 100644 index 81b94843..00000000 --- a/test/fixtures/collection/package.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "collection", - "version": "1.0.0", - "description": "Simple Collection", - "dependencies": { - "library.d": "file:../library.d" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "collection": { - "modules": { - "library.a": "./library.a", - "library.b": "./library.b", - "library.c": "./library.c" - } - } -} diff --git a/test/fixtures/fsInterface/foo.txt b/test/fixtures/fsInterface/foo.txt deleted file mode 100644 index 538451fc..00000000 --- a/test/fixtures/fsInterface/foo.txt +++ /dev/null @@ -1 +0,0 @@ -content of /foo.txt \ No newline at end of file diff --git a/test/fixtures/glob/application.a/package.json b/test/fixtures/glob/application.a/package.json deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/glob/application.a/ui5.yaml b/test/fixtures/glob/application.a/ui5.yaml deleted file mode 100644 index 7e28c5d7..00000000 --- a/test/fixtures/glob/application.a/ui5.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -specVersion: "0.1" -type: application -metadata: - name: application.a diff --git a/test/fixtures/glob/application.a/webapp/index.html b/test/fixtures/glob/application.a/webapp/index.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/glob/application.a/webapp/test.js b/test/fixtures/glob/application.a/webapp/test.js deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/glob/application.b/package.json b/test/fixtures/glob/application.b/package.json deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/glob/application.b/ui5.yaml b/test/fixtures/glob/application.b/ui5.yaml deleted file mode 100644 index 25326df4..00000000 --- a/test/fixtures/glob/application.b/ui5.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -specVersion: "0.1" -type: application -metadata: - name: application.b diff --git a/test/fixtures/glob/application.b/webapp/embedded/i18n/i18n.properties b/test/fixtures/glob/application.b/webapp/embedded/i18n/i18n.properties deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/glob/application.b/webapp/embedded/i18n/i18n_de.properties b/test/fixtures/glob/application.b/webapp/embedded/i18n/i18n_de.properties deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/glob/application.b/webapp/embedded/i18n_fr.properties b/test/fixtures/glob/application.b/webapp/embedded/i18n_fr.properties deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/glob/application.b/webapp/embedded/manifest.json b/test/fixtures/glob/application.b/webapp/embedded/manifest.json deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/glob/application.b/webapp/i18n.properties b/test/fixtures/glob/application.b/webapp/i18n.properties deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/glob/application.b/webapp/i18n/i18n.properties b/test/fixtures/glob/application.b/webapp/i18n/i18n.properties deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/glob/application.b/webapp/i18n/i18n_de.properties b/test/fixtures/glob/application.b/webapp/i18n/i18n_de.properties deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/glob/application.b/webapp/i18n/l10n.properties b/test/fixtures/glob/application.b/webapp/i18n/l10n.properties deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/glob/application.b/webapp/manifest.json b/test/fixtures/glob/application.b/webapp/manifest.json deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/glob/package.json b/test/fixtures/glob/package.json deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/init-application/package.json b/test/fixtures/init-application/package.json deleted file mode 100644 index 63696d06..00000000 --- a/test/fixtures/init-application/package.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "init-application", - "version": "1.0.0", - "private": true, - "description": "", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "UNLICENSED" -} diff --git a/test/fixtures/init-application/webapp/.gitkeep b/test/fixtures/init-application/webapp/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/init-invalid-no-package-json/webapp/.gitkeep b/test/fixtures/init-invalid-no-package-json/webapp/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/init-invalid-webapp-src/package.json b/test/fixtures/init-invalid-webapp-src/package.json deleted file mode 100644 index a9eff2a7..00000000 --- a/test/fixtures/init-invalid-webapp-src/package.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "init-invalid", - "version": "1.0.0", - "private": true, - "description": "", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "UNLICENSED" -} diff --git a/test/fixtures/init-invalid-webapp-src/src/.gitkeep b/test/fixtures/init-invalid-webapp-src/src/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/init-invalid-webapp-src/webapp/.gitkeep b/test/fixtures/init-invalid-webapp-src/webapp/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/init-library/package.json b/test/fixtures/init-library/package.json deleted file mode 100644 index 5037d8cb..00000000 --- a/test/fixtures/init-library/package.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "init-library", - "version": "1.0.0", - "private": true, - "description": "", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "UNLICENSED" -} diff --git a/test/fixtures/init-library/src/.gitkeep b/test/fixtures/init-library/src/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/init-library/test/.gitkeep b/test/fixtures/init-library/test/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/lbt/modules/bundle.js b/test/fixtures/lbt/modules/bundle.js deleted file mode 100644 index 2ee4601c..00000000 --- a/test/fixtures/lbt/modules/bundle.js +++ /dev/null @@ -1,12 +0,0 @@ -sap.ui.predefine("sap/m/CheckBox",["sap/ui/core/Control"],function(o){"use strict";var n=o.extend("sap.m.CheckBox");return n}); -sap.ui.predefine("sap/ui/core/Core",[],function(){"use strict";return {}}); -sap.ui.predefine("todo/Component",["sap/ui/core/UIComponent"],function(e){"use strict";return e.extend("todo.Component",{metadata:{manifest:"json"}})}); -sap.ui.predefine("todo/controller/App.controller",["sap/ui/core/mvc/Controller"],function(e){"use strict";return e.extend("todo.controller.App")}); -jQuery.sap.registerPreloadedModules({ -"version":"2.0", -"modules":{ - "sap/m/messagebundle.properties":'#This is the resource bundle for the SAPUI5 sar\r\n', - "todo/manifest.json":'{"sap.app":{"id":"todo","type":"application"},"sap.ui5":{"rootView":{"viewName":"todo.view.App","type":"XML","id":"app"},"models":{"i18n":{"type":"sap.ui.model.resource.ResourceModel","settings":{"bundleName":"todo.i18n.messageBundle"}},"":{"type":"sap.ui.model.json.JSONModel","settings":"/model/todoitems.json"}},"resources":{"css":[{"uri":"css/styles.css"}]}}}', - "todo/model/todoitems.json":'{"newTodo":"","todos":[{"title":"Start this app","completed":true},{"title":"Learn OpenUI5","completed":false}],"itemsRemovable":true,"someCompleted":true,"completedCount":1}', - "todo/view/App.view.xml":'
\n' -}}); diff --git a/test/fixtures/lbt/modules/declare_function_expr_scope.js b/test/fixtures/lbt/modules/declare_function_expr_scope.js deleted file mode 100644 index 661eb022..00000000 --- a/test/fixtures/lbt/modules/declare_function_expr_scope.js +++ /dev/null @@ -1,43 +0,0 @@ -// uses a function expr + additional arguments to create a scope -// Note that this scope style is old-fashioned and results in a JSLint warning! -(function($1, window) { - - //declares module sap.ui.testmodule - jQuery.sap.declare("sap.ui.testmodule"); - - // top level statements in the scope - jQuery.sap.require("top.require.void"); - var x = jQuery.sap.require("top.require.var"); - x = jQuery.sap.require("top.require.assign"); - var xs = sap.ui.requireSync("top/requireSync/var"); - xs = sap.ui.requireSync("top/requireSync/assign"); - - // a block with require statements - { - jQuery.sap.require("block.require.void"); - var z = jQuery.sap.require("block.require.var"); - z = jQuery.sap.require("block.require.assign"); - var zs = sap.ui.requireSync("block/requireSync/var"); - zs = sap.ui.requireSync("block/requireSync/assign"); - } - - // a nested function invocation with require statements - (function() { - jQuery.sap.require("nested.scope.require.void"); - var z = jQuery.sap.require("nested.scope.require.var"); - z = jQuery.sap.require("nested.scope.require.assign"); - var zs = sap.ui.requireSync("nested/scope/requireSync/var"); - zs = sap.ui.requireSync("nested/scope/requireSync/assign"); - }()); - - //a nested function expression with require statements - (function() { - jQuery.sap.require("nested.scope2.require.void"); - var z = jQuery.sap.require("nested.scope2.require.var"); - z = jQuery.sap.require("nested.scope2.require.assign"); - var zs = sap.ui.requireSync("nested/scope2/requireSync/var"); - zs = sap.ui.requireSync("nested/scope2/requireSync/assign"); - })(); - -})(jQuery, this); - diff --git a/test/fixtures/lbt/modules/declare_function_invocation_scope.js b/test/fixtures/lbt/modules/declare_function_invocation_scope.js deleted file mode 100644 index a1ba6cbb..00000000 --- a/test/fixtures/lbt/modules/declare_function_invocation_scope.js +++ /dev/null @@ -1,41 +0,0 @@ -//uses a function invocation expr to create a scope -(function($2, window){ - - //declares module sap.ui.testmodule - jQuery.sap.declare("sap.ui.testmodule"); - - // top level statements in the scope - jQuery.sap.require("top.require.void"); - var x = jQuery.sap.require("top.require.var"); - x = jQuery.sap.require("top.require.assign"); - var xs = sap.ui.requireSync("top/requireSync/var"); - xs = sap.ui.requireSync("top/requireSync/assign"); - - // a block with require statements - { - jQuery.sap.require("block.require.void"); - var z = jQuery.sap.require("block.require.var"); - z = jQuery.sap.require("block.require.assign"); - var zs = sap.ui.requireSync("block/requireSync/var"); - zs = sap.ui.requireSync("block/requireSync/assign"); - } - - // a nested function invocation with require statements - (function() { - jQuery.sap.require("nested.scope.require.void"); - var z = jQuery.sap.require("nested.scope.require.var"); - z = jQuery.sap.require("nested.scope.require.assign"); - var zs = sap.ui.requireSync("nested/scope/requireSync/var"); - zs = sap.ui.requireSync("nested/scope/requireSync/assign"); - }()); - - //a nested function expression with require statements - (function() { - jQuery.sap.require("nested.scope2.require.void"); - var z = jQuery.sap.require("nested.scope2.require.var"); - z = jQuery.sap.require("nested.scope2.require.assign"); - var zs = sap.ui.requireSync("nested/scope2/requireSync/var"); - zs = sap.ui.requireSync("nested/scope2/requireSync/assign"); - })(); - -}(jQuery, this)); diff --git a/test/fixtures/lbt/modules/declare_toplevel.js b/test/fixtures/lbt/modules/declare_toplevel.js deleted file mode 100644 index f849f88d..00000000 --- a/test/fixtures/lbt/modules/declare_toplevel.js +++ /dev/null @@ -1,36 +0,0 @@ -//declares module sap.ui.testmodule -jQuery.sap.declare("sap.ui.testmodule"); - -// top level statements in the scope -jQuery.sap.require("top.require.void"); -var x = jQuery.sap.require("top.require.var"); -x = jQuery.sap.require("top.require.assign"); -var xs = sap.ui.requireSync("top/requireSync/var"); -xs = sap.ui.requireSync("top/requireSync/assign"); - -// a block with require statements -{ - jQuery.sap.require("block.require.void"); - var z = jQuery.sap.require("block.require.var"); - z = jQuery.sap.require("block.require.assign"); - var zs = sap.ui.requireSync("block/requireSync/var"); - zs = sap.ui.requireSync("block/requireSync/assign"); -} - -// a nested function invocation with require statements -(function() { - jQuery.sap.require("nested.scope.require.void"); - var z = jQuery.sap.require("nested.scope.require.var"); - z = jQuery.sap.require("nested.scope.require.assign"); - var zs = sap.ui.requireSync("nested/scope/requireSync/var"); - zs = sap.ui.requireSync("nested/scope/requireSync/assign"); -}()); - -//a nested function expression with require statements -(function() { - jQuery.sap.require("nested.scope2.require.void"); - var z = jQuery.sap.require("nested.scope2.require.var"); - z = jQuery.sap.require("nested.scope2.require.assign"); - var zs = sap.ui.requireSync("nested/scope2/requireSync/var"); - zs = sap.ui.requireSync("nested/scope2/requireSync/assign"); -})(); diff --git a/test/fixtures/lbt/modules/define_toplevel_named.js b/test/fixtures/lbt/modules/define_toplevel_named.js deleted file mode 100644 index 4f3f19cb..00000000 --- a/test/fixtures/lbt/modules/define_toplevel_named.js +++ /dev/null @@ -1,4 +0,0 @@ -//declares module sap.ui.testmodule -sap.ui.define("sap/ui/testmodule", ["define/arg1","define/arg2"], function(Strings,Dom,Something) { - -}); diff --git a/test/fixtures/lbt/modules/define_toplevel_unnamed.js b/test/fixtures/lbt/modules/define_toplevel_unnamed.js deleted file mode 100644 index 245c0697..00000000 --- a/test/fixtures/lbt/modules/define_toplevel_unnamed.js +++ /dev/null @@ -1,4 +0,0 @@ -//declares module sap.ui.testmodule -sap.ui.define(["define/arg1","define/arg2"], function(Strings,Dom,Something) { - -}); diff --git a/test/fixtures/lbt/modules/not_a_module.js b/test/fixtures/lbt/modules/not_a_module.js deleted file mode 100644 index 786cc378..00000000 --- a/test/fixtures/lbt/modules/not_a_module.js +++ /dev/null @@ -1 +0,0 @@ -// this file does not contain a UI5 module definition \ No newline at end of file diff --git a/test/fixtures/library.d-depender/main/src/library/d/.library b/test/fixtures/library.d-depender/main/src/library/d/.library deleted file mode 100644 index 53c2d14c..00000000 --- a/test/fixtures/library.d-depender/main/src/library/d/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - Some fancy copyright - ${version} - - Library D - - diff --git a/test/fixtures/library.d-depender/main/src/library/d/some.js b/test/fixtures/library.d-depender/main/src/library/d/some.js deleted file mode 100644 index 81e73436..00000000 --- a/test/fixtures/library.d-depender/main/src/library/d/some.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * ${copyright} - */ -console.log('HelloWorld'); \ No newline at end of file diff --git a/test/fixtures/library.d-depender/main/test/library/d/Test.html b/test/fixtures/library.d-depender/main/test/library/d/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/library.d-depender/node_modules/library.d/main/src/library/d/.library b/test/fixtures/library.d-depender/node_modules/library.d/main/src/library/d/.library deleted file mode 100644 index 53c2d14c..00000000 --- a/test/fixtures/library.d-depender/node_modules/library.d/main/src/library/d/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - Some fancy copyright - ${version} - - Library D - - diff --git a/test/fixtures/library.d-depender/node_modules/library.d/main/src/library/d/some.js b/test/fixtures/library.d-depender/node_modules/library.d/main/src/library/d/some.js deleted file mode 100644 index 81e73436..00000000 --- a/test/fixtures/library.d-depender/node_modules/library.d/main/src/library/d/some.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * ${copyright} - */ -console.log('HelloWorld'); \ No newline at end of file diff --git a/test/fixtures/library.d-depender/node_modules/library.d/main/test/library/d/Test.html b/test/fixtures/library.d-depender/node_modules/library.d/main/test/library/d/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/library.d-depender/node_modules/library.d/package.json b/test/fixtures/library.d-depender/node_modules/library.d/package.json deleted file mode 100644 index 90c75040..00000000 --- a/test/fixtures/library.d-depender/node_modules/library.d/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "library.d", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/library.d-depender/node_modules/library.d/ui5.yaml b/test/fixtures/library.d-depender/node_modules/library.d/ui5.yaml deleted file mode 100644 index c39a8461..00000000 --- a/test/fixtures/library.d-depender/node_modules/library.d/ui5.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.d -resources: - configuration: - paths: - src: main/src - test: main/test diff --git a/test/fixtures/library.d-depender/package.json b/test/fixtures/library.d-depender/package.json deleted file mode 100644 index 9f88fc95..00000000 --- a/test/fixtures/library.d-depender/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "library.d-depender", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": { - "library.d": "file:../library.d" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/library.d-depender/ui5.yaml b/test/fixtures/library.d-depender/ui5.yaml deleted file mode 100644 index d3a67f6d..00000000 --- a/test/fixtures/library.d-depender/ui5.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.d-depender -resources: - configuration: - paths: - src: main/src - test: main/test - diff --git a/test/fixtures/library.d/main/src/library/d/.library b/test/fixtures/library.d/main/src/library/d/.library deleted file mode 100644 index 53c2d14c..00000000 --- a/test/fixtures/library.d/main/src/library/d/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - Some fancy copyright - ${version} - - Library D - - diff --git a/test/fixtures/library.d/main/src/library/d/some.js b/test/fixtures/library.d/main/src/library/d/some.js deleted file mode 100644 index 81e73436..00000000 --- a/test/fixtures/library.d/main/src/library/d/some.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * ${copyright} - */ -console.log('HelloWorld'); \ No newline at end of file diff --git a/test/fixtures/library.d/main/test/library/d/Test.html b/test/fixtures/library.d/main/test/library/d/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/library.d/package.json b/test/fixtures/library.d/package.json deleted file mode 100644 index 90c75040..00000000 --- a/test/fixtures/library.d/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "library.d", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/library.d/ui5.yaml b/test/fixtures/library.d/ui5.yaml deleted file mode 100644 index c39a8461..00000000 --- a/test/fixtures/library.d/ui5.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.d -resources: - configuration: - paths: - src: main/src - test: main/test diff --git a/test/fixtures/library.e/node_modules/library.d/package.json b/test/fixtures/library.e/node_modules/library.d/package.json deleted file mode 100644 index 90c75040..00000000 --- a/test/fixtures/library.e/node_modules/library.d/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "library.d", - "version": "1.0.0", - "description": "Simple SAPUI5 based library", - "dependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/library.e/node_modules/library.d/src/library/d/.library b/test/fixtures/library.e/node_modules/library.d/src/library/d/.library deleted file mode 100644 index 21251d1b..00000000 --- a/test/fixtures/library.e/node_modules/library.d/src/library/d/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - ${copyright} - ${version} - - Library D - - diff --git a/test/fixtures/library.e/node_modules/library.d/test/library/d/Test.html b/test/fixtures/library.e/node_modules/library.d/test/library/d/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/library.e/node_modules/library.d/ui5.yaml b/test/fixtures/library.e/node_modules/library.d/ui5.yaml deleted file mode 100644 index 7b731df8..00000000 --- a/test/fixtures/library.e/node_modules/library.d/ui5.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -name: library.d -type: library diff --git a/test/fixtures/library.e/package.json b/test/fixtures/library.e/package.json deleted file mode 100644 index 9ce874ff..00000000 --- a/test/fixtures/library.e/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "library.e", - "version": "1.0.0", - "description": "Simple SAPUI5 based library - test for dev dependencies", - "devDependencies": { - "library.d": "file:../library.d" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/library.e/src/library/e/.library b/test/fixtures/library.e/src/library/e/.library deleted file mode 100644 index 20c99070..00000000 --- a/test/fixtures/library.e/src/library/e/.library +++ /dev/null @@ -1,11 +0,0 @@ - - - - library.d - SAP SE - ${copyright} - ${version} - - Library E - - diff --git a/test/fixtures/library.e/src/library/e/some.js b/test/fixtures/library.e/src/library/e/some.js deleted file mode 100644 index 81e73436..00000000 --- a/test/fixtures/library.e/src/library/e/some.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * ${copyright} - */ -console.log('HelloWorld'); \ No newline at end of file diff --git a/test/fixtures/library.e/test/library/e/Test.html b/test/fixtures/library.e/test/library/e/Test.html deleted file mode 100644 index e69de29b..00000000 diff --git a/test/fixtures/library.e/ui5.yaml b/test/fixtures/library.e/ui5.yaml deleted file mode 100644 index 5dee17f6..00000000 --- a/test/fixtures/library.e/ui5.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.e - copyright: |- - UI development toolkit for HTML5 (OpenUI5) - * (c) Copyright 2009-xxx SAP SE or an SAP affiliate company. - * Licensed under the Apache License, Version 2.0 - see LICENSE.txt. diff --git a/test/fixtures/library.f/node_modules/library.g/package.json b/test/fixtures/library.f/node_modules/library.g/package.json deleted file mode 100644 index fff39011..00000000 --- a/test/fixtures/library.f/node_modules/library.g/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "library.g", - "version": "1.0.0", - "description": "Simple SAPUI5 based library - test for circular dependencies", - "devDependencies": { - "library.f": "file:../library.f" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/library.f/node_modules/library.g/ui5.yaml b/test/fixtures/library.f/node_modules/library.g/ui5.yaml deleted file mode 100644 index 9c528171..00000000 --- a/test/fixtures/library.f/node_modules/library.g/ui5.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.g diff --git a/test/fixtures/library.f/package.json b/test/fixtures/library.f/package.json deleted file mode 100644 index d8f009d4..00000000 --- a/test/fixtures/library.f/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "library.f", - "version": "1.0.0", - "description": "Simple SAPUI5 based library - test for circular dependencies", - "dependencies": { - "library.g": "file:../library.g" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/library.f/ui5.yaml b/test/fixtures/library.f/ui5.yaml deleted file mode 100644 index 38440bac..00000000 --- a/test/fixtures/library.f/ui5.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.f diff --git a/test/fixtures/library.g/node_modules/library.f/package.json b/test/fixtures/library.g/node_modules/library.f/package.json deleted file mode 100644 index d8f009d4..00000000 --- a/test/fixtures/library.g/node_modules/library.f/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "library.f", - "version": "1.0.0", - "description": "Simple SAPUI5 based library - test for circular dependencies", - "dependencies": { - "library.g": "file:../library.g" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/library.g/node_modules/library.f/ui5.yaml b/test/fixtures/library.g/node_modules/library.f/ui5.yaml deleted file mode 100644 index 38440bac..00000000 --- a/test/fixtures/library.g/node_modules/library.f/ui5.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.f diff --git a/test/fixtures/library.g/package.json b/test/fixtures/library.g/package.json deleted file mode 100644 index fff39011..00000000 --- a/test/fixtures/library.g/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "library.g", - "version": "1.0.0", - "description": "Simple SAPUI5 based library - test for circular dependencies", - "devDependencies": { - "library.f": "file:../library.f" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - } -} diff --git a/test/fixtures/library.g/ui5.yaml b/test/fixtures/library.g/ui5.yaml deleted file mode 100644 index 9c528171..00000000 --- a/test/fixtures/library.g/ui5.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -specVersion: "0.1" -type: library -metadata: - name: library.g diff --git a/test/lib/server/acceptRemoteConnections.js b/test/lib/server/acceptRemoteConnections.js index 1565ed6d..705f095a 100644 --- a/test/lib/server/acceptRemoteConnections.js +++ b/test/lib/server/acceptRemoteConnections.js @@ -2,24 +2,23 @@ const test = require("ava"); const supertest = require("supertest"); const ui5Server = require("../../../"); const server = ui5Server.server; -const normalizer = require("@ui5/project").normalizer; +const generateProjectGraph = require("@ui5/project").generateProjectGraph.usingNodePackageDependencies; let request; let serve; // Start server before running tests -test.before(() => { - return normalizer.generateProjectTree({ +test.before(async () => { + const graph = await generateProjectGraph({ cwd: "./test/fixtures/application.a" - }).then((tree) => { - return server.serve(tree, { - port: 3334, - acceptRemoteConnections: true - }).then((serveResult) => { - request = supertest("http://127.0.0.1:3334"); - serve = serveResult; - }); }); + + serve = await server.serve(graph, { + port: 3334, + acceptRemoteConnections: true + }); + + request = supertest("http://127.0.0.1:3334"); }); test.after(() => { diff --git a/test/lib/server/h2.js b/test/lib/server/h2.js index 45715bd6..728ec330 100644 --- a/test/lib/server/h2.js +++ b/test/lib/server/h2.js @@ -2,37 +2,31 @@ const test = require("ava"); const supertest = require("supertest"); const ui5Server = require("../../../"); const server = ui5Server.server; -const normalizer = require("@ui5/project").normalizer; +const generateProjectGraph = require("@ui5/project").generateProjectGraph.usingNodePackageDependencies; const path = require("path"); let request; let serve; // Start server before running tests -test.before((t) => { +test.before(async (t) => { process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = "0"; - return normalizer.generateProjectTree({ + const graph = await generateProjectGraph({ cwd: "./test/fixtures/application.a" - }).then((tree) => { - const sslPath = path.join(process.cwd(), "./test/fixtures/ssl/"); - return ui5Server.sslUtil.getSslCertificate( - path.join(sslPath, "server.key"), - path.join(sslPath, "server.crt"), - ).then(({key, cert}) => { - return {tree, key, cert}; - }); - }).then((result) => { - return server.serve(result.tree, { - port: 3366, - h2: true, - key: result.key, - cert: result.cert - }); - }).then((serveResult) => { - request = supertest("https://localhost:3366"); - serve = serveResult; }); + const sslPath = path.join(process.cwd(), "./test/fixtures/ssl/"); + const {key, cert} = await ui5Server.sslUtil.getSslCertificate( + path.join(sslPath, "server.key"), + path.join(sslPath, "server.crt"), + ); + serve = await server.serve(graph, { + port: 3366, + h2: true, + key, + cert + }); + request = supertest("https://localhost:3366"); }); test.after(() => { diff --git a/test/lib/server/main.js b/test/lib/server/main.js index 9648a568..8eebc277 100644 --- a/test/lib/server/main.js +++ b/test/lib/server/main.js @@ -2,23 +2,21 @@ const test = require("ava"); const supertest = require("supertest"); const ui5Server = require("../../../"); const server = ui5Server.server; -const normalizer = require("@ui5/project").normalizer; +const generateProjectGraph = require("@ui5/project").generateProjectGraph.usingNodePackageDependencies; let request; let serve; // Start server before running tests -test.before((t) => { - return normalizer.generateProjectTree({ +test.before(async (t) => { + const graph = await generateProjectGraph({ cwd: "./test/fixtures/application.a" - }).then((tree) => { - return server.serve(tree, { - port: 3333 - }).then((serveResult) => { - request = supertest("http://localhost:3333"); - serve = serveResult; - }); }); + + serve = await server.serve(graph, { + port: 3333 + }); + request = supertest("http://localhost:3333"); }); test.after.always(() => { @@ -36,7 +34,7 @@ test.after.always(() => { test("Get resource from application.a (/index.html)", (t) => { return request.get("/index.html").then((res) => { if (res.error) { - t.fail(res.error.text); + throw new Error(res.error); } t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); t.regex(res.headers["content-type"], /html/, "Correct content type"); @@ -48,7 +46,7 @@ test("Get resource from application.a (/index.html)", (t) => { test("Get resource from application.a with not replaced version placeholder(/versionTest.html)", (t) => { return request.get("/versionTest.html").then((res) => { if (res.error) { - t.fail(res.error.text); + throw new Error(res.error); } t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); t.regex(res.headers["content-type"], /html/, "Correct content type"); @@ -59,7 +57,7 @@ test("Get resource from application.a with not replaced version placeholder(/ver test("Get resource from application.a with replaced version placeholder (/versionTest.js)", (t) => { return request.get("/versionTest.js").then((res) => { if (res.error) { - t.fail(res.error.text); + throw new Error(res.error); } t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); t.regex(res.headers["content-type"], /application\/javascript/, "Correct content type"); @@ -70,7 +68,7 @@ test("Get resource from application.a with replaced version placeholder (/versio test("Get resource from application.a (/i18n/i18n.properties) with correct content-type", (t) => { return request.get("/i18n/i18n.properties").then((res) => { if (res.error) { - t.fail(res.error.text); + throw new Error(res.error.text); } t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); t.deepEqual(res.headers["content-type"], "application/octet-stream", "Correct content type"); @@ -83,7 +81,7 @@ test("Get resource from application.a (/i18n/i18n_de.properties) with correct co .responseType("arraybuffer") .then((res) => { if (res.error) { - t.fail(res.error.text); + throw new Error(res.error); } t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); t.deepEqual(res.headers["content-type"], "application/octet-stream", @@ -100,7 +98,7 @@ test("Get resource from application.a (/i18n/i18n_de.properties) with correct co test("Get resource from library.a (/resources/library/a/.library)", (t) => { return request.get("/resources/library/a/.library").then((res) => { if (res.error) { - t.fail(res.error.text); + throw new Error(res.error); } t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); }); @@ -109,7 +107,7 @@ test("Get resource from library.a (/resources/library/a/.library)", (t) => { test("Get resource from library.b (/resources/library/b/.library)", (t) => { return request.get("/resources/library/b/.library").then((res) => { if (res.error) { - t.fail(res.error.text); + throw new Error(res.error); } t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); }); @@ -118,7 +116,7 @@ test("Get resource from library.b (/resources/library/b/.library)", (t) => { test("Get resource from library.c (/resources/library/c/.library)", (t) => { return request.get("/resources/library/c/.library").then((res) => { if (res.error) { - t.fail(res.error.text); + throw new Error(res.error); } t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); }); @@ -127,7 +125,7 @@ test("Get resource from library.c (/resources/library/c/.library)", (t) => { test("Get resource from library.d (/resources/library/d/.library)", (t) => { return request.get("/resources/library/d/.library").then((res) => { if (res.error) { - t.fail(res.error.text); + throw new Error(res.error); } t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); }); @@ -136,7 +134,7 @@ test("Get resource from library.d (/resources/library/d/.library)", (t) => { test("Get app_pages from discovery middleware (/discovery/app_pages)", (t) => { return request.get("/discovery/app_pages").then((res) => { if (res.error) { - t.fail(res.error.text); + throw new Error(res.error); } t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); t.deepEqual(res.body, { @@ -155,7 +153,7 @@ test("Get app_pages from discovery middleware (/discovery/app_pages)", (t) => { test("Get all_libs from discovery middleware (/discovery/all_libs)", (t) => { return request.get("/discovery/all_libs").then((res) => { if (res.error) { - t.fail(res.error.text); + throw new Error(res.error); } t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); t.deepEqual(res.body, { @@ -180,7 +178,7 @@ test("Get all_libs from discovery middleware (/discovery/all_libs)", (t) => { test("Get all_tests from discovery middleware (/discovery/all_tests)", (t) => { return request.get("/discovery/all_tests").then((res) => { if (res.error) { - t.fail(res.error.text); + throw new Error(res.error); } t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); t.deepEqual(res.body, { @@ -208,7 +206,7 @@ test("Get all_tests from discovery middleware (/discovery/all_tests)", (t) => { test("Get sap-ui-version.json from versionInfo middleware (/resources/sap-ui-version.json)", (t) => { return request.get("/resources/sap-ui-version.json").then((res) => { if (res.error) { - t.fail(res.error.text); + throw new Error(res.error); } t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); @@ -272,7 +270,7 @@ test("Get sap-ui-version.json from versionInfo middleware (/resources/sap-ui-ver test("Get library.css from theme middleware (/resources/library/a/themes/base/library.css)", (t) => { return request.get("/resources/library/a/themes/base/library.css").then((res) => { if (res.error) { - t.fail(res.error.text); + throw new Error(res.error); } t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); t.regex(res.headers["content-type"], /css/, "Correct content type"); @@ -290,7 +288,7 @@ test("Get library.css from theme middleware (/resources/library/a/themes/base/li test("Get library-RTL.css from theme middleware (/resources/library/a/themes/base/library-RTL.css)", (t) => { return request.get("/resources/library/a/themes/base/library-RTL.css").then((res) => { if (res.error) { - t.fail(res.error.text); + throw new Error(res.error); } t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); t.regex(res.headers["content-type"], /css/, "Correct content type"); @@ -309,7 +307,7 @@ test("Get library-parameters.json from theme middleware (/resources/library/a/th (t) => { return request.get("/resources/library/a/themes/base/library-parameters.json").then((res) => { if (res.error) { - t.fail(res.error.text); + throw new Error(res.error); } t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); t.regex(res.headers["content-type"], /json/, "Correct content type"); @@ -323,7 +321,7 @@ test("Get css_variables.source.less from theme middleware (/resources/library/a/ (t) => { return request.get("/resources/library/a/themes/base/css_variables.source.less").then((res) => { if (res.error) { - t.fail(res.error.text); + throw new Error(res.error); } t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); t.regex(res.headers["content-type"], /less/, "Correct content type"); @@ -339,7 +337,7 @@ test("Get css_variables.source.less from theme middleware (/resources/library/a/ test("Get css_variables.css from theme middleware (/resources/library/a/themes/base/css_variables.css)", (t) => { return request.get("/resources/library/a/themes/base/css_variables.css").then((res) => { if (res.error) { - t.fail(res.error.text); + throw new Error(res.error); } t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); t.regex(res.headers["content-type"], /css/, "Correct content type"); @@ -356,7 +354,7 @@ test("Get css_variables.css from theme middleware (/resources/library/a/themes/b test("Get library_skeleton.css from theme middleware (/resources/library/a/themes/base/library_skeleton.css)", (t) => { return request.get("/resources/library/a/themes/base/library_skeleton.css").then((res) => { if (res.error) { - t.fail(res.error.text); + throw new Error(res.error); } t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); t.regex(res.headers["content-type"], /css/, "Correct content type"); @@ -372,7 +370,7 @@ test("Get library_skeleton-RTL.css from theme middleware (/resources/library/a/t (t) => { return request.get("/resources/library/a/themes/base/library_skeleton-RTL.css").then((res) => { if (res.error) { - t.fail(res.error.text); + throw new Error(res.error); } t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); t.regex(res.headers["content-type"], /css/, "Correct content type"); @@ -384,19 +382,20 @@ test("Get library_skeleton-RTL.css from theme middleware (/resources/library/a/t }); }); -test("Stop server", (t) => { +test("Stop server", async (t) => { const port = 3350; const request = supertest(`http://localhost:${port}`); - return normalizer.generateProjectTree({ + + const graph = await generateProjectGraph({ cwd: "./test/fixtures/application.a" - }).then((tree) => { - return server.serve(tree, { - port: port - }); + }); + + return server.serve(graph, { + port: port }).then((serveResult) => { return request.get("/resources/library/a/themes/base/library-parameters.json").then((res) => { if (res.error) { - t.fail(res.error.text); + throw new Error(res.error); } t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); return serveResult; @@ -490,18 +489,19 @@ test("CSP (defaults)", (t) => { * The response object of supertest joins the values of the two headers in a single string, which makes * assertions below a bit harder to understand (two checks with different regex on the same header) */ -test("CSP (sap policies)", (t) => { +test("CSP (sap policies)", async (t) => { const port = 3400; const request = supertest(`http://localhost:${port}`); let localServeResult; - return normalizer.generateProjectTree({ + + const graph = await generateProjectGraph({ cwd: "./test/fixtures/application.a" - }).then((tree) => { - return server.serve(tree, { - port, - sendSAPTargetCSP: true, - simpleIndex: false - }); + }); + + return server.serve(graph, { + port, + sendSAPTargetCSP: true, + simpleIndex: false }).then((serveResult) => { localServeResult = serveResult; return Promise.all([ @@ -588,18 +588,19 @@ test("CSP (sap policies)", (t) => { }); }); -test("CSP serveCSPReports", (t) => { +test("CSP serveCSPReports", async (t) => { const port = 3450; const request = supertest(`http://localhost:${port}`); let localServeResult; - return normalizer.generateProjectTree({ + + const graph = await generateProjectGraph({ cwd: "./test/fixtures/application.a" - }).then((tree) => { - return server.serve(tree, { - port, - serveCSPReports: true, - simpleIndex: false - }); + }); + + return server.serve(graph, { + port, + serveCSPReports: true, + simpleIndex: false }).then((serveResult) => { localServeResult = serveResult; const cspReport = { @@ -646,10 +647,12 @@ test("CSP serveCSPReports", (t) => { test("CSP with ignore paths", async (t) => { const port = 3500; const request = supertest(`http://localhost:${port}`); - const tree = await normalizer.generateProjectTree({ + + const graph = await generateProjectGraph({ cwd: "./test/fixtures/application.a" }); - const serveResult = await server.serve(tree, { + + const serveResult = await server.serve(graph, { port, serveCSPReports: true, sendSAPTargetCSP: true, diff --git a/test/lib/server/middleware/MiddlewareManager.js b/test/lib/server/middleware/MiddlewareManager.js index 795730b8..cbcb86f5 100644 --- a/test/lib/server/middleware/MiddlewareManager.js +++ b/test/lib/server/middleware/MiddlewareManager.js @@ -6,7 +6,7 @@ const middlewareRepository = require("../../../../lib/middleware/middlewareRepos test("Missing parameters", async (t) => { const err = t.throws(() => { new MiddlewareManager({ - tree: {}, + graph: {}, resources: {} }); }); @@ -17,7 +17,7 @@ test("Missing parameters", async (t) => { test("Correct parameters", async (t) => { t.notThrows(() => { new MiddlewareManager({ - tree: {}, + graph: {}, resources: { all: "I", rootProject: "like", @@ -29,7 +29,7 @@ test("Correct parameters", async (t) => { test("applyMiddleware", async (t) => { const middlewareManager = new MiddlewareManager({ - tree: {}, + graph: {}, resources: { all: "I", rootProject: "love", @@ -60,7 +60,7 @@ test("applyMiddleware", async (t) => { test("addMiddleware: Adding already added middleware produces unique middleware name", async (t) => { const middlewareManager = new MiddlewareManager({ - tree: {}, + graph: {}, resources: { all: "I", rootProject: "like", @@ -96,7 +96,7 @@ test("addMiddleware: Adding already added middleware produces unique middleware test("addMiddleware: Adding middleware already added to middlewareExecutionOrder", async (t) => { const middlewareManager = new MiddlewareManager({ - tree: {}, + graph: {}, resources: { all: "I", rootProject: "like", @@ -116,7 +116,7 @@ test("addMiddleware: Adding middleware already added to middlewareExecutionOrder test("addMiddleware: Add middleware", async (t) => { const middlewareManager = new MiddlewareManager({ - tree: {}, + graph: {}, resources: { all: "I", rootProject: "like", @@ -139,7 +139,7 @@ test("addMiddleware: Add middleware", async (t) => { test("addMiddleware: Add middleware with beforeMiddleware and mountPath parameter", async (t) => { const middlewareManager = new MiddlewareManager({ - tree: {}, + graph: {}, resources: { all: "I", rootProject: "like", @@ -165,7 +165,7 @@ test("addMiddleware: Add middleware with beforeMiddleware and mountPath paramete test("addMiddleware: Add middleware with afterMiddleware parameter", async (t) => { const middlewareManager = new MiddlewareManager({ - tree: {}, + graph: {}, resources: { all: "I", rootProject: "like", @@ -191,7 +191,7 @@ test("addMiddleware: Add middleware with afterMiddleware parameter", async (t) = test("addMiddleware: Add middleware with invalid afterMiddleware parameter", async (t) => { const middlewareManager = new MiddlewareManager({ - tree: {}, + graph: {}, resources: { all: "I", rootProject: "like", @@ -215,7 +215,7 @@ test("addMiddleware: Add middleware with invalid afterMiddleware parameter", asy test("addMiddleware: Add middleware with rapperCallback parameter", async (t) => { const middlewareManager = new MiddlewareManager({ - tree: {}, + graph: {}, resources: { all: "I", rootProject: "like", @@ -252,7 +252,7 @@ test("addMiddleware: Add middleware with rapperCallback parameter", async (t) => test("addMiddleware: Add middleware with async wrapperCallback", async (t) => { const middlewareManager = new MiddlewareManager({ - tree: {}, + graph: {}, resources: { all: "I", rootProject: "like", @@ -272,7 +272,7 @@ test("addMiddleware: Add middleware with async wrapperCallback", async (t) => { test("addStandardMiddleware: Adds standard middleware in correct order", async (t) => { const middlewareManager = new MiddlewareManager({ - tree: {}, + graph: {}, resources: { all: "I", rootProject: "like", @@ -303,13 +303,16 @@ test("addStandardMiddleware: Adds standard middleware in correct order", async ( }); test("addCustomMiddleware: No custom middleware defined", async (t) => { - const project = { - server: { - customMiddleware: [] + const graph = { + getRoot: () => { + return { + getName: () => "my project", + getCustomMiddleware: () => [] + }; } }; const middlewareManager = new MiddlewareManager({ - tree: project, + graph, resources: { all: "I", rootProject: "like", @@ -323,23 +326,23 @@ test("addCustomMiddleware: No custom middleware defined", async (t) => { }); test("addCustomMiddleware: Custom middleware got added", async (t) => { - const project = { - metadata: { - name: "my project" - }, - server: { - customMiddleware: [{ - name: "my custom middleware A", - beforeMiddleware: "cors", - mountPath: "/pony" - }, { - name: "my custom middleware B", - afterMiddleware: "my custom middleware A" - }] + const graph = { + getRoot: () => { + return { + getName: () => "my project", + getCustomMiddleware: () => [{ + name: "my custom middleware A", + beforeMiddleware: "cors", + mountPath: "/pony" + }, { + name: "my custom middleware B", + afterMiddleware: "my custom middleware A" + }] + }; } }; const middlewareManager = new MiddlewareManager({ - tree: project, + graph, resources: { all: "I", rootProject: "like", @@ -372,19 +375,19 @@ test("addCustomMiddleware: Custom middleware got added", async (t) => { }); test("addCustomMiddleware: No special handling for custom middleware with duplicate name", async (t) => { - const project = { - metadata: { - name: "my project" - }, - server: { - customMiddleware: [{ - name: "my custom middleware A", - afterMiddleware: "serveIndex" - }] + const graph = { + getRoot: () => { + return { + getName: () => "my project", + getCustomMiddleware: () => [{ + name: "my custom middleware A", + afterMiddleware: "serveIndex" + }] + }; } }; const middlewareManager = new MiddlewareManager({ - tree: project, + graph, resources: { all: "I", rootProject: "like", @@ -401,18 +404,18 @@ test("addCustomMiddleware: No special handling for custom middleware with duplic }); test("addCustomMiddleware: Missing name configuration", async (t) => { - const project = { - metadata: { - name: "my project" - }, - server: { - customMiddleware: [{ - afterMiddleware: "my custom middleware A" - }] + const graph = { + getRoot: () => { + return { + getName: () => "my project", + getCustomMiddleware: () => [{ + afterMiddleware: "my custom middleware A" + }] + }; } }; const middlewareManager = new MiddlewareManager({ - tree: project, + graph, resources: { all: "I", rootProject: "like", @@ -428,20 +431,20 @@ test("addCustomMiddleware: Missing name configuration", async (t) => { }); test("addCustomMiddleware: Both before- and afterMiddleware configuration", async (t) => { - const project = { - metadata: { - name: "🐧" - }, - server: { - customMiddleware: [{ - name: "πŸ¦†", - beforeMiddleware: "🐝", - afterMiddleware: "πŸ’" - }] + const graph = { + getRoot: () => { + return { + getName: () => "🐧", + getCustomMiddleware: () => [{ + name: "πŸ¦†", + beforeMiddleware: "🐝", + afterMiddleware: "πŸ’" + }] + }; } }; const middlewareManager = new MiddlewareManager({ - tree: project, + graph, resources: { all: "I", rootProject: "like", @@ -458,18 +461,18 @@ test("addCustomMiddleware: Both before- and afterMiddleware configuration", asyn }); test("addCustomMiddleware: Missing before- or afterMiddleware configuration", async (t) => { - const project = { - metadata: { - name: "🐧" - }, - server: { - customMiddleware: [{ - name: "πŸ¦†" - }] + const graph = { + getRoot: () => { + return { + getName: () => "🐧", + getCustomMiddleware: () => [{ + name: "πŸ¦†" + }] + }; } }; const middlewareManager = new MiddlewareManager({ - tree: project, + graph, resources: { all: "I", rootProject: "like", @@ -485,78 +488,30 @@ test("addCustomMiddleware: Missing before- or afterMiddleware configuration", as "Rejected with correct error message"); }); -test("addCustomMiddleware: wrapperCallback", async (t) => { - const project = { - metadata: { - name: "my project" - }, - server: { - customMiddleware: [{ - name: "my custom middleware A", - beforeMiddleware: "cors", - configuration: { - "🦊": "🐰" - } - }] - } - }; - const middlewareManager = new MiddlewareManager({ - tree: project, - resources: { - all: "I", - rootProject: "like", - dependencies: "ponies" - } - }); - const addMiddlewareStub = sinon.stub(middlewareManager, "addMiddleware").resolves(); - await middlewareManager.addCustomMiddleware(); - - t.deepEqual(addMiddlewareStub.callCount, 1, "addMiddleware was called once"); - - const wrapperCallback = addMiddlewareStub.getCall(0).args[1].wrapperCallback; +test("addCustomMiddleware", async (t) => { const middlewareModuleStub = sinon.stub().returns("ok"); - const middlewareModuleInfo = { - middleware: middlewareModuleStub, - specVersion: "1.1" - }; - const middlewareWrapper = wrapperCallback(middlewareModuleInfo); - const middlewareUtil = { - getInterface: sinon.stub().returns("interfacedMiddlewareUtil") - }; - const res = middlewareWrapper({ - resources: "resources", - middlewareUtil - }); - t.deepEqual(res, "ok", "Wrapper callback returned expected value"); - t.is(middlewareUtil.getInterface.callCount, 0, "middlewareUtil.getInterface has not been called"); - t.deepEqual(middlewareModuleStub.callCount, 1, "Middleware module got called once"); - t.deepEqual(middlewareModuleStub.getCall(0).args[0], { - resources: "resources", - options: { - configuration: { - "🦊": "🐰" - } - } - }, "Middleware module got called with correct arguments"); -}); - -test("addCustomMiddleware: wrapperCallback provides middlewareUtil to custom middleware", async (t) => { - const project = { - metadata: { - name: "my project" + const getSpecVersionStub = sinon.stub().returns("2.6"); + const getExtensionStub = sinon.stub().returns({ + getSpecVersion: getSpecVersionStub, + getMiddleware: () => middlewareModuleStub + }); + const graph = { + getRoot: () => { + return { + getName: () => "my project", + getCustomMiddleware: () => [{ + name: "my custom middleware A", + beforeMiddleware: "cors", + configuration: { + "🦊": "🐰" + } + }] + }; }, - server: { - customMiddleware: [{ - name: "my custom middleware A", - beforeMiddleware: "cors", - configuration: { - "🦊": "🐰" - } - }] - } + getExtension: getExtensionStub }; const middlewareManager = new MiddlewareManager({ - tree: project, + graph, resources: { all: "I", rootProject: "like", @@ -568,24 +523,18 @@ test("addCustomMiddleware: wrapperCallback provides middlewareUtil to custom mid t.deepEqual(addMiddlewareStub.callCount, 1, "addMiddleware was called once"); - const wrapperCallback = addMiddlewareStub.getCall(0).args[1].wrapperCallback; - const middlewareModuleStub = sinon.stub().returns("ok"); - const middlewareModuleInfo = { - middleware: middlewareModuleStub, - specVersion: "2.0" - }; - const middlewareWrapper = wrapperCallback(middlewareModuleInfo); + const customMiddleware = addMiddlewareStub.getCall(0).args[1].customMiddleware; const middlewareUtil = { getInterface: sinon.stub().returns("interfacedMiddlewareUtil") }; - const res = middlewareWrapper({ + const res = customMiddleware({ resources: "resources", middlewareUtil }); t.deepEqual(res, "ok", "Wrapper callback returned expected value"); t.is(middlewareUtil.getInterface.callCount, 1, "middlewareUtil.getInterface got called once"); - t.deepEqual(middlewareUtil.getInterface.getCall(0).args[0], "2.0", + t.deepEqual(middlewareUtil.getInterface.getCall(0).args[0], "2.6", "middlewareUtil.getInterface got called correct arguments"); t.deepEqual(middlewareModuleStub.callCount, 1, "Middleware module got called once"); t.deepEqual(middlewareModuleStub.getCall(0).args[0], { @@ -601,7 +550,7 @@ test("addCustomMiddleware: wrapperCallback provides middlewareUtil to custom mid test("addStandardMiddleware: CSP middleware configured correctly (default)", async (t) => { const middlewareManager = new MiddlewareManager({ - tree: {}, + graph: {}, resources: { all: "I", rootProject: "like", @@ -647,7 +596,7 @@ test("addStandardMiddleware: CSP middleware configured correctly (default)", asy test("addStandardMiddleware: CSP middleware configured correctly (enabled)", async (t) => { const middlewareManager = new MiddlewareManager({ - tree: {}, + graph: {}, resources: { all: "I", rootProject: "like", @@ -705,7 +654,7 @@ test("addStandardMiddleware: CSP middleware configured correctly (enabled)", asy test("addStandardMiddleware: CSP middleware configured correctly (custom)", async (t) => { const middlewareManager = new MiddlewareManager({ - tree: {}, + graph: {}, resources: { all: "I", rootProject: "like", diff --git a/test/lib/server/middleware/middlewareRepository.js b/test/lib/server/middleware/middlewareRepository.js index 376900ff..e33b356c 100644 --- a/test/lib/server/middleware/middlewareRepository.js +++ b/test/lib/server/middleware/middlewareRepository.js @@ -1,13 +1,11 @@ const test = require("ava"); -const path = require("path"); const middlewareRepository = require("../../../../lib/middleware/middlewareRepository"); test("getMiddleware", async (t) => { const cspModule = require("../../../../lib/middleware/csp"); const res = middlewareRepository.getMiddleware("csp"); t.deepEqual(res, { - middleware: cspModule, - specVersion: undefined + middleware: cspModule }, "Returned correct middleware module"); }); @@ -18,44 +16,3 @@ test("getMiddleware: Unknown middleware", async (t) => { t.deepEqual(err.message, "middlewareRepository: Unknown Middleware 🐬", "Threw error with correct message"); }); - -test("addMiddleware", async (t) => { - const cspModulePath = path.join(__dirname, "..", "..", "..", "..", "lib", "middleware", "csp"); - middlewareRepository.addMiddleware({ - name: "🐠", - specVersion: "2.0", - middlewarePath: cspModulePath - }); - const res = middlewareRepository.getMiddleware("🐠"); - - t.deepEqual(res, { - middleware: require(cspModulePath), - specVersion: "2.0", - }, "Returned correct middleware module"); -}); - -test("addMiddleware: Duplicate middleware", async (t) => { - const err = t.throws(() => { - middlewareRepository.addMiddleware({ - name: "cors" - }); - }); - t.deepEqual(err.message, - "middlewareRepository: A middleware with the name cors has already been registered", - "Threw error with correct message"); -}); - -test("addMiddleware: Middleware with invalid path", (t) => { - middlewareRepository.addMiddleware({ - name: "πŸ™…", - specVersion: "2.0", - middlewarePath: "/path/does/not/exist" - }); - const error = t.throws(() => { - middlewareRepository.getMiddleware("πŸ™…"); - }); - t.regex(error.message, - new RegExp("^middlewareRepository: Failed to require middleware module for πŸ™…: " + - "Cannot find module '/path/does/not/exist'"), - "Error message starts with expected text"); -}); diff --git a/test/lib/server/middleware/serveResources.js b/test/lib/server/middleware/serveResources.js index 95faf4c6..19da0864 100644 --- a/test/lib/server/middleware/serveResources.js +++ b/test/lib/server/middleware/serveResources.js @@ -49,11 +49,7 @@ test.serial("Check if properties file is served properly", (t) => { const readerWriter = resourceFactory.createAdapter({virBasePath: "/"}); const project = { - resources: { - configuration: { - propertiesFileSourceEncoding: "ISO-8859-1" - } - } + getPropertiesFileSourceEncoding: () => "ISO-8859-1" }; return writeResource(readerWriter, "/myFile3.properties", 1024 * 1024, "key=titel\nfame=straße", "latin1", project) @@ -93,11 +89,7 @@ test.serial("Check if properties file is served properly with UTF-8", (t) => { const readerWriter = resourceFactory.createAdapter({virBasePath: "/"}); const project = { - resources: { - configuration: { - propertiesFileSourceEncoding: "UTF-8" - } - } + getPropertiesFileSourceEncoding: () => "UTF-8" }; return writeResource(readerWriter, "/myFile3.properties", 1024 * 1024, "key=titel\nfame=straße", "utf8", project) @@ -175,7 +167,8 @@ test.serial("Check if properties file is served properly without property settin const readerWriter = resourceFactory.createAdapter({virBasePath: "/"}); const project = { - specVersion: "1.1" + getPropertiesFileSourceEncoding: () => "", + getSpecVersion: () => "1.1" }; return writeResource(readerWriter, "/myFile3.properties", 1024 * 1024, "key=titel\nfame=straße", "latin1", project @@ -215,7 +208,8 @@ test.serial("Check if properties file is served properly without property settin const readerWriter = resourceFactory.createAdapter({virBasePath: "/"}); const project = { - specVersion: "2.0" + getPropertiesFileSourceEncoding: () => "", + getSpecVersion: () => "2.0" }; return writeResource(readerWriter, "/myFile3.properties", 1024 * 1024, "key=titel\nfame=straße", "utf8", project @@ -278,8 +272,10 @@ test.serial("Check verbose logging", (t) => { stream.push(null); return stream; }, - _project: { - version: "1.0.0" + getProject: () => { + return { + getVersion: () => "1.0.0" + }; }, getPathTree: () => { return { @@ -356,8 +352,10 @@ test.serial.cb("Check if version replacement is done", (t) => { stream.push(null); return stream; }, - _project: { - version: "1.0.0" + getProject: () => { + return { + getVersion: () => "1.0.0" + }; }, getPathTree: () => "" }; @@ -433,8 +431,10 @@ test.serial[ stream.push(null); return stream; }, - _project: { - version: "1.0.0" + getProject: () => { + return { + getVersion: () => "1.0.0" + }; }, getPathTree: () => "" }; diff --git a/test/lib/server/middleware/versionInfo.js b/test/lib/server/middleware/versionInfo.js index 695d5ae6..42607438 100644 --- a/test/lib/server/middleware/versionInfo.js +++ b/test/lib/server/middleware/versionInfo.js @@ -7,34 +7,31 @@ let versionInfoMiddleware = require("../../../../lib/middleware/versionInfo"); function createWorkspace() { return resourceFactory.createAdapter({ virBasePath: "/", - project: { - metadata: { - name: "test.lib" - }, - version: "2.0.0", - dependencies: [ - { - metadata: { - name: "sap.ui.core" - }, - version: "1.0.0" - } - ] - } + project: createProjectMetadata(["test", "lib"]) }); } +const projectCache = {}; + /** * * @param {string[]} names e.g. ["lib", "a"] - * @returns {{metadata: {name, namespace}}} + * @param {string} [version="3.0.0-"] Project version + * @returns {object} Project mock */ -const createProjectMetadata = (names) => { - return { - metadata: { - name: names.join("."), - namespace: names.join("/") - } +const createProjectMetadata = (names, version) => { + const key = names.join("."); + + // Cache projects in order to return same object instance + // AbstractAdapter will compare the project instances of the adapter + // to the resource and denies a write if they don't match + if (projectCache[key]) { + return projectCache[key]; + } + return projectCache[key] = { + getName: () => key, + getNamespace: () => names.join("/"), + getVersion: () => version || "3.0.0-" + key }; }; @@ -42,9 +39,11 @@ const createProjectMetadata = (names) => { * @param {module:@ui5/fs.DuplexCollection} dependencies * @param {module:@ui5/fs.resourceFactory} resourceFactory * @param {string[]} names e.g. ["lib", "a"] + * @param {string} version Project version to write into to the .library * @returns {Promise} */ -async function createDotLibrary(dependencies, resourceFactory, names) { +async function createDotLibrary(dependencies, resourceFactory, names, version) { + const versionTag = version ? `${version}` : ""; await dependencies.write(resourceFactory.createResource({ path: `/resources/${names.join("/")}/.library`, string: ` @@ -53,12 +52,11 @@ async function createDotLibrary(dependencies, resourceFactory, names) { ${names.join(".")} SAP SE - 2.0.0 + ${versionTag} Library ${names.slice(1).join(".").toUpperCase()} - `, - project: createProjectMetadata(names) + ` })); } @@ -104,8 +102,7 @@ const createManifestResource = async (dependencies, resourceFactory, names, deps } await dependencies.write(resourceFactory.createResource({ path: `/resources/${names.join("/")}/manifest.json`, - string: JSON.stringify(content, null, 2), - project: createProjectMetadata(names) + string: JSON.stringify(content, null, 2) })); }; @@ -122,15 +119,11 @@ const createResources = async (dependencies, resourceFactory, names, deps, embed await createManifestResource(dependencies, resourceFactory, names, deps, embeds); }; -function createDependencies(oOptions = { +function createDepWorkspace(names, oOptions = { virBasePath: "/resources" }) { oOptions = Object.assign(oOptions, { - project: { - metadata: { - name: "test.lib3" - }, - version: "3.0.0"} + project: createProjectMetadata(names) }); return resourceFactory.createAdapter(oOptions); } @@ -178,36 +171,50 @@ test.serial("test all inner API calls within middleware", async (t) => { }); versionInfoMiddleware = mock.reRequire("../../../../lib/middleware/versionInfo"); - const dependencies = createDependencies({virBasePath: "/"}); + const dependenciesA = createDepWorkspace(["lib", "a"], {virBasePath: "/"}); + const dependenciesB = createDepWorkspace(["lib", "b"], {virBasePath: "/"}); + const dependenciesC = createDepWorkspace(["lib", "c"], {virBasePath: "/"}); // create lib.a without manifest - await createDotLibrary(dependencies, resourceFactory, ["lib", "a"], [{name: "lib.b"}, {name: "lib.c"}]); + await createDotLibrary(dependenciesA, resourceFactory, ["lib", "a"], [{name: "lib.b"}, {name: "lib.c"}]); // create lib.b with manifest: no manifestCreator call expected - await createResources(dependencies, resourceFactory, ["lib", "b"], []); + await createResources(dependenciesB, resourceFactory, ["lib", "b"], []); // create lib.c without manifest but with dummy files - await createDotLibrary(dependencies, resourceFactory, ["lib", "c"]); + await createDotLibrary(dependenciesC, resourceFactory, ["lib", "c"]); [ // relevant file extensions for manifest creation "js", "json", "less", "css", "theming", "theme", "properties", // other file extensions are irrelevant "html", "txt", "ts" ].forEach(async (extension) => { - await dependencies.write(resourceFactory.createResource({path: `/resources/lib/c/foo.${extension}`})); + await dependenciesC.write(resourceFactory.createResource({path: `/resources/lib/c/foo.${extension}`})); }); - const resources = {dependencies}; - const tree = { - metadata: { - name: "myname" - }, - version: "1.33.7" + const resources = { + dependencies: resourceFactory.createReaderCollection({ + name: "dependencies", + readers: [dependenciesA, dependenciesB, dependenciesC] + }) + }; + const graph = { + getRoot: () => createProjectMetadata(["myname"], "1.33.7"), + getProject: (projectName) => { + if (projectName === "my.project") { + return { + getVersion: () => "project version" + }; + } + return null; + } }; - const middleware = versionInfoMiddleware({resources, tree}); + const middleware = versionInfoMiddleware({resources, graph}); const endStub = sinon.stub(); await middleware( /* req */ undefined, /* res */ {writeHead: function() {}, end: endStub}, - /* next */ function() {}); + /* next */ function(err) { + throw err; + }); t.is(manifestCreatorStub.callCount, 2); t.is(manifestCreatorStub.getCall(0).args[0].libraryResource.getPath(), "/resources/lib/a/.library"); @@ -231,6 +238,10 @@ test.serial("test all inner API calls within middleware", async (t) => { ]); t.deepEqual(manifestCreatorStub.getCall(0).args[0].options, {omitMinVersions: true}); t.deepEqual(manifestCreatorStub.getCall(1).args[0].options, {omitMinVersions: true}); + const projectVersion1 = manifestCreatorStub.getCall(0).args[0].getProjectVersion("my.project"); + t.is(projectVersion1, "project version", "getProjectVersion callback returned expected project version"); + const projectVersion2 = manifestCreatorStub.getCall(1).args[0].getProjectVersion("my.other.project"); + t.is(projectVersion2, undefined, "getProjectVersion callback returned no version of unknown project"); t.is(versionInfoGeneratorStub.callCount, 1); const versionInfoGeneratorOptions = versionInfoGeneratorStub.getCall(0).args[0].options; @@ -270,35 +281,42 @@ test.serial("integration: Library with dependencies and subcomponent complex sce // lib.a.sub.fold => lib.c, lib.d, lib.e // dependencies - const dependencies = createDependencies({virBasePath: "/"}); + const dependenciesA = createDepWorkspace(["lib", "a"], {virBasePath: "/"}); + const dependenciesB = createDepWorkspace(["lib", "b"], {virBasePath: "/"}); + const dependenciesC = createDepWorkspace(["lib", "c"], {virBasePath: "/"}); + const dependenciesD = createDepWorkspace(["lib", "d"], {virBasePath: "/"}); + const dependenciesE = createDepWorkspace(["lib", "e"], {virBasePath: "/"}); // lib.a const embeds = ["sub/fold"]; - await createResources(dependencies, resourceFactory, ["lib", "a"], [{name: "lib.b"}, {name: "lib.c"}], embeds); + await createResources(dependenciesA, resourceFactory, ["lib", "a"], [{name: "lib.b"}, {name: "lib.c"}], embeds); // sub - await createManifestResource(dependencies, resourceFactory, ["lib", "a", "sub", "fold"], [{name: "lib.c"}]); + await createManifestResource(dependenciesA, resourceFactory, ["lib", "a", "sub", "fold"], [{name: "lib.c"}]); // lib.b - await createResources(dependencies, resourceFactory, ["lib", "b"], [{name: "lib.c", lazy: true}]); + await createResources(dependenciesB, resourceFactory, ["lib", "b"], [{name: "lib.c", lazy: true}]); // lib.c - await createResources(dependencies, resourceFactory, ["lib", "c"], [{name: "lib.d"}, {name: "lib.e", lazy: true}]); + await createResources(dependenciesC, resourceFactory, ["lib", "c"], [{name: "lib.d"}, {name: "lib.e", lazy: true}]); // lib.d - await createResources(dependencies, resourceFactory, ["lib", "d"], [{name: "lib.e"}]); + await createResources(dependenciesD, resourceFactory, ["lib", "d"], [{name: "lib.e"}]); // lib.e - await createResources(dependencies, resourceFactory, ["lib", "e"], []); + await createResources(dependenciesE, resourceFactory, ["lib", "e"], []); // create middleware - const resources = {dependencies}; - const tree = { - metadata: { - name: "myname" - }, - version: "1.33.7" + const resources = { + dependencies: resourceFactory.createReaderCollection({ + name: "dependencies", + readers: [dependenciesA, dependenciesB, dependenciesC, dependenciesD, dependenciesE] + }) + }; + + const graph = { + getRoot: () => createProjectMetadata(["myname"], "1.33.7") }; - const middleware = versionInfoMiddleware({resources, tree}); + const middleware = versionInfoMiddleware({resources, graph}); const expectedVersionInfo = { "name": "myname", @@ -317,6 +335,7 @@ test.serial("integration: Library with dependencies and subcomponent complex sce } } }, + "version": "3.0.0-lib.a", }, { "name": "lib.b", @@ -336,6 +355,7 @@ test.serial("integration: Library with dependencies and subcomponent complex sce } } }, + "version": "3.0.0-lib.b", }, { "name": "lib.c", @@ -348,6 +368,7 @@ test.serial("integration: Library with dependencies and subcomponent complex sce } } }, + "version": "3.0.0-lib.c", }, { "name": "lib.d", @@ -359,10 +380,12 @@ test.serial("integration: Library with dependencies and subcomponent complex sce } } }, + "version": "3.0.0-lib.d", }, { "name": "lib.e", "scmRevision": "", + "version": "3.0.0-lib.e", }], "components": { "lib.a.sub.fold": { @@ -387,8 +410,8 @@ test.serial("integration: Library with dependencies and subcomponent complex sce await assertCreatedVersionInfo(t, expectedVersionInfo, versionInfoContent); } }; - const next = function() { - t.fail("should not be called."); + const next = function(err) { + throw err; }; await middleware(undefined, res, next); diff --git a/test/lib/server/ports.js b/test/lib/server/ports.js index 5b05ead2..1fbd19bc 100644 --- a/test/lib/server/ports.js +++ b/test/lib/server/ports.js @@ -2,27 +2,26 @@ const test = require("ava"); const supertest = require("supertest"); const ui5Server = require("../../../"); const server = ui5Server.server; -const normalizer = require("@ui5/project").normalizer; const http = require("http"); const portscanner = require("portscanner"); const sinon = require("sinon"); +const generateProjectGraph = require("@ui5/project").generateProjectGraph.usingNodePackageDependencies; let serve; // Start server before running tests -test.before((t) => { - return normalizer.generateProjectTree({ +test.before(async (t) => { + const graph = await generateProjectGraph({ cwd: "./test/fixtures/application.a" - }).then((tree) => { - return server.serve(tree, { - port: 3335 - }).then((serveResult) => { - serve = serveResult; - }); + }); + + serve = await server.serve(graph, { + port: 3335 }); }); test.after(() => { + sinon.restore(); return new Promise((resolve, reject) => { serve.close((error) => { if (error) { @@ -46,13 +45,12 @@ test("Start server - Port is already taken and an error occurs", async (t) => { resolve(); }); nodeServer.listen(port); - }).then(() => { - return normalizer.generateProjectTree({ + }).then(async () => { + const graph = await generateProjectGraph({ cwd: "./test/fixtures/application.a" - }).then((tree) => { - return server.serve(tree, { - port: port - }); + }); + await server.serve(graph, { + port }); }); @@ -97,30 +95,29 @@ test("Start server together with node server - Port is already taken and the nex resolve(); }); nodeServer.listen(port); - }).then(() => { - return normalizer.generateProjectTree({ + }).then(async () => { + const graph = await generateProjectGraph({ cwd: "./test/fixtures/application.a" - }).then((tree) => { - return server.serve(tree, { - port: port, - changePortIfInUse: true - }).then((serveResult) => { - t.deepEqual(serveResult.port, nextFoundPort, "Resolves with correct port"); - const request = supertest(`http://localhost:${nextFoundPort}`); - return request.get("/index.html").then((res) => { - if (res.error) { - t.fail(res.error.text); - } - t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); - nodeServer.close(); - serveResult.close(); - }); - }); + }); + const serve = await server.serve(graph, { + port, + changePortIfInUse: true + }); + + t.deepEqual(serve.port, nextFoundPort, "Resolves with correct port"); + const request = supertest(`http://localhost:${nextFoundPort}`); + return request.get("/index.html").then((res) => { + if (res.error) { + t.fail(res.error.text); + } + t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); + nodeServer.close(); + serve.close(); }); }); }); -test.serial("Start server - Port can not be determined and an error occurs", (t) => { +test.serial("Start server - Port can not be determined and an error occurs", async (t) => { t.plan(2); const portscannerFake = function(port, portMax, host, callback) { return new Promise((resolve) => { @@ -130,10 +127,10 @@ test.serial("Start server - Port can not be determined and an error occurs", (t) }; const portScannerStub = sinon.stub(portscanner, "findAPortNotInUse").callsFake(portscannerFake); - const startServer = normalizer.generateProjectTree({ + const startServer = generateProjectGraph({ cwd: "./test/fixtures/application.a" - }).then((tree) => { - return server.serve(tree, { + }).then((graph) => { + return server.serve(graph, { port: 3990, changePortIfInUse: true }); @@ -170,10 +167,10 @@ test("Start server - Port is already taken and an error occurs because no other } const startServer = Promise.all(serversStart).then(() => { - return normalizer.generateProjectTree({ + return generateProjectGraph({ cwd: "./test/fixtures/application.a" - }).then((tree) => { - return server.serve(tree, { + }).then((graph) => { + return server.serve(graph, { port: portStart, changePortIfInUse: true }); @@ -215,19 +212,19 @@ test("Start server twice - Port is already taken and the next one is used", (t) t.plan(3); const port = 3380; const nextFoundPort = 3381; - return normalizer.generateProjectTree({ + return generateProjectGraph({ cwd: "./test/fixtures/application.a" - }).then((tree) => { - return server.serve(tree, { + }).then((graph) => { + return server.serve(graph, { port: port, changePortIfInUse: true }); }).then((serveResult1) => { t.deepEqual(serveResult1.port, port, "Resolves with correct port"); - return normalizer.generateProjectTree({ + return generateProjectGraph({ cwd: "./test/fixtures/application.a" - }).then((tree) =>{ - return server.serve(tree, { + }).then((graph) =>{ + return server.serve(graph, { port: port, changePortIfInUse: true }).then((serveResult2) => {