Repository: incubator-brooklyn Updated Branches: refs/heads/master 07ec193bb -> 92c45eab3
Adds test for mapping propagated sensor Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/f53d5362 Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/f53d5362 Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/f53d5362 Branch: refs/heads/master Commit: f53d53628df76d92383d6a132338a5cd268fe78a Parents: e92dd1e Author: Martin Harris <[email protected]> Authored: Thu Sep 10 16:31:32 2015 +0100 Committer: Martin Harris <[email protected]> Committed: Thu Sep 10 16:40:28 2015 +0100 ---------------------------------------------------------------------- .../stock/SensorPropagatingEnricherTest.java | 41 +++++++++++++++++++- 1 file changed, 39 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f53d5362/core/src/test/java/org/apache/brooklyn/enricher/stock/SensorPropagatingEnricherTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/enricher/stock/SensorPropagatingEnricherTest.java b/core/src/test/java/org/apache/brooklyn/enricher/stock/SensorPropagatingEnricherTest.java index c660df1..c938bc2 100644 --- a/core/src/test/java/org/apache/brooklyn/enricher/stock/SensorPropagatingEnricherTest.java +++ b/core/src/test/java/org/apache/brooklyn/enricher/stock/SensorPropagatingEnricherTest.java @@ -29,8 +29,6 @@ import org.apache.brooklyn.core.sensor.BasicNotificationSensor; import org.apache.brooklyn.core.sensor.Sensors; import org.apache.brooklyn.core.test.BrooklynAppUnitTestSupport; import org.apache.brooklyn.core.test.entity.TestEntity; -import org.apache.brooklyn.enricher.stock.Enrichers; -import org.apache.brooklyn.enricher.stock.Propagator; import org.apache.brooklyn.test.Asserts; import org.apache.brooklyn.test.EntityTestUtils; import org.apache.brooklyn.util.collections.MutableMap; @@ -215,4 +213,43 @@ public class SensorPropagatingEnricherTest extends BrooklynAppUnitTestSupport { if (ise == null) throw e; } } + + @Test + public void testPropagateToDynamicSensor() { + /* + + This test attempts to replicate the following YAML + + location: localhost + services: + - type: org.apache.brooklyn.core.test.entity.TestApplication + brooklyn.children: + - type: org.apache.brooklyn.core.test.entity.TestEntity + id: childid + + brooklyn.enrichers: + - type: org.apache.brooklyn.enricher.stock.Propagator + brooklyn.config: + producer: $brooklyn:component("child", "childid") + propagating: + - $brooklyn:sensor("test.name") + - type: org.apache.brooklyn.enricher.stock.Propagator + brooklyn.config: + sensorMapping: + $brooklyn:sensor("test.name"): $brooklyn:sensor("newSensor") + */ + AttributeSensor<Object> targetSensor = Sensors.newSensor(Object.class, "newSensor"); + AttributeSensor<Object> sourceSensorFromYaml = Sensors.newSensor(Object.class, TestEntity.NAME.getName()); + app.addEnricher(Enrichers.builder() + .propagating(Sensors.newSensor(Object.class, TestEntity.NAME.getName())) + .from(entity) + .build()); + app.addEnricher(Enrichers.builder() + .propagating(ImmutableMap.of(sourceSensorFromYaml, targetSensor)) + .from(app) + .build()); + EntityTestUtils.assertAttributeEqualsEventually(app, targetSensor, entity.sensors().get(TestEntity.NAME)); + entity.sensors().set(TestEntity.NAME, "newName"); + EntityTestUtils.assertAttributeEqualsEventually(app, targetSensor, "newName"); + } }
