github.com/vmware/go-vcloud-director/v2@v2.24.0/govcd/session_info_test.go (about)

     1  //go:build api || functional || ALL
     2  
     3  /*
     4   * Copyright 2021 VMware, Inc.  All rights reserved.  Licensed under the Apache v2 License.
     5   */
     6  
     7  package govcd
     8  
     9  import (
    10  	"encoding/json"
    11  	"fmt"
    12  
    13  	. "gopkg.in/check.v1"
    14  )
    15  
    16  func (vcd *TestVCD) Test_GetSessionInfo(check *C) {
    17  	info, err := vcd.client.Client.GetSessionInfo()
    18  	check.Assert(err, IsNil)
    19  	check.Assert(info, NotNil)
    20  
    21  	if testVerbose {
    22  		var data []byte
    23  		data, err = json.MarshalIndent(info, " ", " ")
    24  		check.Assert(err, IsNil)
    25  		fmt.Printf("%s\n", data)
    26  		org, err := vcd.client.GetAdminOrgById(info.Org.ID)
    27  		check.Assert(err, IsNil)
    28  		for _, roleRef := range info.RoleRefs {
    29  			role, err := org.GetRoleById(roleRef.ID)
    30  			check.Assert(err, IsNil)
    31  			fmt.Printf("%s\n", role.Role.Name)
    32  			rights, err := role.GetRights(nil)
    33  			check.Assert(err, IsNil)
    34  			for i, right := range rights {
    35  				fmt.Printf("\t%3d %s\n", i, right.Name)
    36  			}
    37  		}
    38  	}
    39  	check.Assert(info.Org, NotNil)
    40  	check.Assert(info.Org.Name, Not(Equals), "")
    41  	if vcd.client.Client.IsSysAdmin {
    42  		check.Assert(info.Org.Name, Equals, "System")
    43  	}
    44  	check.Assert(info.User, Not(Equals), "")
    45  	check.Assert(len(info.Roles), Not(Equals), 0)
    46  }
    47  
    48  func (vcd *TestVCD) Test_GetExtendedSessionInfo(check *C) {
    49  	info, err := vcd.client.GetExtendedSessionInfo()
    50  	check.Assert(err, IsNil)
    51  	check.Assert(info, NotNil)
    52  	if testVerbose {
    53  		text, err := json.MarshalIndent(info, " ", " ")
    54  		check.Assert(err, IsNil)
    55  		fmt.Printf("%s\n", text)
    56  	}
    57  }