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 }