예제 #1
0
  public void testDelete() throws Exception {
    MessagePropertiesTransformer t = new MessagePropertiesTransformer();
    t.setDeleteProperties(Collections.singletonList("badProperty"));
    t.setMuleContext(muleContext);

    DefaultMuleMessage msg = new DefaultMuleMessage("message", (Map) null);
    msg.setProperty("badProperty", "badValue");
    DefaultMuleMessage transformed = (DefaultMuleMessage) t.transform(msg, null);
    assertSame(msg, transformed);
    assertEquals(msg.getUniqueId(), transformed.getUniqueId());
    assertEquals(msg.getPayload(), transformed.getPayload());
    assertEquals(msg.getPropertyNames(), transformed.getPropertyNames());
    assertFalse(transformed.getPropertyNames().contains("badValue"));
  }
예제 #2
0
  public void testRenameProperties() throws Exception {
    MessagePropertiesTransformer t = new MessagePropertiesTransformer();
    Map add = new HashMap();
    add.put("Foo", "Baz");
    t.setRenameProperties(add);
    t.setMuleContext(muleContext);

    DefaultMuleMessage msg = new DefaultMuleMessage("message", (Map) null);
    msg.setProperty("Foo", "Bar");
    DefaultMuleMessage transformed = (DefaultMuleMessage) t.transform(msg, null);
    assertSame(msg, transformed);
    assertEquals(msg.getUniqueId(), transformed.getUniqueId());
    assertEquals(msg.getPayload(), transformed.getPayload());
    assertEquals(msg.getPropertyNames(), transformed.getPropertyNames());

    assertEquals("Bar", transformed.getProperty("Baz"));
  }
예제 #3
0
  public void testOverwriteFalsePreservesOriginal() throws Exception {
    MessagePropertiesTransformer t = new MessagePropertiesTransformer();
    Map add = new HashMap();
    add.put("addedProperty", "overwrittenValue");
    t.setAddProperties(add);
    t.setOverwrite(false);
    t.setMuleContext(muleContext);

    DefaultMuleMessage msg = new DefaultMuleMessage("message", (Map) null);
    msg.setProperty("addedProperty", "originalValue");
    DefaultMuleMessage transformed = (DefaultMuleMessage) t.transform(msg, null);
    assertSame(msg, transformed);
    assertEquals(msg.getUniqueId(), transformed.getUniqueId());
    assertEquals(msg.getPayload(), transformed.getPayload());
    assertEquals(msg.getPropertyNames(), transformed.getPropertyNames());

    assertEquals("originalValue", transformed.getProperty("addedProperty"));
  }
예제 #4
0
 public void testTransformerConfig() throws Exception {
   MessagePropertiesTransformer transformer =
       (MessagePropertiesTransformer)
           RegistryContext.getRegistry().lookupTransformer("testTransformer");
   transformer.setMuleContext(muleContext);
   assertNotNull(transformer);
   assertNotNull(transformer.getAddProperties());
   assertNotNull(transformer.getDeleteProperties());
   assertEquals(2, transformer.getAddProperties().size());
   assertEquals(2, transformer.getDeleteProperties().size());
   assertEquals(1, transformer.getRenameProperties().size());
   assertTrue(transformer.isOverwrite());
   assertEquals("text/baz;charset=UTF-16BE", transformer.getAddProperties().get("Content-Type"));
   assertEquals("value", transformer.getAddProperties().get("key"));
   assertEquals("test-property1", transformer.getDeleteProperties().get(0));
   assertEquals("test-property2", transformer.getDeleteProperties().get(1));
   assertEquals("Faz", transformer.getRenameProperties().get("Foo"));
 }
예제 #5
0
  public void testOverwriteFlagEnabledByDefault() throws Exception {
    MessagePropertiesTransformer t = new MessagePropertiesTransformer();
    Map add = new HashMap();
    add.put("addedProperty", "overwrittenValue");
    t.setAddProperties(add);
    t.setMuleContext(muleContext);

    MuleMessage msg = new DefaultMuleMessage("message", (Map) null);
    msg.setProperty("addedProperty", "originalValue");
    MuleEventContext ctx = getTestEventContext(msg);
    // context clones message
    msg = ctx.getMessage();
    DefaultMuleMessage transformed = (DefaultMuleMessage) t.transform(msg, null);
    assertSame(msg, transformed);
    assertEquals(msg.getUniqueId(), transformed.getUniqueId());
    assertEquals(msg.getPayload(), transformed.getPayload());
    // property values will be different
    assertEquals(msg.getPropertyNames(), transformed.getPropertyNames());

    assertEquals("overwrittenValue", transformed.getProperty("addedProperty"));
  }