added test case for ansibles
This commit is contained in:
1
plugin/TestAnsible/description.txt
Normal file
1
plugin/TestAnsible/description.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Test if it's detected
|
||||||
8
plugin/TestAnsible/site.yml
Normal file
8
plugin/TestAnsible/site.yml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
- hosts: all
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: simple-ansibleplaybook
|
||||||
|
debug:
|
||||||
|
msg: Your are running 'simple-ansibleplaybook' example
|
||||||
1
plugin/generate_test_case.sh
Normal file
1
plugin/generate_test_case.sh
Normal file
@@ -0,0 +1 @@
|
|||||||
|
cp -r TestAnsible/ deploy/TestAnsbile
|
||||||
@@ -2,6 +2,7 @@ package plugin
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"errors"
|
||||||
"git.sr.ht/~akilan1999/p2p-rendering-computation/config"
|
"git.sr.ht/~akilan1999/p2p-rendering-computation/config"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
|
|
||||||
@@ -67,6 +68,36 @@ func DetectPlugins()(*Plugins,error){
|
|||||||
return plugins,nil
|
return plugins,nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RunPlugin Executes plugins based on the plugin name provided
|
||||||
|
func RunPlugin(pluginName string ,IPAddresses []*ExecuteIP) (*Plugin,error) {
|
||||||
|
plugins, err := DetectPlugins()
|
||||||
|
if err != nil {
|
||||||
|
return nil,err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Variable to store struct information about the plugin
|
||||||
|
var plugindetected *Plugin
|
||||||
|
for _,plugin := range plugins.PluginsDetected {
|
||||||
|
if plugin.FolderName == pluginName {
|
||||||
|
plugindetected = plugin
|
||||||
|
plugindetected.Execute = IPAddresses
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if plugindetected == nil {
|
||||||
|
return nil, errors.New("Plugin not detected")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Executing the plugin
|
||||||
|
err = plugindetected.ExecutePlugin()
|
||||||
|
if err != nil {
|
||||||
|
return nil,err
|
||||||
|
}
|
||||||
|
|
||||||
|
return plugindetected,nil
|
||||||
|
}
|
||||||
|
|
||||||
// ExecutePlugin Function to execute plugins that are called
|
// ExecutePlugin Function to execute plugins that are called
|
||||||
func (p *Plugin) ExecutePlugin() error {
|
func (p *Plugin) ExecutePlugin() error {
|
||||||
// Get Execute plugin path from config file
|
// Get Execute plugin path from config file
|
||||||
|
|||||||
@@ -9,3 +9,21 @@ func TestDetectPlugins(t *testing.T) {
|
|||||||
t.Fail()
|
t.Fail()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestRunPlugin(t *testing.T) {
|
||||||
|
var testips []*ExecuteIP
|
||||||
|
var testip1,testip2 ExecuteIP
|
||||||
|
|
||||||
|
//Test IP 1 configuration
|
||||||
|
testip1.IPAddress = "0.0.0.0"
|
||||||
|
testip1.SSHPortNo = "41289"
|
||||||
|
|
||||||
|
//Test IP 2 configuration
|
||||||
|
testip2.IPAddress = "0.0.0.0"
|
||||||
|
testip1.SSHPortNo = "34447"
|
||||||
|
|
||||||
|
testips = append(testips, &testip1)
|
||||||
|
testips = append(testips, &testip2)
|
||||||
|
|
||||||
|
RunPlugin("test",testips)
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user