github.com/go-chef/chef@v0.30.1/testapi/principal.go (about)

     1  package testapi
     2  
     3  import (
     4  	"fmt"
     5  	"github.com/go-chef/chef"
     6  	"os"
     7  	"strings"
     8  )
     9  
    10  // principle test the chef api
    11  func Principals() {
    12  	// Use the default test org
    13  	client := Client(nil)
    14  
    15  	// Create a client
    16  	client1 := chef.ApiNewClient{
    17  		Name:      "client1",
    18  		CreateKey: true,
    19  		Validator: false,
    20  	}
    21  	_, err := client.Clients.Create(client1)
    22  	if err != nil {
    23  		fmt.Fprintln(os.Stderr, "Couldn't create client client1. ", err)
    24  	}
    25  
    26  	// Get principals - public key information
    27  	clientInfo, err := client.Principals.Get("client1")
    28  	if err != nil {
    29  		fmt.Fprintln(os.Stderr, "Couldn't get client1 keys: ", err)
    30  	}
    31  	clientinfof := strings.Replace(fmt.Sprintf("%+v", clientInfo), "\n", "", -1)
    32  	fmt.Printf("Client principal %+v\n", clientinfof)
    33  
    34  	userInfo, err := client.Principals.Get("usr1")
    35  	if err != nil {
    36  		fmt.Fprintln(os.Stderr, "Couldn't get usr1 keys: ", err)
    37  	}
    38  	userinfof := strings.Replace(fmt.Sprintf("%+v", userInfo), "\n", "", -1)
    39  	fmt.Printf("User principal %+v\n", userinfof)
    40  
    41  	// Delete clients
    42  	err = client.Clients.Delete("client1")
    43  	fmt.Printf("Delete client1 %+v\n", err)
    44  }