1
2
3
4
5
6
7
8
9
10 package org.mule.api.annotations.param;
11
12 import org.mule.api.model.InvocationResult;
13 import org.mule.tck.testmodels.fruit.Banana;
14 import org.mule.tck.testmodels.fruit.Fruit;
15 import org.mule.tck.testmodels.fruit.Orange;
16 import org.mule.tck.testmodels.fruit.RedApple;
17
18 import java.util.List;
19
20 public class LookupEntrypointInjectionTestCase extends AbstractAnnotatedEntrypointResolverTestCase
21 {
22
23 @Override
24 protected Object getComponent()
25 {
26 return new LookupComponent();
27 }
28
29 public void testLookups() throws Exception
30 {
31 RedApple redApple = new RedApple();
32 redApple.wash();
33
34 muleContext.getRegistry().registerObject("redApple", redApple);
35 muleContext.getRegistry().registerObject("anotherRedApple", new RedApple());
36 muleContext.getRegistry().registerObject("aBanana", new Banana());
37
38 InvocationResult response = invokeResolver("listFruit", eventContext);
39 assertTrue("Message payload should be a List", response.getResult() instanceof List);
40 List<Fruit> result = (List<Fruit>) response.getResult();
41 assertEquals(2, result.size());
42
43 assertEquals(redApple, result.get(1));
44
45
46 muleContext.getRegistry().registerObject("orange", new Orange());
47 response = invokeResolver("listFruit", eventContext);
48 assertTrue("Message payload should be a List", response.getResult() instanceof List);
49 result = (List<Fruit>) response.getResult();
50
51 assertEquals(3, result.size());
52
53
54 muleContext.getRegistry().unregisterObject("redApple");
55
56 try
57 {
58 invokeResolver("listFruit", eventContext);
59 fail("redApple is a required property but not in the registry");
60 }
61 catch (Exception e)
62 {
63
64 }
65
66 }
67 }