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 }