github.com/cloudfoundry-attic/cli-with-i18n@v6.32.1-0.20171002233121-7401370d3b85+incompatible/integration/assets/test_plugin/test_plugin.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"os"
     6  	"path/filepath"
     7  
     8  	"code.cloudfoundry.org/cli/plugin"
     9  )
    10  
    11  type Test1 struct {
    12  }
    13  
    14  func (c *Test1) Run(cliConnection plugin.CliConnection, args []string) {
    15  	switch args[0] {
    16  	case "CliCommandWithoutTerminalOutput":
    17  		result, _ := cliConnection.CliCommandWithoutTerminalOutput("target")
    18  		fmt.Println("Done CliCommandWithoutTerminalOutput:", result)
    19  	case "CliCommand":
    20  		result, _ := cliConnection.CliCommand("target")
    21  		fmt.Println("Done CliCommand:", result)
    22  	case "GetCurrentOrg":
    23  		result, _ := cliConnection.GetCurrentOrg()
    24  		fmt.Println("Done GetCurrentOrg:", result)
    25  	case "GetCurrentSpace":
    26  		result, _ := cliConnection.GetCurrentSpace()
    27  		fmt.Println("Done GetCurrentSpace:", result)
    28  	case "Username":
    29  		result, _ := cliConnection.Username()
    30  		fmt.Println("Done Username:", result)
    31  	case "UserGuid":
    32  		result, _ := cliConnection.UserGuid()
    33  		fmt.Println("Done UserGuid:", result)
    34  	case "UserEmail":
    35  		result, _ := cliConnection.UserEmail()
    36  		fmt.Println("Done UserEmail:", result)
    37  	case "IsLoggedIn":
    38  		result, _ := cliConnection.IsLoggedIn()
    39  		fmt.Println("Done IsLoggedIn:", result)
    40  	case "IsSSLDisabled":
    41  		result, err := cliConnection.IsSSLDisabled()
    42  		if err != nil {
    43  			fmt.Println("Error in IsSSLDisabled()", err)
    44  		}
    45  		fmt.Println("Done IsSSLDisabled:", result)
    46  	case "ApiEndpoint":
    47  		result, _ := cliConnection.ApiEndpoint()
    48  		fmt.Println("Done ApiEndpoint:", result)
    49  	case "ApiVersion":
    50  		result, _ := cliConnection.ApiVersion()
    51  		fmt.Println("Done ApiVersion:", result)
    52  	case "HasAPIEndpoint":
    53  		result, err := cliConnection.HasAPIEndpoint()
    54  		if err != nil {
    55  			fmt.Println("Error in HasAPIEndpoint()", err)
    56  		}
    57  		fmt.Println("Done HasAPIEndpoint:", result)
    58  	case "HasOrganization":
    59  		result, _ := cliConnection.HasOrganization()
    60  		fmt.Println("Done HasOrganization:", result)
    61  	case "HasSpace":
    62  		result, _ := cliConnection.HasSpace()
    63  		fmt.Println("Done HasSpace:", result)
    64  	case "LoggregatorEndpoint":
    65  		result, _ := cliConnection.LoggregatorEndpoint()
    66  		fmt.Println("Done LoggregatorEndpoint:", result)
    67  	case "DopplerEndpoint":
    68  		result, _ := cliConnection.DopplerEndpoint()
    69  		fmt.Println("Done DopplerEndpoint:", result)
    70  	case "AccessToken":
    71  		result, _ := cliConnection.AccessToken()
    72  		fmt.Println("Done AccessToken:", result)
    73  	case "GetApp":
    74  		result, _ := cliConnection.GetApp(args[1])
    75  		fmt.Println("Done GetApp:", result)
    76  	case "GetApps":
    77  		result, _ := cliConnection.GetApps()
    78  		fmt.Println("Done GetApps:", result)
    79  	case "GetOrg":
    80  		result, _ := cliConnection.GetOrg(args[1])
    81  		fmt.Println("Done GetOrg:", result)
    82  	case "GetOrgs":
    83  		result, _ := cliConnection.GetOrgs()
    84  		fmt.Println("Done GetOrgs:", result)
    85  	case "GetSpace":
    86  		result, _ := cliConnection.GetSpace(args[1])
    87  		fmt.Println("Done GetSpace:", result)
    88  	case "GetSpaces":
    89  		result, _ := cliConnection.GetSpaces()
    90  		fmt.Println("Done GetSpaces:", result)
    91  	case "GetOrgUsers":
    92  		result, _ := cliConnection.GetOrgUsers(args[1], args[2:]...)
    93  		fmt.Println("Done GetOrgUsers:", result)
    94  	case "GetSpaceUsers":
    95  		result, _ := cliConnection.GetSpaceUsers(args[1], args[2])
    96  		fmt.Println("Done GetSpaceUsers:", result)
    97  	case "GetServices":
    98  		result, _ := cliConnection.GetServices()
    99  		fmt.Println("Done GetServices:", result)
   100  	case "GetService":
   101  		result, _ := cliConnection.GetService(args[1])
   102  		fmt.Println("Done GetService:", result)
   103  	case "TestPluginCommandWithAlias", "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF":
   104  		fmt.Println("You called Test Plugin Command With Alias!")
   105  	}
   106  }
   107  
   108  func (c *Test1) GetMetadata() plugin.PluginMetadata {
   109  	return plugin.PluginMetadata{
   110  		Name: "CF-CLI-Integration-Test-Plugin",
   111  		Version: plugin.VersionType{
   112  			Major: 1,
   113  			Minor: 2,
   114  			Build: 4,
   115  		},
   116  		MinCliVersion: plugin.VersionType{
   117  			Major: 5,
   118  			Minor: 0,
   119  			Build: 0,
   120  		},
   121  		Commands: []plugin.Command{
   122  			{Name: "CliCommandWithoutTerminalOutput"},
   123  			{Name: "CliCommand"},
   124  			{Name: "GetCurrentSpace"},
   125  			{Name: "GetCurrentOrg"},
   126  			{Name: "Username"},
   127  			{Name: "UserGuid"},
   128  			{Name: "UserEmail"},
   129  			{Name: "IsLoggedIn"},
   130  			{Name: "IsSSLDisabled"},
   131  			{Name: "ApiEndpoint"},
   132  			{Name: "ApiVersion"},
   133  			{Name: "HasAPIEndpoint"},
   134  			{Name: "HasOrganization"},
   135  			{Name: "HasSpace"},
   136  			{Name: "LoggregatorEndpoint"},
   137  			{Name: "DopplerEndpoint"},
   138  			{Name: "AccessToken"},
   139  			{Name: "GetApp"},
   140  			{Name: "GetApps"},
   141  			{Name: "GetOrg"},
   142  			{Name: "GetOrgs"},
   143  			{Name: "GetSpace"},
   144  			{Name: "GetSpaces"},
   145  			{Name: "GetOrgUsers"},
   146  			{Name: "GetSpaceUsers"},
   147  			{Name: "GetServices"},
   148  			{Name: "GetService"},
   149  			{
   150  				Name:     "TestPluginCommandWithAlias",
   151  				Alias:    "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
   152  				HelpText: "This is my plugin help test. Banana.",
   153  				UsageDetails: plugin.Usage{
   154  					Usage: "I R Usage",
   155  					Options: map[string]string{
   156  						"--dis-flag": "is a flag",
   157  					},
   158  				},
   159  			},
   160  		},
   161  	}
   162  }
   163  
   164  func uninstalling() {
   165  	os.Remove(filepath.Join(os.TempDir(), "uninstall-test-file-for-test_1.exe"))
   166  }
   167  
   168  func main() {
   169  	plugin.Start(new(Test1))
   170  }