public void testSetCoercion() { Serializable s = compileSetExpression("name"); Foo foo = new Foo(); executeSetExpression(s, foo, 12); assertEquals("12", foo.getName()); foo = new Foo(); setProperty(foo, "name", 12); assertEquals("12", foo.getName()); }
@Test public void test() { // Bootstrap container 1 SwitchableSingletonProvider.use(1); TestContainer container1 = new TestContainer(Foo.class); container1.startContainer(); container1.ensureRequestActive(); BeanManagerImpl beanManager1 = getBeanManager(container1); Bean<?> fooBean1 = beanManager1.resolve(beanManager1.getBeans(Foo.class)); Foo foo1 = (Foo) beanManager1.getReference( fooBean1, Foo.class, beanManager1.createCreationalContext(fooBean1)); foo1.setName("container 1"); // Bootstrap container 2 SwitchableSingletonProvider.use(2); TestContainer container2 = new TestContainer(Foo.class); container2.startContainer(); container2.ensureRequestActive(); BeanManagerImpl beanManager2 = getBeanManager(container2); Bean<?> fooBean2 = beanManager2.resolve(beanManager2.getBeans(Foo.class)); Foo foo2 = (Foo) beanManager2.getReference( fooBean2, Foo.class, beanManager2.createCreationalContext(fooBean2)); foo2.setName("container 2"); // Switch to container 1 and check value SwitchableSingletonProvider.use(1); foo1 = (Foo) beanManager1.getReference( fooBean1, Foo.class, beanManager1.createCreationalContext(fooBean1)); assert foo1.getName().equals("container 1"); // Switch to container 2 and check value SwitchableSingletonProvider.use(2); foo2 = (Foo) beanManager2.getReference( fooBean2, Foo.class, beanManager2.createCreationalContext(fooBean2)); assert foo2.getName().equals("container 2"); SwitchableSingletonProvider.use(1); container1.stopContainer(); SwitchableSingletonProvider.use(2); container2.stopContainer(); SingletonProvider.reset(); }
@Test( description = "A simple test to check session replication, doesn't carefully check if a bean ids are correct") public void testSimpleSessionReplication() throws Exception { TestContainer container1 = bootstrapContainer(1, Collections.singletonList(Foo.class)); BeanManagerImpl beanManager1 = getBeanManager(container1); Bean<?> fooBean1 = beanManager1.resolve(beanManager1.getBeans(Foo.class)); TestContainer container2 = bootstrapContainer(2, Collections.singletonList(Foo.class)); BeanManagerImpl beanManager2 = getBeanManager(container2); Bean<?> fooBean2 = beanManager2.resolve(beanManager2.getBeans(Foo.class)); use(1); // Set a value into Foo1 Foo foo1 = (Foo) beanManager1.getReference( fooBean1, Foo.class, beanManager1.createCreationalContext(fooBean1)); foo1.setName("container 1"); replicateSession(1, container1, 2, container2); use(2); Foo foo2 = (Foo) beanManager2.getReference( fooBean2, Foo.class, beanManager2.createCreationalContext(fooBean2)); assert foo2.getName().equals("container 1"); use(2); container2.stopContainer(); use(1); container1.stopContainer(); }
@Test public void update_foo_success() { Response res = client.create(new Foo("Tom")); Foo foo1 = client.getDocument(res.getId(), Foo.class); foo1.setName("Jerry"); Response updateRes = client.update(res.getId(), foo1); Assert.assertEquals(res.getId(), updateRes.getId()); Assert.assertThat(updateRes.getRev(), startsWith("2-")); Foo foo2 = client.getDocument(res.getId(), Foo.class); Assert.assertEquals("Jerry", foo2.getName()); }
@Test public void test() throws Throwable { Method fooMethod = Foo.class.getDeclaredMethod("getName"); ResolvedJavaMethod foo1 = metaAccess.lookupJavaMethod(fooMethod); ResolvedJavaMethod foo2 = metaAccess.lookupJavaMethod(fooMethod); String foo1Code = Arrays.toString(foo1.getCode()); String foo2Code = Arrays.toString(foo2.getCode()); Assert.assertEquals("foo", Foo.getName()); redefineFoo(); System.gc(); // Make sure the transformation happened Assert.assertEquals("bar", Foo.getName()); Assert.assertEquals(foo1Code, Arrays.toString(foo1.getCode())); Assert.assertEquals(foo2Code, Arrays.toString(foo1.getCode())); }