I would also add that this is probably a moot point until the Management
Integration/Distributed (DUnit) tests get added...

https://github.com/apache/incubator-geode/tree/develop/gemfire-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands

Currently, there are none (only "unit" tests).


On Thu, Oct 22, 2015 at 2:06 PM, John Blum <[email protected]> wrote:

> So to be clear, the Management REST API has it's own set of test classes
> for "unit" tests.  When it comes to integration testing, I took advantage
> of the fact the Management REST API just exposes an interface for the Gfsh
> commands that are executed on the Manager over HTTP. I.e. they use the same
> Management command DUnit tests, but effectively the difference, as seen
> from the perspective of a user using Gfsh, is this...
>
> // HTTP
> gfsh> connect *--use-http* [--url=http[s]://host:http-port/gemfire/v1]
>
> Vs.
>
> // JMX RMI
> gfsh> connect [--jmx-manager=localhost[1099] | --locator=localhost[10334]]
>
> I would have to think on this more, but this is really not the purpose of
> the @Parameterized annotation in JUnit, since the Gfsh/Manager connection
> is setup before any individual Management test class runs.  My first
> reaction is no, @Parameterized will not work and it really was not intended
> to handle situations like these.
>
> On Thu, Oct 22, 2015 at 2:00 PM, Kirk Lund <[email protected]> wrote:
>
>> If you want to use annotations or other JUnit 4 syntax in a DUnit, it'll
>> have to wait until after I merge feature/GEODE-217 to develop. We'll also
>> need an engineer to spend one or more weeks updating all of the relevant
>> management dunit tests to use JUnit 4 syntax.
>>
>> -Kirk
>>
>>
>> On Thu, Oct 22, 2015 at 1:53 PM, Anthony Baker <[email protected]> wrote:
>>
>> > Can we apply the @Parameterized annotation here?  Two code paths, one
>> test
>> > (as the old saying goes…)
>> >
>> > Anthony
>> >
>> > > On Oct 22, 2015, at 1:46 PM, Kirk Lund <[email protected]> wrote:
>> > >
>> > > This would similar to having to rerun all of the "region" tests with a
>> > > system property specifying "replicated" or "partitioned". Perhaps all
>> of
>> > > the management (integration or distributed) tests that have an HTTP
>> REST
>> > > counterpart need to be subclassed with a test case that overrides some
>> > bit
>> > > of configuration to use HTTP REST instead of JMX RMI. In this way, the
>> > same
>> > > test would be executed but configured in a different way.
>> > >
>> > > -Kirk
>> > >
>> > >
>> > > On Thu, Oct 22, 2015 at 1:35 PM, John Blum <[email protected]> wrote:
>> > >
>> > >> Well, there are 2 scenarios under which Management tests should run,
>> 1
>> > with
>> > >> JMX RMI and the other with HTTP.  So you you will need to incorporate
>> > some
>> > >> elaborate code in the Gradle-based build to handle this and capture
>> the
>> > >> results without stomping on nearly identical runs, since it share the
>> > same
>> > >> test classes.
>> > >>
>> > >> So while I agree with your statement, it does not solve the problem
>> by
>> > >> simply saying the tests should be run without a special flag.
>> > >>
>> > >>
>> > >> On Thu, Oct 22, 2015 at 1:31 PM, Dan Smith <[email protected]>
>> wrote:
>> > >>
>> > >>> I don't think there is a counterpart in the gradle build. And I
>> don't
>> > >>> think there should be - if this is something that needs to be
>> tested it
>> > >>> should be running in every nightly build, not just when you pass a
>> > >> special
>> > >>> flag.
>> > >>>
>> > >>> -Dan
>> > >>>
>> > >>> On Thu, Oct 22, 2015 at 12:12 PM, Kirk Lund <[email protected]>
>> wrote:
>> > >>>
>> > >>>> This is from the old Ant build (which Geode doesn't use):
>> > >>>>
>> > >>>> $build.sh run-management-tests -DuseHTTP=true
>> > >>>>
>> > >>>> What's the counterpart in the Geode gradle build?
>> > >>>>
>> > >>>> -Kirk
>> > >>>>
>> > >>>>
>> > >>>> On Thu, Oct 22, 2015 at 11:55 AM, John Blum <[email protected]>
>> wrote:
>> > >>>>
>> > >>>>>
>> > >>>>> -----------------------------------------------------------
>> > >>>>> This is an automatically generated e-mail. To reply, visit:
>> > >>>>> https://reviews.apache.org/r/39023/#review103635
>> > >>>>> -----------------------------------------------------------
>> > >>>>>
>> > >>>>>
>> > >>>>> You will also need to run the Management test suite using HTTP
>> > >>>> (especially
>> > >>>>> for v8.x and earlier) with...
>> > >>>>>
>> > >>>>> $build.sh run-management-tests -DuseHTTP=true
>> > >>>>>
>> > >>>>> This will run all the Manager/Gfsh commands over HTTP using the
>> > >>>> Management
>> > >>>>> REST API.  I am not exactly sure how to do this with the Apache
>> Geode
>> > >>>>> codebase and Gradle build, or even if the Management test suite is
>> > >> part
>> > >>>> of
>> > >>>>> the Apache Geode codebase yet.
>> > >>>>>
>> > >>>>>
>> > >>>>>
>> > >>>>
>> > >>
>> >
>> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/controllers/AbstractCommandsController.java
>> > >>>>> (line 255)
>> > >>>>> <https://reviews.apache.org/r/39023/#comment161695>
>> > >>>>>
>> > >>>>>    Make the "scheme" parameter final for consistency.
>> > >>>>>
>> > >>>>>    Typically, you should add parameters to the end of the method
>> > >>>>> parameter list and also include a method such as...
>> > >>>>>
>> > >>>>>    protected static final String DEFAULT_SCHEME = "http";
>> > >>>>>
>> > >>>>>    ...
>> > >>>>>
>> > >>>>>    protected URI toUri(final String path) {
>> > >>>>>      return toUri(path, DEFAULT_SCHEME);
>> > >>>>>    }
>> > >>>>>
>> > >>>>>    This will help minimize the necessary code changes in areas of
>> the
>> > >>>>> code that are not affected by the scheme.
>> > >>>>>
>> > >>>>>
>> > >>>>>
>> > >>>>>
>> > >>>>
>> > >>
>> >
>> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/controllers/AbstractCommandsController.java
>> > >>>>> (line 256)
>> > >>>>> <https://reviews.apache.org/r/39023/#comment161703>
>> > >>>>>
>> > >>>>>    Structure as...
>> > >>>>>
>> > >>>>>    return
>> > >>>>>
>> ServletUriComponentsBuilder.fromCurrentContextPath().scheme(scheme)
>> > >>>>>    .path(REST_API_VERSION).path(path).build().toUri();
>> > >>>>>
>> > >>>>>
>> > >>>>>
>> > >>>>>
>> > >>>>
>> > >>
>> >
>> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/controllers/ShellCommandsController.java
>> > >>>>> (line 146)
>> > >>>>> <https://reviews.apache.org/r/39023/#comment161700>
>> > >>>>>
>> > >>>>>    Make the "scheme" parameter final for consistency.
>> > >>>>>
>> > >>>>>
>> > >>>>>
>> > >>>>>
>> > >>>>
>> > >>
>> >
>> gemfire-web/src/test/java/com/gemstone/gemfire/management/internal/web/controllers/ShellCommandsControllerJUnitTest.java
>> > >>>>> (line 215)
>> > >>>>> <https://reviews.apache.org/r/39023/#comment161702>
>> > >>>>>
>> > >>>>>    +1
>> > >>>>>
>> > >>>>>
>> > >>>>> - John Blum
>> > >>>>>
>> > >>>>>
>> > >>>>> On Oct. 5, 2015, 10:10 p.m., Jens Deppe wrote:
>> > >>>>>>
>> > >>>>>> -----------------------------------------------------------
>> > >>>>>> This is an automatically generated e-mail. To reply, visit:
>> > >>>>>> https://reviews.apache.org/r/39023/
>> > >>>>>> -----------------------------------------------------------
>> > >>>>>>
>> > >>>>>> (Updated Oct. 5, 2015, 10:10 p.m.)
>> > >>>>>>
>> > >>>>>>
>> > >>>>>> Review request for geode and John Blum.
>> > >>>>>>
>> > >>>>>>
>> > >>>>>> Repository: geode
>> > >>>>>>
>> > >>>>>>
>> > >>>>>> Description
>> > >>>>>> -------
>> > >>>>>>
>> > >>>>>> GEODE-381 enable gfsh https usage through SSL terminated
>> > >> environments
>> > >>>>>>
>> > >>>>>>
>> > >>>>>> Diffs
>> > >>>>>> -----
>> > >>>>>>
>> > >>>>>>
>> > >>>>>
>> > >>>>
>> > >>
>> >
>> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/commands/ShellCommands.java
>> > >>>>> 4bdab90ef905731c19568b0d7638ebb5bbe577bb
>> > >>>>>>
>> > >>>>>
>> > >>>>
>> > >>
>> >
>> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/controllers/AbstractCommandsController.java
>> > >>>>> 73ce9265eb0f4d260b18919d3478738656fec073
>> > >>>>>>
>> > >>>>>
>> > >>>>
>> > >>
>> >
>> gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/controllers/ShellCommandsController.java
>> > >>>>> ef4c49f1a5434cfae1e7fac2db3577cef7a0c834
>> > >>>>>>  gemfire-web/build.gradle
>> b9629d30a66d70e9283987ab2db8d4bb2b2f08a1
>> > >>>>>>
>> > >>>>>
>> > >>>>
>> > >>
>> >
>> gemfire-web/src/test/java/com/gemstone/gemfire/management/internal/web/controllers/ShellCommandsControllerJUnitTest.java
>> > >>>>> 34aa28589cf1c30dbf37abe1c17f92749dea835a
>> > >>>>>>
>> > >>>>>> Diff: https://reviews.apache.org/r/39023/diff/
>> > >>>>>>
>> > >>>>>>
>> > >>>>>> Testing
>> > >>>>>> -------
>> > >>>>>>
>> > >>>>>> Ran Management JUnit tests
>> > >>>>>>
>> > >>>>>>
>> > >>>>>> Thanks,
>> > >>>>>>
>> > >>>>>> Jens Deppe
>> > >>>>>>
>> > >>>>>>
>> > >>>>>
>> > >>>>>
>> > >>>>
>> > >>>
>> > >>>
>> > >>
>> > >>
>> > >> --
>> > >> -John
>> > >> 503-504-8657
>> > >> john.blum10101 (skype)
>> > >>
>> >
>> >
>>
>
>
>
> --
> -John
> 503-504-8657
> john.blum10101 (skype)
>



-- 
-John
503-504-8657
john.blum10101 (skype)

Reply via email to