You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by pa...@apache.org on 2017/03/11 10:43:02 UTC
polygene-java git commit: Add a basic automated test for the yeoman
generator
Repository: polygene-java
Updated Branches:
refs/heads/develop 0c7ee1909 -> a2736a6df
Add a basic automated test for the yeoman generator
npm based only
follows yeoman doc: http://yeoman.io/authoring/testing.html
to run the test:
cd tools/generator
npm install
npm test
The test generates an application and run ./gradlew build in it
It currently fails with a compilation error
Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/a2736a6d
Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/a2736a6d
Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/a2736a6d
Branch: refs/heads/develop
Commit: a2736a6dffd1b67ba940b22ec4cc531e2119a707
Parents: 0c7ee19
Author: Paul Merlin <pa...@apache.org>
Authored: Sat Mar 11 11:42:37 2017 +0100
Committer: Paul Merlin <pa...@apache.org>
Committed: Sat Mar 11 11:42:37 2017 +0100
----------------------------------------------------------------------
.../templates/DomainLayer/DomainModule/module.js | 2 +-
tools/generator-polygene/package.json | 10 ++++++++++
tools/generator-polygene/test/generator_test.js | 19 +++++++++++++++++++
3 files changed, 30 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a2736a6d/tools/generator-polygene/app/templates/DomainLayer/DomainModule/module.js
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/app/templates/DomainLayer/DomainModule/module.js b/tools/generator-polygene/app/templates/DomainLayer/DomainModule/module.js
index 3aea91c..0c6f1eb 100644
--- a/tools/generator-polygene/app/templates/DomainLayer/DomainModule/module.js
+++ b/tools/generator-polygene/app/templates/DomainLayer/DomainModule/module.js
@@ -1,7 +1,7 @@
module.exports = {
write: function (p) {
-
+ if(!p.modules) return;
Object.keys(p.modules).forEach(function (moduleName, index) {
copyPolygeneDomainModule(p, moduleName, p.modules[moduleName])
});
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a2736a6d/tools/generator-polygene/package.json
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/package.json b/tools/generator-polygene/package.json
index 25e2d02..d410b9e 100644
--- a/tools/generator-polygene/package.json
+++ b/tools/generator-polygene/package.json
@@ -2,6 +2,9 @@
"name": "generator-polygene",
"version": "0.1.0",
"description": "",
+ "scripts": {
+ "test": "./node_modules/mocha/bin/mocha test/**/*_test.js"
+ },
"files": [
"app"
],
@@ -10,5 +13,12 @@
],
"dependencies": {
"yeoman-generator": "^0.24.1"
+ },
+ "devDependencies": {
+ "mocha": "3.2.0",
+ "path": "0.12.7",
+ "shelljs": "0.7.7",
+ "yeoman-assert": "3.0.0",
+ "yeoman-test": "1.6.0"
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a2736a6d/tools/generator-polygene/test/generator_test.js
----------------------------------------------------------------------
diff --git a/tools/generator-polygene/test/generator_test.js b/tools/generator-polygene/test/generator_test.js
new file mode 100644
index 0000000..0e8ef8b
--- /dev/null
+++ b/tools/generator-polygene/test/generator_test.js
@@ -0,0 +1,19 @@
+var path = require('path');
+var helpers = require('yeoman-test');
+var assert = require('yeoman-assert');
+var shell = require('shelljs');
+
+// See http://yeoman.io/authoring/testing.html
+describe('polygene-generator', function () {
+ it('generates a buildable gradle project', function () {
+ return helpers.run(path.join(__dirname, '../app'))
+ .withPrompts({
+ name: 'test-project',
+ packageName: 'org.apache.polygene.generator.test'
+ })
+ .then(function(dir) {
+ assert.file(['gradlew', 'settings.gradle', 'build.gradle']);
+ assert(shell.exec(path.join(dir, 'gradlew') + ' build').code == 0);
+ });
+ });
+});