Solr
  1. Solr
  2. SOLR-3826

Allow unit test classes to specify core name during setup

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 4.0-BETA
    • Fix Version/s: 4.0
    • Component/s: Build
    • Labels:
      None

      Description

      When creating a unit test extending SolrTestCaseJ4, the corename is forced to "collection1" which can be problematic if you want to do unit tests relying on schema/solrconfig specific to a core. Rather than hard-coding to "collection1" allow this to be specified in the initCore method.

      1. SOLR-3826_1.patch
        4 kB
        Amit Nithian
      2. SOLR-3826.patch
        3 kB
        Amit Nithian

        Issue Links

          Activity

          Hide
          Amit Nithian added a comment -

          Simple patch demonstrating what I am talking about. Hopefully not too problematic

          Show
          Amit Nithian added a comment - Simple patch demonstrating what I am talking about. Hopefully not too problematic
          Hide
          Hoss Man added a comment -

          Concept looks sound, but i'd like to replace that test specific "collection1" constant with a refrence to the existing place where it's defined as the default collection name (in CoreContainer i believe) as well as add some javadocs to the test harness/baseclass about the assumption.

          Amit: if you'd like to take a stab at those improvements before i get a chance, that would be awesome

          Show
          Hoss Man added a comment - Concept looks sound, but i'd like to replace that test specific "collection1" constant with a refrence to the existing place where it's defined as the default collection name (in CoreContainer i believe) as well as add some javadocs to the test harness/baseclass about the assumption. Amit: if you'd like to take a stab at those improvements before i get a chance, that would be awesome
          Hide
          Amit Nithian added a comment -

          HossMan: Sure I'll take a stab at this. I didn't know this was a constant so I'll give a shot to find it and reference it. Are there any existing docs about how to create tests with Solr? I found there was some discussion on the mailing list. I'm happy to take a first pass at this if you think it'd help.

          Show
          Amit Nithian added a comment - HossMan: Sure I'll take a stab at this. I didn't know this was a constant so I'll give a shot to find it and reference it. Are there any existing docs about how to create tests with Solr? I found there was some discussion on the mailing list. I'm happy to take a first pass at this if you think it'd help.
          Hide
          Hoss Man added a comment -

          I didn't know this was a constant so I'll give a shot to find it and reference it.

          yeah, it dates back to the fact that solr will still work with "pre-multicore" solr home dirs that are really just single SolrCore instance dirs – in which case it refers to the core as "collection1" ... the constant you want is CoreContainer.DEFAULT_DEFAULT_CORE_NAME (which this test code should have been using in the first place, but as long as we're touching it let's fix it)

          Are there any existing docs about how to create tests with Solr? I found there was some discussion on the mailing list. I'm happy to take a first pass at this if you think it'd help.

          As far as i know the only docs are the javadocs in the base classes and test harness – if you'd like to take a stab at adding useful content to solr/test-framework/src/java/overview.html that would be awesome! (but perhaps deal with thta in a separate jira/patch so it doesn't hold up this already useful fix?)

          Show
          Hoss Man added a comment - I didn't know this was a constant so I'll give a shot to find it and reference it. yeah, it dates back to the fact that solr will still work with "pre-multicore" solr home dirs that are really just single SolrCore instance dirs – in which case it refers to the core as "collection1" ... the constant you want is CoreContainer.DEFAULT_DEFAULT_CORE_NAME (which this test code should have been using in the first place, but as long as we're touching it let's fix it) Are there any existing docs about how to create tests with Solr? I found there was some discussion on the mailing list. I'm happy to take a first pass at this if you think it'd help. As far as i know the only docs are the javadocs in the base classes and test harness – if you'd like to take a stab at adding useful content to solr/test-framework/src/java/overview.html that would be awesome! (but perhaps deal with thta in a separate jira/patch so it doesn't hold up this already useful fix?)
          Hide
          Amit Nithian added a comment -

          Sounds good! Let me get together a new patch for this and work on the documentation piece as a separate patch as per your suggestion.

          Show
          Amit Nithian added a comment - Sounds good! Let me get together a new patch for this and work on the documentation piece as a separate patch as per your suggestion.
          Hide
          Amit Nithian added a comment -

          Second pass on patch after HossMan's suggestions.

          Show
          Amit Nithian added a comment - Second pass on patch after HossMan's suggestions.
          Hide
          Hoss Man added a comment -

          Thanks Amit!

          I committed your patch along with a few more method level javadocs and fixed one more place where TestHarness was using a "collection1" literal.

          Committed revision 1384872.
          Committed revision 1384877. - 4x

          Show
          Hoss Man added a comment - Thanks Amit! I committed your patch along with a few more method level javadocs and fixed one more place where TestHarness was using a "collection1" literal. Committed revision 1384872. Committed revision 1384877. - 4x
          Hide
          Commit Tag Bot added a comment -

          [branch_4x commit] Chris M. Hostetter
          http://svn.apache.org/viewvc?view=revision&revision=1384877

          SOLR-3826: Test framework improvements for specifying coreName on initCore (merge r1384872)

          Show
          Commit Tag Bot added a comment - [branch_4x commit] Chris M. Hostetter http://svn.apache.org/viewvc?view=revision&revision=1384877 SOLR-3826 : Test framework improvements for specifying coreName on initCore (merge r1384872)
          Hide
          Uwe Schindler added a comment -

          Closed after release.

          Show
          Uwe Schindler added a comment - Closed after release.

            People

            • Assignee:
              Hoss Man
              Reporter:
              Amit Nithian
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development