blob: b44c2380fa6cffe0ffafb1c8449f683ab877e43d [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.eagle.notifications.testcases;
import com.typesafe.config.Config;
import com.typesafe.config.ConfigFactory;
import junit.framework.Assert;
import org.apache.eagle.alert.entity.AlertAPIEntity;
import org.apache.eagle.alert.entity.AlertDefinitionAPIEntity;
import org.apache.eagle.common.metric.AlertContext;
import org.apache.eagle.notification.plugin.AlertEmailPlugin;
import org.apache.eagle.policy.common.Constants;
import org.junit.Ignore;
import org.junit.Test;
import java.util.Arrays;
import java.util.HashMap;
/**
* Created on 2/11/16.
*/
public class TestAlertEmailPlugin {
@Ignore // only works when there is correct email setup and eagle service
@Test
public void testAlertEmailPlugin() throws Exception{
AlertEmailPlugin plugin = new AlertEmailPlugin();
Config config = ConfigFactory.load();
AlertDefinitionAPIEntity def = new AlertDefinitionAPIEntity();
def.setTags(new HashMap<String, String>());
def.getTags().put(Constants.POLICY_ID, "testPolicyId");
def.setNotificationDef("[{\"notificationType\":\"email\",\"sender\":\"eagle@apache.org\",\"recipients\":\"eagle@apache.org\",\"subject\":\"last check point time lag found.\",\"flavor\":\"email\",\"id\":\"email_1\",\"tplFileName\":\"\"}]");
plugin.init(config, Arrays.asList(def));
AlertAPIEntity alert = new AlertAPIEntity();
alert.setTags(new HashMap<String, String>());
alert.getTags().put(Constants.POLICY_ID, "testPolicyId");
alert.setDescription("");
alert.setAlertContext(new AlertContext());
plugin.onAlert(alert);
Assert.assertTrue(plugin.getStatus().successful);
}
}