if you want to do it you have to do as in Injector and extract the
BeanContext (new BeanContext() is a blocker for me since it can break
several features).

Note also it means transactions are not handled and could be the same
way. Means we can surely do a basic ContextRuleRunner allowing to run
in the right context then just implement the init/clear part in
RunAsRule and TxRule.



Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau



2014-10-31 17:31 GMT+01:00 Xavier Dury <[email protected]>:
> Indeed, but if you take a look at org.apache.openejb.junit.LocalClientRunner, 
> the ThreadContext is always created by the Runner/Rule.
>
> Here's an example I made from what I found in LocalClientRunner: 
> http://gist.github.com/kalgon/8ba09a6238955d4d1584
>
> It works with both ApplicationComposerRule and EJBContainerRule but I don't 
> know if there could be undesired side-effects.
>
> Xavier
>
> ----------------------------------------
>> From: [email protected]
>> Date: Fri, 31 Oct 2014 17:17:41 +0100
>> Subject: Re: EJBContainerRule and @RunTestAs
>> To: [email protected]
>>
>> Yes but with EJBContainerRule you don't have any "context" so you
>> can't "RunAs" out of the box. You can define your own SecurityService
>> (as property) and use a thread local to set it. But I didn't go this
>> way cause it can break easily tests with custom security services or
>> based on security environment
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2014-10-31 17:09 GMT+01:00 Xavier Dury <[email protected]>:
>>> Nice!
>>>
>>> It works fine with ApplicationComposerRule but not with EJBContainerRule 
>>> (the ThreadContext is null).
>>>
>>> Xavier
>>>
>>> ----------------------------------------
>>>> From: [email protected]
>>>> Date: Fri, 31 Oct 2014 16:11:08 +0100
>>>> Subject: Re: EJBContainerRule and @RunTestAs
>>>> To: [email protected]
>>>>
>>>> Hello
>>>>
>>>> sorry for the delay:
>>>> https://git-wip-us.apache.org/repos/asf/tomee/?p=tomee.git;a=blob;f=container/openejb-core/src/test/java/org/apache/openejb/testing/RunAsRuleTest.java;h=deb838c4d95be85b5b3d299ac3c4f5b311816027;hb=5cede8c77a6336bd24ecea65f61e87d71ecbec66
>>>>
>>>> If needed we can backport to 1.7.x
>>>> Romain Manni-Bucau
>>>> Twitter: @rmannibucau
>>>> Blog: http://rmannibucau.wordpress.com/
>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>> Github: https://github.com/rmannibucau
>>>>
>>>>
>>>>
>>>> 2014-10-30 12:50 GMT+01:00 Xavier Dury <[email protected]>:
>>>>> Hi,
>>>>>
>>>>> While using EJBContainerRule, I have seen no easy way (~ @Run(Test)As) to 
>>>>> invoke my EJBs with a particular user/role in my tests.
>>>>>
>>>>> There is already an InjectRule and a TransactionRule so would it be 
>>>>> possible to add some kind of Run(Test)AsRule as well?
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Xavier
>>>
>

Reply via email to