github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/openstack/sharedfilesystems/v2/schedulerstats/testing/requests_test.go (about)

     1  package testing
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  
     7  	"github.com/vnpaycloud-console/gophercloud/v2/openstack/sharedfilesystems/v2/schedulerstats"
     8  	"github.com/vnpaycloud-console/gophercloud/v2/pagination"
     9  	th "github.com/vnpaycloud-console/gophercloud/v2/testhelper"
    10  	"github.com/vnpaycloud-console/gophercloud/v2/testhelper/client"
    11  )
    12  
    13  func TestListPoolsDetail(t *testing.T) {
    14  	th.SetupHTTP()
    15  	defer th.TeardownHTTP()
    16  	HandlePoolsListSuccessfully(t)
    17  
    18  	pages := 0
    19  	err := schedulerstats.List(client.ServiceClient(), schedulerstats.ListOpts{}).EachPage(context.TODO(), func(_ context.Context, page pagination.Page) (bool, error) {
    20  		pages++
    21  
    22  		actual, err := schedulerstats.ExtractPools(page)
    23  		th.AssertNoErr(t, err)
    24  
    25  		if len(actual) != 4 {
    26  			t.Fatalf("Expected 4 backends, got %d", len(actual))
    27  		}
    28  		th.CheckDeepEquals(t, PoolFake1, actual[0])
    29  		th.CheckDeepEquals(t, PoolFake2, actual[1])
    30  		th.CheckDeepEquals(t, PoolFake3, actual[2])
    31  		th.CheckDeepEquals(t, PoolFake4, actual[3])
    32  
    33  		return true, nil
    34  	})
    35  
    36  	th.AssertNoErr(t, err)
    37  
    38  	if pages != 1 {
    39  		t.Errorf("Expected 1 page, saw %d", pages)
    40  	}
    41  
    42  	pages = 0
    43  	err = schedulerstats.ListDetail(client.ServiceClient(), schedulerstats.ListDetailOpts{}).EachPage(context.TODO(), func(_ context.Context, page pagination.Page) (bool, error) {
    44  		pages++
    45  
    46  		actual, err := schedulerstats.ExtractPools(page)
    47  		th.AssertNoErr(t, err)
    48  
    49  		if len(actual) != 4 {
    50  			t.Fatalf("Expected 4 backends, got %d", len(actual))
    51  		}
    52  		th.CheckDeepEquals(t, PoolDetailFake1, actual[0])
    53  		th.CheckDeepEquals(t, PoolDetailFake2, actual[1])
    54  		th.CheckDeepEquals(t, PoolDetailFake3, actual[2])
    55  		th.CheckDeepEquals(t, PoolDetailFake4, actual[3])
    56  
    57  		return true, nil
    58  	})
    59  
    60  	th.AssertNoErr(t, err)
    61  
    62  	if pages != 1 {
    63  		t.Errorf("Expected 1 page, saw %d", pages)
    64  	}
    65  }