github.com/gophercloud/gophercloud@v1.11.0/internal/acceptance/openstack/messaging/v2/claims_test.go (about)

     1  //go:build acceptance || messaging || claims
     2  // +build acceptance messaging claims
     3  
     4  package v2
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/gophercloud/gophercloud/internal/acceptance/clients"
    10  	"github.com/gophercloud/gophercloud/internal/acceptance/tools"
    11  	"github.com/gophercloud/gophercloud/openstack/messaging/v2/claims"
    12  )
    13  
    14  func TestCRUDClaim(t *testing.T) {
    15  	clientID := "3381af92-2b9e-11e3-b191-71861300734c"
    16  
    17  	client, err := clients.NewMessagingV2Client(clientID)
    18  	if err != nil {
    19  		t.Fatalf("Unable to create a messaging service client: %v", err)
    20  	}
    21  
    22  	createdQueueName, err := CreateQueue(t, client)
    23  	defer DeleteQueue(t, client, createdQueueName)
    24  
    25  	clientID = "3381af92-2b9e-11e3-b191-71861300734d"
    26  
    27  	client, err = clients.NewMessagingV2Client(clientID)
    28  	if err != nil {
    29  		t.Fatalf("Unable to create a messaging service client: %v", err)
    30  	}
    31  	for i := 0; i < 3; i++ {
    32  		CreateMessage(t, client, createdQueueName)
    33  	}
    34  
    35  	clientID = "3381af92-2b9e-11e3-b191-7186130073dd"
    36  	claimedMessages, err := CreateClaim(t, client, createdQueueName)
    37  	claimIDs, _ := ExtractIDs(claimedMessages)
    38  
    39  	tools.PrintResource(t, claimedMessages)
    40  
    41  	updateOpts := claims.UpdateOpts{
    42  		TTL:   600,
    43  		Grace: 500,
    44  	}
    45  
    46  	for _, claimID := range claimIDs {
    47  		t.Logf("Attempting to update claim: %s", claimID)
    48  		updateErr := claims.Update(client, createdQueueName, claimID, updateOpts).ExtractErr()
    49  
    50  		if updateErr != nil {
    51  			t.Fatalf("Unable to update claim %s: %v", claimID, err)
    52  		} else {
    53  			t.Logf("Successfully updated claim: %s", claimID)
    54  		}
    55  
    56  		updatedClaim, getErr := GetClaim(t, client, createdQueueName, claimID)
    57  		if getErr != nil {
    58  			t.Fatalf("Unable to retrieve claim %s: %v", claimID, getErr)
    59  		}
    60  
    61  		tools.PrintResource(t, updatedClaim)
    62  		DeleteClaim(t, client, createdQueueName, claimID)
    63  	}
    64  }