nickwallen opened a new pull request #1465: METRON-2172 Solr Updates Not Tested 
in Integration Test
URL: https://github.com/apache/metron/pull/1465
 
 
   The `SolrUpdateIntegrationTest` is not testing that the `SolrDao` can update 
and retrieve values. This fix is similar to what was done for Elasticsearch in 
#1451.
   
   This replaces #1454 which was a more involved refactor that fixed some 
issues with code duplication and provided additional unit tests.  I am going to 
break-off just the bare minimum of what we need to fix the broken tests, rather 
than fix and refactor in the same PR.
   
   ### What?
   This gap in the integration test is hiding a couple bugs.  
   
   1. A timestamp is not being populated in the documents returned from Solr.
   
   1. The integration test is not accounting for the fact that comments are 
serialized differently when written to Solr versus Elasticsearch.  When 
comments are written to Solr, they are serialized as a list of JSON strings.  
When comments are written to Elasticsearch, they are serialized as a list of 
maps.
   
   ### Why? 
   These problems arise because of the way the test is setup.  Instead of 
directly testing a `SolrDao` this test runs against a `MultiIndexDao` 
initialized with both a `SolrDao` and an `HBaseDao`. On retrievals the 
`MultIndexDao` will return the document from whichever index responds first.
   
   With the current test setup, the underlying `SolrDao` will never retrieve 
the document that the test case is expecting.  In all cases where the test 
passes, the document is actually being returned from the `HBaseDao` which is 
actually just interacting with a mock backend.  The test needs to actually test 
that we can update and retrieve documents from Elasticsearch.
   
   ### Changes
   
   1. The `SolrUpdateIntegrationTest` was changed so that it specifically tests 
a `SolrDao`.
   
   1. The `UpdateIntegrationTest` was changed so that it can handle comments 
stored as either strings or maps.  This allows the same integration tests to 
continue to work when run against either Solr or Elasticsearch.
   
   ### Acceptance Testing
   
   - [ ] Validate against Elasticsearch.
       1. Spin-up Full Dev with Elasticsearch running.
       1. Ensure alerts are visible in the Alerts UI.
       1. Add a comment to an alert.
   
   - [ ] Validate against Solr.
       1. Spin-up Full Dev with Solr running.
       1. Ensure alerts are visible in the Alerts UI.
       1. Add a comment to an alert.
   
   ## Pull Request Checklist
   - [x] Is there a JIRA ticket associated with this PR? If not one needs to be 
created at [Metron 
Jira](https://issues.apache.org/jira/browse/METRON/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel).
   - [x] Does your PR title start with METRON-XXXX where XXXX is the JIRA 
number you are trying to resolve? Pay particular attention to the hyphen "-" 
character.
   - [x] Has your PR been rebased against the latest commit within the target 
branch (typically master)?
   - [x] Have you included steps to reproduce the behavior or problem that is 
being changed or addressed?
   - [x] Have you included steps or a guide to how the change may be verified 
and tested manually?
   - [x] Have you ensured that the full suite of tests and checks have been 
executed in the root metron folder via:
   - [x] Have you written or updated unit tests and or integration tests to 
verify your changes?
   - [x] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)?
   - [ ] Have you verified the basic functionality of the build by building and 
running locally with Vagrant full-dev environment or the equivalent?
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to