github.com/fastly/go-fastly@v1.18.0/fastly/director_backend_test.go (about)

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