package com.nimbits.it.console; import com.nimbits.client.enums.subscription.SubscriptionNotifyMethod; import com.nimbits.client.enums.subscription.SubscriptionType; import com.nimbits.client.model.point.Point; import com.nimbits.client.model.point.PointModel; import com.nimbits.client.model.subscription.SubscriptionModel; import com.nimbits.client.model.value.Value; import com.nimbits.it.AbstractNimbitsTest; import org.junit.Ignore; import java.util.ArrayList; import java.util.List; import java.util.Random; /** * Scenario - create several idle points that email me if they go idle, but write to them so they go back to * being not idle, then let them fall back to being idle so i get repeated email alerts */ @Ignore public class IdleAlertSpamMe extends AbstractNimbitsTest { public static void main(String... args) throws Exception { IdleAlertSpamMe test = new IdleAlertSpamMe(); test.setUp(); test.runTest(); } public void runTest() { List<Point> pointList = new ArrayList<>(); for (int i = 0; i < 10; i++) { Point point = nimbits.addPoint(user, new PointModel.Builder().idleAlarmOn(true).idleSeconds(60).create()); System.out.println("Added Point " + point.getName()); pointList.add(point); nimbits.addSubscription(point, new SubscriptionModel.Builder() .subscriptionType(SubscriptionType.idle) .subscribedEntity(point) .enabled(true) .notifyMethod(SubscriptionNotifyMethod.email) .target("bsautner@gmail.com") .create()); } Random r = new Random(); for (Point p : pointList) { nimbits.recordValueSync(p.getName().getValue(), new Value.Builder().doubleValue(r.nextDouble() * 100).create()); } for (Point p : pointList) { System.out.println(nimbits.getSnapshot(p)); } } }