github.com/fastly/go-fastly/v6@v6.8.0/fastly/director_backend_test.go (about)

     1  package fastly
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func TestClient_DirectorBackends(t *testing.T) {
     8  	t.Parallel()
     9  
    10  	var err error
    11  	var tv *Version
    12  	record(t, "director_backends/version", func(c *Client) {
    13  		tv = testVersion(t, c)
    14  	})
    15  
    16  	// Create
    17  	var b *DirectorBackend
    18  	record(t, "director_backends/create", func(c *Client) {
    19  		b, err = c.CreateDirectorBackend(&CreateDirectorBackendInput{
    20  			ServiceID:      testServiceID,
    21  			ServiceVersion: tv.Number,
    22  			Director:       "director",
    23  			Backend:        "backend",
    24  		})
    25  	})
    26  	if err != nil {
    27  		t.Fatal(err)
    28  	}
    29  
    30  	// Ensure deleted
    31  	defer func() {
    32  		record(t, "director_backends/cleanup", func(c *Client) {
    33  			c.DeleteDirectorBackend(&DeleteDirectorBackendInput{
    34  				ServiceID:      testServiceID,
    35  				ServiceVersion: tv.Number,
    36  				Director:       "director",
    37  				Backend:        "backend",
    38  			})
    39  		})
    40  	}()
    41  
    42  	if b.Director != "director" {
    43  		t.Errorf("bad director: %q", b.Director)
    44  	}
    45  	if b.Backend != "backend" {
    46  		t.Errorf("bad backend: %q", b.Backend)
    47  	}
    48  
    49  	// Get
    50  	var nb *DirectorBackend
    51  	record(t, "director_backends/get", func(c *Client) {
    52  		nb, err = c.GetDirectorBackend(&GetDirectorBackendInput{
    53  			ServiceID:      testServiceID,
    54  			ServiceVersion: tv.Number,
    55  			Director:       "director",
    56  			Backend:        "backend",
    57  		})
    58  	})
    59  	if err != nil {
    60  		t.Fatal(err)
    61  	}
    62  
    63  	if b.Director != nb.Director {
    64  		t.Errorf("bad director: %q", b.Director)
    65  	}
    66  	if b.Backend != nb.Backend {
    67  		t.Errorf("bad backend: %q", b.Backend)
    68  	}
    69  
    70  	// Delete
    71  	record(t, "director_backends/delete", func(c *Client) {
    72  		err = c.DeleteDirectorBackend(&DeleteDirectorBackendInput{
    73  			ServiceID:      testServiceID,
    74  			ServiceVersion: tv.Number,
    75  			Director:       "director",
    76  			Backend:        "backend",
    77  		})
    78  	})
    79  	if err != nil {
    80  		t.Fatal(err)
    81  	}
    82  }
    83  
    84  func TestClient_CreateDirectorBackend_validation(t *testing.T) {
    85  	var err error
    86  	_, err = testClient.CreateDirectorBackend(&CreateDirectorBackendInput{
    87  		ServiceID: "",
    88  	})
    89  	if err != ErrMissingServiceID {
    90  		t.Errorf("bad error: %s", err)
    91  	}
    92  
    93  	_, err = testClient.CreateDirectorBackend(&CreateDirectorBackendInput{
    94  		ServiceID:      "foo",
    95  		ServiceVersion: 0,
    96  	})
    97  	if err != ErrMissingServiceVersion {
    98  		t.Errorf("bad error: %s", err)
    99  	}
   100  }
   101  
   102  func TestClient_GetDirectorBackend_validation(t *testing.T) {
   103  	var err error
   104  	_, err = testClient.GetDirectorBackend(&GetDirectorBackendInput{
   105  		ServiceID: "",
   106  	})
   107  	if err != ErrMissingServiceID {
   108  		t.Errorf("bad error: %s", err)
   109  	}
   110  
   111  	_, err = testClient.GetDirectorBackend(&GetDirectorBackendInput{
   112  		ServiceID:      "foo",
   113  		ServiceVersion: 0,
   114  	})
   115  	if err != ErrMissingServiceVersion {
   116  		t.Errorf("bad error: %s", err)
   117  	}
   118  
   119  	_, err = testClient.GetDirectorBackend(&GetDirectorBackendInput{
   120  		ServiceID:      "foo",
   121  		ServiceVersion: 1,
   122  		Director:       "",
   123  	})
   124  	if err != ErrMissingDirector {
   125  		t.Errorf("bad error: %s", err)
   126  	}
   127  
   128  	_, err = testClient.GetDirectorBackend(&GetDirectorBackendInput{
   129  		ServiceID:      "foo",
   130  		ServiceVersion: 1,
   131  		Director:       "director",
   132  		Backend:        "",
   133  	})
   134  	if err != ErrMissingBackend {
   135  		t.Errorf("bad error: %s", err)
   136  	}
   137  }
   138  
   139  func TestClient_DeleteDirectorBackend_validation(t *testing.T) {
   140  	var err error
   141  	err = testClient.DeleteDirectorBackend(&DeleteDirectorBackendInput{
   142  		ServiceID: "",
   143  	})
   144  	if err != ErrMissingServiceID {
   145  		t.Errorf("bad error: %s", err)
   146  	}
   147  
   148  	err = testClient.DeleteDirectorBackend(&DeleteDirectorBackendInput{
   149  		ServiceID:      "foo",
   150  		ServiceVersion: 0,
   151  	})
   152  	if err != ErrMissingServiceVersion {
   153  		t.Errorf("bad error: %s", err)
   154  	}
   155  
   156  	err = testClient.DeleteDirectorBackend(&DeleteDirectorBackendInput{
   157  		ServiceID:      "foo",
   158  		ServiceVersion: 1,
   159  		Director:       "",
   160  	})
   161  	if err != ErrMissingDirector {
   162  		t.Errorf("bad error: %s", err)
   163  	}
   164  
   165  	err = testClient.DeleteDirectorBackend(&DeleteDirectorBackendInput{
   166  		ServiceID:      "foo",
   167  		ServiceVersion: 1,
   168  		Director:       "director",
   169  		Backend:        "",
   170  	})
   171  	if err != ErrMissingBackend {
   172  		t.Errorf("bad error: %s", err)
   173  	}
   174  }