Week 13 — August 21, 2016

Week 13

In this week I have worked on fixing some simple bugs.

I have spent some time on discussing about future plans for OpenMRS DHIS2 Module with project mentor Maurya. I have asked him for the feedback on my work and it was really helpful.

This summer has been a great time and I would love to work on this module in future. I have plans to continue contributing to OpenMRS.

Week 12 — August 14, 2016

Week 12

This is the last working  week of this GSoC project. In this week I have worked on writing test case for HTTPDHIS2Server and DHIS2ReportingServiceImpl. I recreated the PR and tried to test the server using Mockito. The PR is not merged yet but you can find the PR here.

With this PR I have completed the GSoC project. It has been fun to work on this project. The new features which I added are really cool and I wish to work on this module in future.

Week 11 — August 8, 2016

Week 11

In this week I have worked on writing test case for HttpDhis2Server.java . This class presented a opportunity for learning a new concept. Mockito.  I got to learn about mocking object and how and why to mock the objects.

Here in the case of HttpDhis2Server I had to test the external web api(DHIS2 WEB API). I created a mock object of this class and tested it.

You can find the PR here. Apart from that I have worked on writing test case for IMPL package. I have reached at a point where I need help from other community member. Currently I am trying to work with other developers regarding the same.

Week 10 — August 1, 2016

Week 10

This week I worked on writing Test cases for packages org.openmrs.module.dhisreport.api.adx , org.openmrs.module.dhisreport.api.importsummary and org.openmrs.module.dhisreport.api.impl .

In these packages first two packages I have just used marshalling and unmarshalling techniques.  I have tried to test every important aspect of the package.

The org.openmrs.module.dhisreport.api.impl has the logic of the module. I have not completely finished with the testing of this module.

This week I will be working on writting test cases for  HttpDhis2Server.java and HibernateDHIS2ReportingDAO.java

GSoC Week 8 and 9 — July 25, 2016

GSoC Week 8 and 9

Unfortunately I could not write the blog in last week because I was travelling to Mumbai for Medical Reasons. So, This is a combined blog for both the blogs.

In Week 8 I continued my work on writing test cases. The method EvaluateReportDefinition is used to Evaluate the report definition(which is imported in OpenMRS instance). I am trying to use a already written report definition to test the method using the org.springframework.core.io.ClassPathResource  library. 

This week I have tried to finish up the test cases. Here are few observations related to the test cases which has already been written.

  1. Many test cases have @ignore tag.
  2. There is an error where DHIS2ReportingService.class is used

Maurya and I have fixed a meeting on Monday to fix the issue and I hope to complete the issue in coming week.

GSoC Week:7 — July 10, 2016

GSoC Week:7

In this week I have invested my time in completing the Test Cases for the Package org.openmrs.module.dhisreport.api.impl. 

The package has presented the many challenges as it has lots of variation in terms of Uses.

The package has not yet failing any edge cases, so the necessity for any change in the code has not arise.

I am still searching some more edge cases. In next week I will be working on other package.

GSoC Week:6 — July 4, 2016

GSoC Week:6

In this week I have worked mostly on writing test cases for the package org.openmrs.module.dhisreport.api.impl.  

The package requires good understanding of the working of MVC Pattern along with OpenMRS API.

The few methods, for which I am writing the test cases are

  • evaluateReportDefinition
  • generateReportingReportDefinition
  • saveReportTemplates
  • unMarshallandSaveReportTemplates
  • getLocationByOrgUnitCode

The work on these module is not complete yet, but I am looking forward to complete it by the end of this week.

GSoC Week:5 — June 26, 2016

GSoC Week:5

This week I have worked mostly on improving documentation, creating a video demonstrating the work done till now and Writing the test cases for the package


The documentation is uploaded on OpenMRS Talk. The video needs some editing and I would be posting it soon. I have made some progress on the the test cases and next week I will be focusing more on it.

In the last meeting, It was decided that we need to improve documentation and wiki.  So in the next week I’ll be working on improving the wiki and writing the test cases.

GSoC Week:4 — June 19, 2016

GSoC Week:4

Week 4 has finally finished and we enter into Mid Term Evaluation week. This week I devoted to write Documentations and test cases.

I wrote a test case for org.openmrs.module.dhisreport.api.adx package. The test cases for the package can be found here.

The following things are implemented :

1.Test connectivity of OpenMRS instance with DHIS2 instance.

2. Import Report Definitions from DHIS2 instance.

3. Map OpenMRS Location with DHIS2 ORG Units.

4. View Mapped OpenMRS locations.

The documentation for these features can be found here.

Next I’ll be preparing a video demonstrating my work.

GSoC week:3 — June 10, 2016

GSoC week:3

In this week, I mostly did research on DHIS2 Report Module API and writing test cases for API.

Few of my finding are as follows:

  1. There are 4 packages with extensive test cases written for them.
  2. 2 Packages help in Marshaling and Unmarshalling. Test cases should be written for them.
  3. Following packages need the test cases to be written for
  • org.openmrs.module.dhisreport.api.adx
  • org.openmrs.module.dhisreport.api.db.hibernate
  • org.openmrs.module.dhisreport.api.dhis
  • org.openmrs.module.dhisreport.api.impl
  • org.openmrs.module.dhisreport.api.importsummary
  • org.openmrs.module.dhisreport.api.syncmodel
  • org.openmrs.module.dhisreport.scheduler

In the next week I’ll be working on writing documentations and test cases.