github.com/mmcquillan/packer@v1.1.1-0.20171009221028-c85cf0483a5d/builder/oracle/oci/client/client_test.go (about)

     1  package oci
     2  
     3  import (
     4  	"net/http"
     5  	"net/http/httptest"
     6  	"net/url"
     7  	"os"
     8  
     9  	"github.com/go-ini/ini"
    10  )
    11  
    12  var (
    13  	mux     *http.ServeMux
    14  	client  *Client
    15  	server  *httptest.Server
    16  	keyFile *os.File
    17  )
    18  
    19  // setup sets up a test HTTP server along with a oci.Client that is
    20  // configured to talk to that test server.  Tests should register handlers on
    21  // mux which provide mock responses for the API method being tested.
    22  func setup() {
    23  	mux = http.NewServeMux()
    24  	server = httptest.NewServer(mux)
    25  	parsedURL, _ := url.Parse(server.URL)
    26  
    27  	config := &Config{}
    28  	config.baseURL = parsedURL.String()
    29  
    30  	var cfg *ini.File
    31  	var err error
    32  	cfg, keyFile, err = BaseTestConfig()
    33  
    34  	config, err = loadConfigSection(cfg, "DEFAULT", config)
    35  	if err != nil {
    36  		panic(err)
    37  	}
    38  
    39  	client, err = NewClient(config)
    40  	if err != nil {
    41  		panic("Failed to instantiate test client")
    42  	}
    43  }
    44  
    45  // teardown closes the test HTTP server
    46  func teardown() {
    47  	server.Close()
    48  	os.Remove(keyFile.Name())
    49  }