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

     1  package testapi
     2  
     3  import (
     4  	"fmt"
     5  	"os"
     6  
     7  	"github.com/go-chef/chef"
     8  )
     9  
    10  // environment exercise the chef api
    11  func Environment() {
    12  	// Use the default test org
    13  	client := Client(nil)
    14  
    15  	// List initial environments
    16  	environmentList, err := client.Environments.List()
    17  	if err != nil {
    18  		fmt.Fprintln(os.Stderr, "Couldn't list environments: ", err)
    19  	}
    20  	fmt.Println("List initial environments", environmentList)
    21  
    22  	// Define a Environment object
    23  	// TODO set some more things
    24  	environment1 := chef.Environment{Name: "environment1"}
    25  	fmt.Println("Define environment1", environment1)
    26  
    27  	// Delete environment1 ignoring errors :)
    28  	_, err = client.Environments.Delete(environment1.Name)
    29  
    30  	// Create
    31  	environmentResult, err := client.Environments.Create(&environment1)
    32  	if err != nil {
    33  		fmt.Fprintln(os.Stderr, "Couldn't create environment environment1. ", err)
    34  	}
    35  	fmt.Println("Added environment1", environmentResult)
    36  
    37  	// List environments
    38  	environmentList, err = client.Environments.List()
    39  	if err != nil {
    40  		fmt.Fprintln(os.Stderr, "Couldn't list environments: ", err)
    41  	}
    42  	fmt.Println("List environments after adding environment1", environmentList)
    43  
    44  	// Create a second time
    45  	environmentResult, err = client.Environments.Create(&environment1)
    46  	if err != nil {
    47  		fmt.Fprintln(os.Stderr, "Couldn't recreate environment environment1. ", err)
    48  	}
    49  	fmt.Println("Added environment1", environmentResult)
    50  
    51  	// Read environment1 information
    52  	serverEnvironment, err := client.Environments.Get("environment1")
    53  	if err != nil {
    54  		fmt.Fprintln(os.Stderr, "Couldn't get environment: ", err)
    55  	}
    56  	fmt.Printf("Get environment1 %+v\n", serverEnvironment)
    57  
    58  	// update environment
    59  	// TODO update the environment
    60  	updateEnvironment, err := client.Environments.Put(&environment1)
    61  	if err != nil {
    62  		fmt.Fprintln(os.Stderr, "Couldn't update environment: ", err)
    63  	}
    64  	fmt.Println("Update environment1", updateEnvironment)
    65  
    66  	// Info after update
    67  	serverEnvironment, err = client.Environments.Get("environment1")
    68  	if err != nil {
    69  		fmt.Fprintln(os.Stderr, "Couldn't get environment: ", err)
    70  	}
    71  	fmt.Printf("Get environment1 after update %+v\n", serverEnvironment)
    72  
    73  	// Delete environment ignoring errors :)
    74  	_, err = client.Environments.Delete(environment1.Name)
    75  	fmt.Println("Delete environment1", err)
    76  
    77  	// List environments
    78  	environmentList, err = client.Environments.List()
    79  	if err != nil {
    80  		fmt.Fprintln(os.Stderr, "Couldn't list environments: ", err)
    81  	}
    82  	fmt.Println("List environments after cleanup", environmentList)
    83  }