コード例 #1
0
  @Test
  public void noAlertWhenTwoForSameNetworkAndEmail() {
    EmailFraudDetectionBolt bolt = new EmailFraudDetectionBolt();
    BasicOutputCollector collector = mock(BasicOutputCollector.class);

    bolt.execute(tupleMockSimple(), collector);
    bolt.execute(tupleMockSimple(), collector);

    verifyZeroInteractions(collector);
  }
コード例 #2
0
  @Test
  public void raiseAlertWhenTwoForDifferentNetworkAndSameEmail() {
    EmailFraudDetectionBolt bolt = new EmailFraudDetectionBolt();
    BasicOutputCollector collector = mock(BasicOutputCollector.class);

    bolt.execute(tupleMockSimple(), collector);
    bolt.execute(tupleMockWithDifferentNetworkAddress(), collector);

    Object alert =
        "ALERT: fraud detected for ActionInfo [[email protected], ip=101.101.100.100, actionType=LOGIN, timestamp=1354547689586]";
    verify(collector, times(1)).emit((List<Object>) Arrays.asList(alert));
  }