For each ETL (Parcels and Streets) the following cases should be tested (best done in order):
- FME Job does not exist: Change the job name in config_jobs.py to a name of a job that does not exist; run ETL staging job, which should halt with message saying job does not exist
- FME Job Status is not successful: Start and abort the job in FME server. Run ETL staging job, which should halt saying that job did not complete successfully
- FME Job is queued: Get job into FME server queue by starting the required # of other jobs (currently 2) then start the job you are testing. Run ETL staging job, which should halt saying that the FME job is currently queued
- FME Job is running: Kill the other jobs so that the job you are interested in begins running. While it is running, run the ETL staging job which should halt saying that the FME job is currently running. Allow the FME job to run to completion before testing remaining cases
- FME Job Id in EAS is null: Set fme_server_job_id on last committed etl_job record in EAS for the given type (parcels/streets) to be null. Run ETL staging job, which should stage the latest data for EAS
- FME Job Id in EAS is lower than latest: Set fme_server_job_id on last committed etl_job record in EAS for the given type (parcels/streets) to be less than the id of the last ETL job from FME. Run ETL staging job, which should stage the latest data for EAS
- Commit ETL with new data: Run ETL commit job; new data should now be in EAS
- FME Job Id in EAS is the same as the latest: Run ETL staging job; FME Job Id should now be equal to latest job id in EAS so no new data will be staged
- Commit ETL with no new data: Run ETL commit job, no new data should appear in EAS
Add Comment