示例#1
0
 def testApplyingASingleConditionalPointcutProgrammatically(self):
     wrappingAdvice = WrappingInterceptor()
     pointcutAdvisor = RegexpMethodPointcutAdvisor()
     pointcutAdvisor.advice = wrappingAdvice
     pointcutAdvisor.patterns = [".*do.*"]
     targetService = SampleService()
     sampleService = ProxyFactoryObject(interceptors = pointcutAdvisor)
     sampleService.target = targetService
     self.assertEquals(sampleService.doSomething(), "<Wrapped>Alright!</Wrapped>")
     self.assertEquals(sampleService.method("testdata"), "You made it! => testdata")
示例#2
0
 def testApplyingTwoConditionalPointcutsProgrammatically(self):
     beginEndAdvice = BeforeAndAfterInterceptor()
     wrappingAdvice = WrappingInterceptor()
     pointcutAdvisor = RegexpMethodPointcutAdvisor()
     pointcutAdvisor.advice = [beginEndAdvice, wrappingAdvice]
     pointcutAdvisor.patterns = [".*do.*"]
     targetService = SampleService()
     sampleService = ProxyFactoryObject(interceptors = pointcutAdvisor)
     sampleService.target = targetService
     self.assertEquals(sampleService.doSomething(), "BEFORE => <Wrapped>Alright!</Wrapped> <= AFTER")
     self.assertEquals(sampleService.method("testdata"), "You made it! => testdata")
示例#3
0
 def testApplyingASingleConditionalPointcutProgrammatically(self):
     wrappingAdvice = WrappingInterceptor()
     pointcutAdvisor = RegexpMethodPointcutAdvisor()
     pointcutAdvisor.advice = wrappingAdvice
     pointcutAdvisor.patterns = [".*do.*"]
     targetService = SampleService()
     sampleService = ProxyFactoryObject(interceptors=pointcutAdvisor)
     sampleService.target = targetService
     self.assertEquals(sampleService.doSomething(),
                       "<Wrapped>Alright!</Wrapped>")
     self.assertEquals(sampleService.method("testdata"),
                       "You made it! => testdata")
示例#4
0
 def testApplyingTwoConditionalPointcutsProgrammatically(self):
     beginEndAdvice = BeforeAndAfterInterceptor()
     wrappingAdvice = WrappingInterceptor()
     pointcutAdvisor = RegexpMethodPointcutAdvisor()
     pointcutAdvisor.advice = [beginEndAdvice, wrappingAdvice]
     pointcutAdvisor.patterns = [".*do.*"]
     targetService = SampleService()
     sampleService = ProxyFactoryObject(interceptors=pointcutAdvisor)
     sampleService.target = targetService
     self.assertEquals(sampleService.doSomething(),
                       "BEFORE => <Wrapped>Alright!</Wrapped> <= AFTER")
     self.assertEquals(sampleService.method("testdata"),
                       "You made it! => testdata")
示例#5
0
 def connectionFactory(self):
     pointcutAdvisor = RegexpMethodPointcutAdvisor(
             advice=[QueryInterceptor(self.config().isLoggingEnabled())],
             patterns=[".*query.*",
                       ".*execute.*"])
     
     return ConnectionFactory(pointcutAdvisor)
示例#6
0
    def weather_service(self):
        pointcut_advisor = RegexpMethodPointcutAdvisor(
            advice=[LoggingInterceptor(),
                    CacheInterceptor()],
            patterns=[".*check_.*"])

        return ProxyFactoryObject(target=self.target_weather_service(),
                                  interceptors=[pointcut_advisor])
示例#7
0
    def testCallingRegExpProxiedMethodThatHasNoArgumentsWithProxiedNamedArguments(
            self):
        pointcutAdvisor = RegexpMethodPointcutAdvisor(
            advice=WrappingInterceptor(),
            patterns=["SampleService.doSomething"])
        service = ProxyFactoryObject(target=SampleService(),
                                     interceptors=pointcutAdvisor)

        self.assertEquals("You made it! => test", service.method(data="test"))
        self.assertEquals("You made it! => <Wrapped>Alright!</Wrapped>",
                          service.method(data=service.doSomething()))