Projects:Store Server Continuous Integration Environment
Contents |
Introduction
Create a continuous integration job which runs several tests in a multi-server environment with one store server and one central server with symmetric DS enabled/installed for replication.
The proposal:
- weekly job
- in ci start 2 servers: one central server, one store server
- do install.source on each of them using a central dataset and store dataset
- start both systems
- run selenium test cases on store server, the selenium java code should have access to both the store as well as the central server database
The store server team will provide the following:
- The set of modules to install on the central and store server. This includes the data module (modules with specific client data for store/central).
- The ant command to run the selenium testcases to run on the store server.
The testcases which are to be implemented can initially cover a basic flow:
- create a ticket
- create/update customer
- cashup
The tests should test that the data is created on both servers. In addition test cases should be added to test that messages can be send to/from a store server as is described here
Concrete Approach
Installation/configuration:
- Install 2 servers, central and store server, each having core retail and sample data of retail and retail-test
- create a new module which contains the multi-server setup (as client data) for the store and central server
- add symmetric ds configuration file for the store server/
- central server and store server: core retail with retail and retail test sample data and symmetric ds and store server modules
- create a module which contains multi-server setup client data, instal on both central and store
- adapt test project to be able to define the database information of the central server, add some util methods to connect to the central database easily and execute sql statements there.
Initial testcases:
- run default create ticket test on webpos with selenium, then check that the ticket arrives in both central and store server database
- update a product directly in central database using an update sql statement, then check that the update arrives automatically in the store server and in webpos
- do the same for a bp change
Open topic:
- the mobile server definition requires specific ip-addresses/host names. These are included 'hardcoded' in the client dataset of the test module. But when using amazon or other systems to install the multi-server test environment the the ip-addresses of the central and store server can change. So maybe we need a configuration script to update ip-address in the client data before building the test environment.
Related Documentation
- http://wiki.openbravo.com/wiki/Retail:Store_Server#Developer_Guide
- http://wiki.openbravo.com/wiki/Retail:Store_Server#Data_Sync_.26_Replication