Ok, I updated my code, I had to add 3 Qualifiers to fix all other tests.

I now have 3 producers.

I think it should be working as is but I still see:

  TestServiceLabelBTest.resultB:44 expected:<[result-b]> but
was:<[default-result]>
  TestServiceTestLabelATest.resultA:44 expected:<[result-a]> but
was:<[default-result]>



On Mon, Apr 16, 2018 at 8:22 AM, Stephen More <stephen.m...@gmail.com>
wrote:

> Usually I work on multiple tasks at a time, and I might not communicate as
> well as I should. I will try to be a little more verbose.
>
> Before I added DefaultTestServiceProducer to uc020, mvn clean install
> was working as expected "Tests run: 65, Failures: 0, Errors: 0, Skipped: 0"
>
> By simply adding DefaultTestServiceProducer to uc020 I did not expect to
> get "Tests run: 53, Failures: 6, Errors: 22, Skipped: 0"
>
> 1. At this point I am no longer focusing on getting my uc020 to pass, but
> rather what the heck did I just do.....what caused this ? Is something else
> bigger going on that will cause my use case to fail anyway ?
>
> 2. In parallel I am also working on a private branch to get  Alternate
> Producers working....( again not working as expected ).
>
> I am at a loss to explain what is going on in 1, and 2 I think should be
> working, but is not.
>
>
> Why did my DefaultTestServiceProducer create all this havoc ?
>
>
>
>
> Failed tests:
>   InterceptedBeanTest.classLevelInterception:52
>   InterceptedBeanTest.methodLevelInterception:60
>   TestServiceLabelYTest.resultY:44 expected:<[result-y]> but
> was:<[default-result]>
>   TestServiceTestLabelXTest.resultX:44 expected:<[result-x]> but
> was:<[default-result]>
>   LabeledServiceTest.resultLbl:45 expected:<[result-lbl]> but
> was:<[alternative-result]>
>   TestServiceLabelXTest.resultX:43 expected:<result-[x]> but
> was:<result-[y]>
> Tests in error:
>   MockedRequestScopedBeanTest.org.apache.deltaspike.test.
> testcontrol.mock.uc001.MockedRequestScopedBeanTest » Deployment
>   MockedSessionScopedBeanAcrossMethodsTest.org.apache.
> deltaspike.test.testcontrol.mock.uc003.MockedSessionScopedBeanAcrossMethodsTest
> » Deployment
>   MockedProducedBeanTest.org.apache.deltaspike.test.
> testcontrol.mock.uc005.MockedProducedBeanTest » Deployment
>   
> MockedTypedBeanTest.org.apache.deltaspike.test.testcontrol.mock.uc008.MockedTypedBeanTest
> » Deployment
>   MockedTypedProducedBeanTest.org.apache.deltaspike.test.
> testcontrol.mock.uc009.MockedTypedProducedBeanTest » Deployment
>   MockedRequestScopedBeanWithInjectionTest.org.apache.
> deltaspike.test.testcontrol.mock.uc012.MockedRequestScopedBeanWithInjectionTest
> » Deployment
>   MockedTypedProducedBeanTest.org.apache.deltaspike.test.
> testcontrol.mock.uc013.MockedTypedProducedBeanTest » Deployment
>   MockedTypedProducedBeanTest.org.apache.deltaspike.test.
> testcontrol.mock.uc014.MockedTypedProducedBeanTest » Deployment
> org.apache.deltaspike.test.testcontrol.uc001.
> RequestAndSessionScopePerTestMethodTest.org.apache.
> deltaspike.test.testcontrol.uc001.RequestAndSessionScopePerTestMethodTest
>   Run 1: RequestAndSessionScopePerTestMethodTest.org.apache.
> deltaspike.test.testcontrol.uc001.RequestAndSessionScopePerTestMethodTest
> » Deployment
>   Run 2: RequestAndSessionScopePerTestMethodTest.finalCheckAndCleanup:99
> IllegalState u...
>
> org.apache.deltaspike.test.testcontrol.uc002.SessionScopePerTestClassTest.
> org.apache.deltaspike.test.testcontrol.uc002.SessionScopePerTestClassTest
>   Run 1: SessionScopePerTestClassTest.org.apache.deltaspike.test.
> testcontrol.uc002.SessionScopePerTestClassTest » Deployment
>   Run 2: SessionScopePerTestClassTest.finalCheckAndCleanup:93
> IllegalState unexpected i...
>
>   SessionScopePerTestClassTest.org.apache.deltaspike.test.
> testcontrol.uc003.SessionScopePerTestClassTest » Deployment
> org.apache.deltaspike.test.testcontrol.uc004.ProjectStageTestControlTest.
> org.apache.deltaspike.test.testcontrol.uc004.ProjectStageTestControlTest
>   Run 1: ProjectStageTestControlTest.org.apache.deltaspike.test.
> testcontrol.uc004.ProjectStageTestControlTest » Deployment
>   Run 2: ProjectStageTestControlTest>RequestAndSessionScopePerTestM
> ethodTest.finalCheckAndCleanup:99 » IllegalState
>
>   
> SkipExternalContainerTest.org.apache.deltaspike.test.testcontrol.uc006.SkipExternalContainerTest
> » Deployment
>   ExtendedTest.org.apache.deltaspike.test.testcontrol.uc007.ExtendedTest
> » Deployment
>   JsfContainerPerTestMethodTest.org.apache.deltaspike.test.
> testcontrol.uc010.JsfContainerPerTestMethodTest » Deployment
>   
> InterceptedBeanTest.org.apache.deltaspike.test.testcontrol.uc011.InterceptedBeanTest
> » Deployment
>   
> TestServiceNoLabelTest.org.apache.deltaspike.test.testcontrol.uc014.TestServiceNoLabelTest
> » Deployment
>   
> AlternativeServiceTest.org.apache.deltaspike.test.testcontrol.uc015.AlternativeServiceTest
> » Deployment
>   
> TestServiceLabelYTest.org.apache.deltaspike.test.testcontrol.uc016.TestServiceLabelYTest
> » Deployment
>   TestServiceLabelBTest.resultB » AmbiguousResolution There is more than
> one Bea...
>   
> TestServiceNoLabelTest.org.apache.deltaspike.test.testcontrol.uc020.TestServiceNoLabelTest
> » Deployment
>   
> TestServiceTestLabelATest.org.apache.deltaspike.test.testcontrol.uc020.TestServiceTestLabelATest
> » Deployment
>
>
>
> On Mon, Apr 16, 2018 at 1:33 AM, Gerhard Petracek <
> gerhard.petra...@gmail.com> wrote:
>
>> hi stephen,
>>
>> you only have one producer-class:
>> https://github.com/mores/deltaspike/blob/altProduces/deltasp
>> ike/modules/test-control/impl/src/test/java/org/apache/
>> deltaspike/test/testcontrol/uc020/DefaultTestServiceProducer.java
>>
>> and @Alternative is only present at:
>> https://github.com/mores/deltaspike/blob/altProduces/deltasp
>> ike/modules/test-control/impl/src/test/java/org/apache/
>> deltaspike/test/testcontrol/uc020/TestServiceLabelA.java#L24
>> and
>> https://github.com/mores/deltaspike/blob/altProduces/deltasp
>> ike/modules/test-control/impl/src/test/java/org/apache/
>> deltaspike/test/testcontrol/uc020/TestServiceLabelB.java#L24
>>
>> instead you need an alternative producer-class (to replace
>> DefaultTestServiceProducer in your case).
>>
>> regards,
>> gerhard
>>
>> http://www.irian.at
>>
>> Your JavaEE powerhouse -
>> JavaEE Consulting, Development and
>> Courses in English and German
>>
>> Professional Support for Apache
>> MyFaces, DeltaSpike and OpenWebBeans
>>
>> 2018-04-15 21:02 GMT+02:00 Stephen More <stephen.m...@gmail.com>:
>>
>> > Correct. I have a default producer and 1 alternate producer. I can
>> enable
>> > the alternate producer by updating beans.xml.
>> > I am trying to do the same thing using labeledAlternatives....
>> >
>> > what changes should be made to META-INF/apache-deltaspike.properties
>> when
>> > using multiple alternate producers ?
>> >
>> >
>> > labeledAlternatives[testLabelX].org.apache.deltaspike.test.testcontrol.
>> > uc014.TestService=org.apache.deltaspike.test.testcontrol.uc014.
>> > TestServiceLabelXProducer
>> > labeledAlternatives[y].org.apache.deltaspike.test.
>> > testcontrol.uc014.TestService=org.apache.deltaspike.test.
>> > testcontrol.uc014.TestServiceLabelYProducer
>> >
>> >
>> > ?
>> >
>> >
>> >
>> >
>> > On Sun, Apr 15, 2018 at 1:22 PM, Gerhard Petracek <
>> > gerhard.petra...@gmail.com> wrote:
>> >
>> > > hi stephen,
>> > >
>> > > as usual with cdi, you need to create an alternative-producer (= the
>> > > producer-bean itself needs to be replaced).
>> > >
>> > > regards,
>> > > gerhard
>> > >
>> > > http://www.irian.at
>> > >
>> > > Your JavaEE powerhouse -
>> > > JavaEE Consulting, Development and
>> > > Courses in English and German
>> > >
>> > > Professional Support for Apache
>> > > MyFaces, DeltaSpike and OpenWebBeans
>> > >
>> > >
>> > >
>> > > 2018-04-15 14:41 GMT+02:00 Stephen More <stephen.m...@gmail.com>:
>> > >
>> > > > "alternative-bean-x1 (instead of bean-x) in test1
>> > > > and alternative-bean-x2  (instead of bean-x) in test2"
>> > > >
>> > > > Yes, this is exactly what I am going after, unfortunately I have not
>> > > gotten
>> > > > it to work yet. In my case bean-x comes from a producer.
>> > > >
>> > > > Not sure if that is my problem so I started working on a use case, I
>> > > made a
>> > > > clone of uc014 -> uc020 ( fixed name collisions in
>> > > > apache-deltaspike.properties ) but many other test cases started to
>> > fail
>> > > > outside of uc020.  ( https://github.com/mores/
>> > > deltaspike/tree/altProduces
>> > > > )
>> > > >
>> > > > Is this a possible bug ?
>> > > > -Thanks
>> > > >
>> > > >
>> > > > p.s. when a typo is made in apache-deltaspike.properties no warning
>> or
>> > > > error was thrown that I could easily see
>> > > >
>> > > >
>> > > >
>> > > > On Sat, Apr 14, 2018 at 12:18 PM, Gerhard Petracek <
>> > > > gerhard.petra...@gmail.com> wrote:
>> > > >
>> > > > > hi stephen,
>> > > > >
>> > > > > if your alternative-instance/behavior should be different for
>> "every"
>> > > > test
>> > > > > and you can't use a mock-manager, you need to use a producer (for
>> the
>> > > > > original bean) and @Specializes it in the test-classpath.
>> > > > > in your test you change the state of the test-producer with static
>> > > > methods
>> > > > > (e.g. set a flag or a whole instance which should be returned by
>> the
>> > > > > test-producer).
>> > > > > -> it's std. cdi and/or java - no special concept is needed.
>> > > > >
>> > > > > if you would like to use alternative-bean-x1 (instead of bean-x)
>> in
>> > > test1
>> > > > > and alternative-bean-x2  (instead of bean-x) in test2, you can use
>> > > > labeled
>> > > > > alternatives (provided by ds > v1.8.1) - see e.g. [1] and [2].
>> > > > > it's based on the new AlternativeBeanClassProvider spi (which you
>> > could
>> > > > use
>> > > > > as well to implement your own concepts) - see e.g. [3].
>> > > > >
>> > > > > regards,
>> > > > > gerhard
>> > > > >
>> > > > > [1]
>> > > > > https://github.com/apache/deltaspike/tree/master/
>> > > > deltaspike/modules/test-
>> > > > > control/impl/src/test/java/org/apache/deltaspike/test/
>> > > testcontrol/uc014
>> > > > > [2]
>> > > > > https://github.com/apache/deltaspike/tree/master/
>> > > > deltaspike/modules/test-
>> > > > > control/impl/src/test/java/org/apache/deltaspike/test/
>> > > testcontrol/uc015
>> > > > > [3]
>> > > > > https://github.com/apache/deltaspike/tree/master/
>> > > > deltaspike/modules/test-
>> > > > > control/impl/src/test/java/org/apache/deltaspike/test/
>> > > testcontrol/uc016
>> > > > >
>> > > > >
>> > > > >
>> > > > > http://www.irian.at
>> > > > >
>> > > > > Your JavaEE powerhouse -
>> > > > > JavaEE Consulting, Development and
>> > > > > Courses in English and German
>> > > > >
>> > > > > Professional Support for Apache
>> > > > > MyFaces, DeltaSpike and OpenWebBeans
>> > > > >
>> > > > > 2018-04-14 15:24 GMT+02:00 Stephen More <stephen.m...@gmail.com>:
>> > > > >
>> > > > > > I have a need to run some unit tests with @Alternative -
>> > > mockedVersionA
>> > > > > > and other tests with @Alternative - mockedVersionB
>> > > > > > and other tests with @Alternative - mockedVersionC
>> > > > > >
>> > > > > > It looks like Arquillian can handle this utilizing ShrinkWrap
>> and
>> > > > > > @Deployment....
>> > > > > > addAsManifestResource( "mockedVersionA.xml","beans.xml");
>> > > > > > addAsManifestResource( "mockedVersionB.xml","beans.xml");
>> > > > > >
>> > > > > > Can I achieve the same functionality using CdiTestRunner ?
>> > > > > > -Thanks
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>
>

Reply via email to