github.com/blend/go-sdk@v1.20220411.3/r2/opt_closer_test.go (about)

     1  /*
     2  
     3  Copyright (c) 2022 - Present. Blend Labs, Inc. All rights reserved
     4  Use of this source code is governed by a MIT license that can be found in the LICENSE file.
     5  
     6  */
     7  
     8  package r2
     9  
    10  import (
    11  	"fmt"
    12  	"net/http"
    13  	"testing"
    14  
    15  	"github.com/blend/go-sdk/assert"
    16  )
    17  
    18  func TestOptCloser(t *testing.T) {
    19  	it := assert.New(t)
    20  
    21  	server := mockServerOK()
    22  	defer server.Close()
    23  
    24  	var didCallCloser bool
    25  	req := New(server.URL, OptCloser(func() error {
    26  		didCallCloser = true
    27  		return fmt.Errorf("closer test")
    28  	}))
    29  	it.NotNil(req.Closer)
    30  
    31  	meta, err := req.Discard()
    32  	it.True(didCallCloser)
    33  	it.NotNil(err)
    34  	it.Equal("closer test", err.Error())
    35  	it.Equal(http.StatusOK, meta.StatusCode)
    36  }