github.com/Azure/draft-classic@v0.16.0/cmd/draft/plugin_update_test.go (about)

     1  package main
     2  
     3  import (
     4  	"bytes"
     5  	"testing"
     6  
     7  	"github.com/Azure/draft/pkg/draft/draftpath"
     8  )
     9  
    10  func TestPluginUpdateCmd(t *testing.T) {
    11  	// move this to e2e test suite soon
    12  	target, err := newTestPluginEnv("", "")
    13  	if err != nil {
    14  		t.Fatal(err)
    15  	}
    16  	old, err := setupTestPluginEnv(target)
    17  	if err != nil {
    18  		t.Fatal(err)
    19  	}
    20  	defer teardownTestPluginEnv(target, old)
    21  
    22  	home := draftpath.Home(draftHome)
    23  	buf := bytes.NewBuffer(nil)
    24  
    25  	update := &pluginUpdateCmd{
    26  		names: []string{"server"},
    27  		home:  home,
    28  		out:   buf,
    29  	}
    30  
    31  	if err := update.run(); err == nil {
    32  		t.Errorf("expected plugin update to err but did not")
    33  	}
    34  
    35  	install := &pluginInstallCmd{
    36  		source:  "https://github.com/michelleN/draft-server",
    37  		version: "0.1.0",
    38  		home:    home,
    39  		out:     buf,
    40  	}
    41  
    42  	if err := install.run(); err != nil {
    43  		t.Fatalf("Erroring installing plugin")
    44  	}
    45  
    46  	if err := update.run(); err != nil {
    47  		t.Errorf("Erroring updating plugin: %v", err)
    48  	}
    49  
    50  }