Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
h3. Introduction

This smoke test just consists of running a demo app.  The app in question, {{

Introduction

...

trunk/support/prototype}}, I'm hoping will become the basis for an archetype (at which point I'll change this page to start instead with running that archetype).

...



The following assumes that you've successfully built Isis, see [BuildProcess] if not

...

Loading the Demo App (into Eclipse)

In Eclipse, import the projects into Eclipse:

  • File > Import > Maven > Existing Maven Projects
    • browse to trunk/support/prototype
    • specify the Advanced > Name Template = groupId.artifactId
      • otherwise the project names in launch configs will be wrong.
    • Refresh
    • OK
  • Project > Build All
    • (or just turn on Project > Build Automatically)

Running the Demo App

...

Viewer

...

quickrun project

...

WAR project

...

Other type of project

...

Notes

...

DnD

.  NB: you'll also need to have built the 'release' module (using {{{mvn clean install -D modules=release}}}).

h3. Loading the Demo App (into Eclipse)

In Eclipse, import the projects into Eclipse:

* File > Import > Maven > Existing Maven Projects
** browse to {{trunk/support/prototype}}
** specify the Advanced > Name Template = [groupId].[artifactId]
*** otherwise the project names in launch configs will be wrong.
** Refresh
** OK
* Project > Build All
** (or just turn on Project > Build Automatically)

h3. Running the Demo App


|| Viewer || {{quickrun}} project || WAR project || Other type of project || Notes ||
| DnD | {{ide/eclipse/launch/prototype_quickrun_dnd.launch

...

 

...

 

...

EmployeeTakeOn not supported

...

HTML

}} | | | EmployeeTakeOn not supported |
| HTML | {{ide/eclipse/launch/prototype_quickrun_html.launch

...

}} | {{viewer-html

...

 

...

}} | | for quickrun, browser to [http://localhost:8080/logon.app

...

Restful

] |
| Restful | {{ide/eclipse/launch/prototype_quickrun_restful.launch

...

}} | {{viewer-restful

...

 

...

}} | | for quickrun, browser to [http://localhost:8080

...

Wicket

...

 

...

viewer-wicket

...

 

...

 

...

Scimpi

...

 

...

viewer-scimpi

...

 

...

 

...

JUnit Tests

...

src/test/java

...

 

...

viewer-junit

...

Runs as a JUnit test

...

BDD (Concordion)

...

 

...

 

...

viewer-bdd

...

Runs as a JUnit test, see 'BDD Viewer' project below

Quick Run Project

...

] |
| Wicket | | {{viewer-wicket}} | | |
| Scimpi | | {{viewer-scimpi}} | | |
| JUnit Tests | {{src/test/java}} | | {{viewer-junit}} | Runs as a JUnit test |
| BDD (Concordion) | | | {{viewer-bdd}} | Runs as a JUnit test, see 'BDD Viewer' project below |

h5. Quick Run Project

Some of the viewers have launch configs within {{quickrun}} project, in {{ide/eclipse/launch}}.  These launch configs run {{org.apache.isis.Isis \--viewer xxx}}.

...



In addition, the {{src/test/java}} demonstrates how the JUnit viewer can be used, wrapping each domain object in order to enforce the same rules that the viewers enforce.  This can be run either:

...


* in Eclipse, right-click on the {{viewer-bdd} project and select _Run As>Junit Tests

...

_
* in Maven, just {{mvn clean

...

WAR Projects

...

 test}}

h5. WAR Projects

All of the webapp-based viewers have their own WAR project.  The app can be started in one of several ways:

...


* using the launch configuration {{ide/eclipse/launch/prototype_xxx.launch

...

}}
** where {{xxx}} is _html_, _restful_, _wicket_, _scimpi_
** this just runs {{org.apache.isis.WebServer}} which boots up Jetty with the {{web.xml

...

}}
** browse to [http://localhost:8080

...

]
* using {{mvn jetty:run

...

}}
** will need to run {{mvn clean install}} for the parent project first
** cd into the support/prototype directory and do {{mvn install}}
** cd into a viewer directory beneath this, eg {{cd viewer_scimpi}}
** start the web server: {{mvn jetty:run}}
** browse to [http://localhost:8080] and click the link for the viewer you chose, eg [/prototype-viewer-scimpi|http://localhost:8080/prototype-viewer-scimpi]. The Wicket viewer needs a username / password of sven / pass

...


* as an Eclipse WTP Server project

...



h5. BDD Viewer Project

...



The BDD viewer provides an integration between [Concordion|http://concordion.org] and Isis.  A little background is probably in order:

...


* Concordion allows the business analysts to specify the required behaviour of the system using XHTML; the developer then annotates the XHTML using {{concordion:xx

...

}} attributes
* these annotations allow the developer to identify inputs (the "givens") the methods to call to exercise the system under test (the "when") and to make assertions on the resultant state of the system (the "thens")

...


* the results of the test are shown in a copy of the original test script, with assertions coloured to indicate whether they succeeded or failed

...



Normally the developer is required to write the methods to be called themselves; these are in test classes that then exercise the system.  The Isis/Concordion integration however provides an abstract JUnit test case whose methods can be called out-of-the-box.  These methods are enough to simulate the set of actions provided by any Isis viewer.

...



To try out the viewer:

...


* in Eclipse, right-click on the {{viewer-bdd} project and select _Run As>Junit Tests

...

_
** the output will be in {{/tmp/concordion/org/apache/isis/support/prototype/stories

...

}}
* in Maven, just {{mvn clean test}}