Manual tests for Core
Guidelines for documenting the manual tests:
- Summarize the elements covered in the test
- Enumerate the steps (ordered list)
- Call out test points with a TEST bullet
- Include screenshots as appropriate; many of the manual tests will be visual, so screenshots are helpful
modproxy CLI task
Click for instructions on running tests
| Test | Status | Tester |
| modproxy generate task | | |
| modproxy merge task | | |
| Use generated config to route using Apache mod_proxy | | |
Parallel Recycle
Steps:
- Create a Zero Application
- Add the following zero.config
- /config/zso/recycle/inParallel=true
- /config/zso/recycle/maxRequests = 3
- /config/zso/recycle/development/maxRequests = 3
- /config/zso/recycle/production/maxRequests = 3
- start the zero application with "zero start -fg"
- Execute 3 http requests to the application.
- Observing the output you should see something like the following
state for 0 is 10
id 0 state 20 current position is 0 num bytes read 1. chars 20
state for 0 is 20
id 0 state 32 current position is 0 num bytes read 1. chars 32
state for 0 is 32
Virtual-directory browser
Tests confirm:
- Basic functionality of the Virtual-directory browser
- Works with arbitrary context root
Steps:
- Create a Zero application
- Edit config/ivy.xml within the application and add the following line to the dependencies section:
<dependency name="zero.core.webtools" org="zero" rev="[1.0.0.0, 2.0.0.0["/>
- Save ivy.xml do "zero update" and "zero start" to start the application
- Browse to http://localhost:8080/zero/webtools/browser.gt
- TEST: Confirm page shows Zero styling
- TEST: Confirm files are accessible via tree controls
- TEST: Confirm each file also shows the source dependency. For example, index.gt should show a source dependency on zero.core.webtools.
- TEST: Confirm that directory names are incremental as tree labels (e.g.
zero (not public/zero) is a child of public)
- Set a context root by adding the following to the application's
config/zero.config file:
/config/contextRoot="/foo/bar"
- Restart the application
- TEST: Confirm "Error during request setup" error is returned when browsing to http://localhost:8080/zero/webtools/browser.gt
- Browse to http://localhost:8080/foo/bar/zero/webtools/browser.gt
JavaDoc completion
Tests confirm:
- Complete and meaningful JavaDoc is available for all classes and methods.
Steps:
- Read each page of JavaDoc in the sections of the developer's guide. There is no objective test we can perform aside from ensuring there is at least some text; the tester is mainly responsible for ensuring the text is of sufficient quality, and if not, finding the maintainers (via SVN) and asking them to fix it.
CLI verification
Tests confirm:
- Verify that an application can be created, and started
Steps:
- Create an application using the CLI using "zero create myapp"
- Cd into myapp directory
- Check the status of the application using "zero status", and verify the result is "Application status is STOPPED"
- Start the application by issuing "zero start", and verify the result is "Application started and servicing requests at http://localhost:8080/"
- Check the status of the application using "zero status", and verify the result is ,"Application status is STARTED"
- Verify that the page can be accessed through the browser or cmdLine tool. e.g. wget, curl, at http://localhost:8080
- Check the status of the application using "zero status", and verify the result is "Application status is STARTED"
- Check the statistics for the application using "zero stats", and verify the result is something similar to:
{"monitoredStats":{"requestStats":{"totalFailedRequests":1,"instanceFailedRequests":1,"totalRequests":15,"instanceRequests":15,"averageInstanceRequestTime":137},"resourceStats"{"instanceResidentMemory":50925568,"pid":"740","totalUpTime":37,"instanceUpTime":37,"cpuUtilSinceInstanceStart":2875},"jvmStats":{"heapCommitted":7968,"garbageCollectTime":282,"activeThreads":12,"nonHeapUsed":22754,"heapMax":982232,"heapUsed":5636,"garbageCollectCount":21}}}
- Recycle the application using "zero recycle"
- Check the status of the application using "zero status", and verify the result is "Application status is STARTED"
- Stop the application by issuing "zero stop"
- Check the status of the application using "zero status", and verify the result is "Application status is STOPPED"
Groovy Error Handling
Tests confirm:
- Verify that Groovy errors are reported correctly
Steps:
1. Create a new application.
2. Create the following files:
new bar()
new baz()
class foo1 {
}
class foo2 {
3. Launch the application.
4.
TEST Open
http://localhost:8080/test1.groovy in a browser. You should see a message that contains:
"Compilation incomplete: expected to find the class bar..."
5.
TEST Open
http://localhost:8080/test2.groovy in a browser. You should see a message that contains:
".../app/scripts/baz.groovy has 1 compile error(s)"
6.
TEST You should also see a table that contains the source code from the file. The bottom of the
table should be a message that contains:
"unexpected token: null ..."
Security Manual Tests
Perform all of the manual tests for
Security
Samples Manual Tests
Perform all of the manual tests for the
Samples
Data Manual Tests
Perform all of the manual tests for
Data
Zero Dojo Tests
Perform all the manaul tests fro
Zero Dojo
CLI Manual Tests
Perform all of the manual tests for the
CLI
Installer Manual Tests
Perform all of the manual tests for the
Installer
Excel upload service
- Create an Excel file with more than 40 rows according to the layout in the documentation for the Excel service ( http://www.projectzero.org/zero/silverstone/latest/docs/zero.devguide.doc/excelservice/ExcelServices.html ). The first row should have the names of the fields.
- Create an application with a dependency to the excelservice module. Resolve and start the application
- Go to the excel upload page of the application (http://localhost:8080/excel.html). Upload the excel file, provide a resource name
- Verify that the data is rendered on the page after the upload succeeds. Also ensure that the model file is created in the /app/models directory.