github.com/gophercloud/gophercloud@v1.11.0/internal/acceptance/openstack/networking/v2/extensions/quotas/quotas_test.go (about)

     1  //go:build acceptance || networking || quotas
     2  // +build acceptance networking quotas
     3  
     4  package quotas
     5  
     6  import (
     7  	"log"
     8  	"os"
     9  	"reflect"
    10  	"testing"
    11  
    12  	"github.com/gophercloud/gophercloud/internal/acceptance/clients"
    13  	"github.com/gophercloud/gophercloud/internal/acceptance/tools"
    14  	"github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/quotas"
    15  	th "github.com/gophercloud/gophercloud/testhelper"
    16  )
    17  
    18  func TestQuotasGet(t *testing.T) {
    19  	clients.RequireAdmin(t)
    20  
    21  	client, err := clients.NewNetworkV2Client()
    22  	th.AssertNoErr(t, err)
    23  
    24  	quotasInfo, err := quotas.Get(client, os.Getenv("OS_PROJECT_NAME")).Extract()
    25  	th.AssertNoErr(t, err)
    26  
    27  	tools.PrintResource(t, quotasInfo)
    28  }
    29  
    30  func TestQuotasUpdate(t *testing.T) {
    31  	clients.RequireAdmin(t)
    32  
    33  	client, err := clients.NewNetworkV2Client()
    34  	th.AssertNoErr(t, err)
    35  
    36  	originalQuotas, err := quotas.Get(client, os.Getenv("OS_PROJECT_NAME")).Extract()
    37  	th.AssertNoErr(t, err)
    38  
    39  	newQuotas, err := quotas.Update(client, os.Getenv("OS_PROJECT_NAME"), updateOpts).Extract()
    40  	th.AssertNoErr(t, err)
    41  
    42  	tools.PrintResource(t, newQuotas)
    43  
    44  	if reflect.DeepEqual(originalQuotas, newQuotas) {
    45  		log.Fatal("Original and New Networking Quotas are the same")
    46  	}
    47  
    48  	// Restore original quotas.
    49  	restoredQuotas, err := quotas.Update(client, os.Getenv("OS_PROJECT_NAME"), quotas.UpdateOpts{
    50  		FloatingIP:        &originalQuotas.FloatingIP,
    51  		Network:           &originalQuotas.Network,
    52  		Port:              &originalQuotas.Port,
    53  		RBACPolicy:        &originalQuotas.RBACPolicy,
    54  		Router:            &originalQuotas.Router,
    55  		SecurityGroup:     &originalQuotas.SecurityGroup,
    56  		SecurityGroupRule: &originalQuotas.SecurityGroupRule,
    57  		Subnet:            &originalQuotas.Subnet,
    58  		SubnetPool:        &originalQuotas.SubnetPool,
    59  	}).Extract()
    60  	th.AssertNoErr(t, err)
    61  
    62  	th.AssertDeepEquals(t, originalQuotas, restoredQuotas)
    63  
    64  	tools.PrintResource(t, restoredQuotas)
    65  }