github.com/Ilhicas/nomad@v1.0.4-0.20210304152020-e86851182bc3/command/license_get_test.go (about)

     1  package command
     2  
     3  import (
     4  	"testing"
     5  	"time"
     6  
     7  	"github.com/hashicorp/nomad/api"
     8  	"github.com/mitchellh/cli"
     9  	"github.com/stretchr/testify/require"
    10  )
    11  
    12  var _ cli.Command = &LicenseGetCommand{}
    13  
    14  func TestCommand_LicenseGet_OSSErr(t *testing.T) {
    15  	t.Parallel()
    16  
    17  	srv, _, url := testServer(t, false, nil)
    18  	defer srv.Shutdown()
    19  
    20  	ui := cli.NewMockUi()
    21  	cmd := &LicenseGetCommand{Meta: Meta{Ui: ui}}
    22  
    23  	code := cmd.Run([]string{"-address=" + url})
    24  	if srv.Enterprise {
    25  		require.Equal(t, 0, code)
    26  	} else {
    27  		require.Equal(t, 1, code)
    28  		require.Contains(t, ui.ErrorWriter.String(), "Nomad Enterprise only endpoint")
    29  	}
    30  }
    31  
    32  func TestOutputLicenseReply(t *testing.T) {
    33  	now := time.Now()
    34  	lic := &api.LicenseReply{
    35  		License: &api.License{
    36  			LicenseID:       "licenseID",
    37  			CustomerID:      "customerID",
    38  			InstallationID:  "*",
    39  			IssueTime:       now,
    40  			StartTime:       now,
    41  			ExpirationTime:  now.Add(1 * time.Hour),
    42  			TerminationTime: now,
    43  			Product:         "nomad",
    44  			Flags: map[string]interface{}{
    45  				"": nil,
    46  			},
    47  		},
    48  	}
    49  
    50  	ui := cli.NewMockUi()
    51  
    52  	require.Equal(t, 0, OutputLicenseReply(ui, lic))
    53  
    54  	out := ui.OutputWriter.String()
    55  	require.Contains(t, out, "Customer ID")
    56  	require.Contains(t, out, "License ID")
    57  }