...

Source file src/go.einride.tech/aip/examples/examplelibrary/listshelves_test.go

Documentation: go.einride.tech/aip/examples/examplelibrary

     1  package examplelibrary
     2  
     3  import (
     4  	"context"
     5  	"fmt"
     6  
     7  	"google.golang.org/genproto/googleapis/example/library/v1"
     8  )
     9  
    10  func ExampleServer_ListShelves() {
    11  	ctx := context.Background()
    12  	server := &Server{
    13  		Storage: &Storage{
    14  			Shelves: []*library.Shelf{
    15  				{Name: "shelves/0001", Theme: "Sci-Fi"},
    16  				{Name: "shelves/0002", Theme: "Horror"},
    17  				{Name: "shelves/0003", Theme: "Romance"},
    18  			},
    19  		},
    20  	}
    21  	page1, err := server.ListShelves(ctx, &library.ListShelvesRequest{
    22  		PageSize: 2,
    23  	})
    24  	if err != nil {
    25  		panic(err) // TODO: Handle errors.
    26  	}
    27  	for _, shelf := range page1.Shelves {
    28  		fmt.Println(shelf.Name, shelf.Theme)
    29  	}
    30  	fmt.Println("page1.NextPageToken non-empty:", page1.NextPageToken != "")
    31  	page2, err := server.ListShelves(ctx, &library.ListShelvesRequest{
    32  		PageSize:  2,
    33  		PageToken: page1.NextPageToken,
    34  	})
    35  	if err != nil {
    36  		panic(err) // TODO: Handle errors.
    37  	}
    38  	for _, shelf := range page2.Shelves {
    39  		fmt.Println(shelf.Name, shelf.Theme)
    40  	}
    41  	fmt.Println("page2.NextPageToken non-empty:", page2.NextPageToken != "")
    42  	// Output:
    43  	// shelves/0001 Sci-Fi
    44  	// shelves/0002 Horror
    45  	// page1.NextPageToken non-empty: true
    46  	// shelves/0003 Romance
    47  	// page2.NextPageToken non-empty: false
    48  }
    49  

View as plain text