hgaol
5 years ago
15 changed files with 367 additions and 143 deletions
@ -0,0 +1,72 @@ |
|||||||
|
/* |
||||||
|
* 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.dolphinscheduler.common.plugin; |
||||||
|
|
||||||
|
import org.apache.dolphinscheduler.plugin.api.AlertPlugin; |
||||||
|
import org.apache.dolphinscheduler.plugin.model.AlertInfo; |
||||||
|
import org.apache.dolphinscheduler.plugin.model.PluginName; |
||||||
|
import org.junit.Before; |
||||||
|
import org.junit.Test; |
||||||
|
|
||||||
|
import java.util.HashMap; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
import static org.junit.Assert.*; |
||||||
|
|
||||||
|
public class FilePluginManagerTest { |
||||||
|
|
||||||
|
private FilePluginManager filePluginManager; |
||||||
|
private AlertPlugin alertPlugin; |
||||||
|
|
||||||
|
@Before |
||||||
|
public void before() { |
||||||
|
filePluginManager = new FilePluginManager(null, null, null); |
||||||
|
alertPlugin = new AlertPlugin() { |
||||||
|
@Override |
||||||
|
public String getId() { |
||||||
|
return "test"; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public PluginName getName() { |
||||||
|
return new PluginName().setChinese("ch").setEnglish("en"); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public Map<String, Object> process(AlertInfo info) { |
||||||
|
return new HashMap<>(); |
||||||
|
} |
||||||
|
}; |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
public void findOne() { |
||||||
|
filePluginManager.addPlugin(alertPlugin); |
||||||
|
assertEquals(alertPlugin, filePluginManager.findOne(alertPlugin.getId())); |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
public void findAll() { |
||||||
|
assertNotNull(filePluginManager.findAll()); |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
public void addPlugin() { |
||||||
|
filePluginManager.addPlugin(alertPlugin); |
||||||
|
assertNotNull(filePluginManager.findAll()); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,61 @@ |
|||||||
|
/* |
||||||
|
* 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.dolphinscheduler.common.plugin; |
||||||
|
|
||||||
|
import org.junit.Before; |
||||||
|
import org.junit.Test; |
||||||
|
|
||||||
|
import java.net.URL; |
||||||
|
|
||||||
|
import static org.junit.Assert.*; |
||||||
|
|
||||||
|
public class PluginClassLoaderTest { |
||||||
|
|
||||||
|
private PluginClassLoader pluginClassLoader; |
||||||
|
private ClassLoader parent; |
||||||
|
|
||||||
|
@Before |
||||||
|
public void setUp() { |
||||||
|
parent = Thread.currentThread().getContextClassLoader(); |
||||||
|
pluginClassLoader = new PluginClassLoader( |
||||||
|
new URL[]{}, parent, |
||||||
|
null, null); |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
public void loadClassNull() { |
||||||
|
Class clazz = null; |
||||||
|
try { |
||||||
|
clazz = pluginClassLoader.loadClass("java.lang.Object"); |
||||||
|
} catch (ClassNotFoundException e) { |
||||||
|
e.printStackTrace(); |
||||||
|
} |
||||||
|
assertEquals(null, clazz.getClassLoader()); |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
public void loadClassApp() { |
||||||
|
Class clazz = null; |
||||||
|
try { |
||||||
|
clazz = pluginClassLoader.loadClass("org.apache.dolphinscheduler.common.Constants"); |
||||||
|
} catch (ClassNotFoundException e) { |
||||||
|
e.printStackTrace(); |
||||||
|
} |
||||||
|
assertEquals(parent, clazz.getClassLoader()); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,80 @@ |
|||||||
|
/* |
||||||
|
* 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.dolphinscheduler.plugin.model; |
||||||
|
|
||||||
|
import org.junit.Before; |
||||||
|
import org.junit.Test; |
||||||
|
|
||||||
|
import static org.junit.Assert.*; |
||||||
|
|
||||||
|
public class AlertDataTest { |
||||||
|
|
||||||
|
private AlertData alertData; |
||||||
|
|
||||||
|
@Before |
||||||
|
public void before() { |
||||||
|
alertData = new AlertData(); |
||||||
|
alertData.setId(1) |
||||||
|
.setContent("content") |
||||||
|
.setShowType("email") |
||||||
|
.setTitle("title") |
||||||
|
.setReceivers("receivers") |
||||||
|
.setReceiversCc("cc") |
||||||
|
.setLog("log") |
||||||
|
.setAlertGroupId(1); |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
public void getId() { |
||||||
|
assertEquals(1, alertData.getId()); |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
public void getTitle() { |
||||||
|
assertEquals("title", alertData.getTitle()); |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
public void getContent() { |
||||||
|
assertEquals("content", alertData.getContent()); |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
public void getLog() { |
||||||
|
assertEquals("log", alertData.getLog()); |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
public void getAlertGroupId() { |
||||||
|
assertEquals(1, alertData.getAlertGroupId()); |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
public void getReceivers() { |
||||||
|
assertEquals("receivers", alertData.getReceivers()); |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
public void getReceiversCc() { |
||||||
|
assertEquals("cc", alertData.getReceiversCc()); |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
public void getShowType() { |
||||||
|
assertEquals("email", alertData.getShowType()); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,54 @@ |
|||||||
|
/* |
||||||
|
* 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.dolphinscheduler.plugin.model; |
||||||
|
|
||||||
|
import org.junit.Before; |
||||||
|
import org.junit.Test; |
||||||
|
|
||||||
|
import java.util.HashMap; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
import static org.junit.Assert.*; |
||||||
|
|
||||||
|
public class AlertInfoTest { |
||||||
|
|
||||||
|
private AlertInfo alertInfo; |
||||||
|
|
||||||
|
@Before |
||||||
|
public void before() { |
||||||
|
alertInfo = new AlertInfo(); |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
public void getAlertProps() { |
||||||
|
Map<String, Object> map = new HashMap<>(); |
||||||
|
alertInfo.setAlertProps(map); |
||||||
|
assertNotNull(alertInfo.getAlertProps()); |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
public void getProp() { |
||||||
|
alertInfo.addProp("k", "v"); |
||||||
|
assertEquals("v", alertInfo.getProp("k")); |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
public void getAlertData() { |
||||||
|
alertInfo.setAlertData(new AlertData()); |
||||||
|
assertNotNull(alertInfo.getAlertData()); |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue