github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6@v6.2.0/fake/packetcaptures_server.go (about) 1 //go:build go1.18 2 // +build go1.18 3 4 // Copyright (c) Microsoft Corporation. All rights reserved. 5 // Licensed under the MIT License. See License.txt in the project root for license information. 6 // Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. 7 // Changes may cause incorrect behavior and will be lost if the code is regenerated. 8 9 package fake 10 11 import ( 12 "context" 13 "errors" 14 "fmt" 15 azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" 16 "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" 17 "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" 18 "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6" 19 "net/http" 20 "net/url" 21 "regexp" 22 ) 23 24 // PacketCapturesServer is a fake server for instances of the armnetwork.PacketCapturesClient type. 25 type PacketCapturesServer struct { 26 // BeginCreate is the fake for method PacketCapturesClient.BeginCreate 27 // HTTP status codes to indicate success: http.StatusCreated 28 BeginCreate func(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string, parameters armnetwork.PacketCapture, options *armnetwork.PacketCapturesClientBeginCreateOptions) (resp azfake.PollerResponder[armnetwork.PacketCapturesClientCreateResponse], errResp azfake.ErrorResponder) 29 30 // BeginDelete is the fake for method PacketCapturesClient.BeginDelete 31 // HTTP status codes to indicate success: http.StatusAccepted, http.StatusNoContent 32 BeginDelete func(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string, options *armnetwork.PacketCapturesClientBeginDeleteOptions) (resp azfake.PollerResponder[armnetwork.PacketCapturesClientDeleteResponse], errResp azfake.ErrorResponder) 33 34 // Get is the fake for method PacketCapturesClient.Get 35 // HTTP status codes to indicate success: http.StatusOK 36 Get func(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string, options *armnetwork.PacketCapturesClientGetOptions) (resp azfake.Responder[armnetwork.PacketCapturesClientGetResponse], errResp azfake.ErrorResponder) 37 38 // BeginGetStatus is the fake for method PacketCapturesClient.BeginGetStatus 39 // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted 40 BeginGetStatus func(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string, options *armnetwork.PacketCapturesClientBeginGetStatusOptions) (resp azfake.PollerResponder[armnetwork.PacketCapturesClientGetStatusResponse], errResp azfake.ErrorResponder) 41 42 // NewListPager is the fake for method PacketCapturesClient.NewListPager 43 // HTTP status codes to indicate success: http.StatusOK 44 NewListPager func(resourceGroupName string, networkWatcherName string, options *armnetwork.PacketCapturesClientListOptions) (resp azfake.PagerResponder[armnetwork.PacketCapturesClientListResponse]) 45 46 // BeginStop is the fake for method PacketCapturesClient.BeginStop 47 // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted 48 BeginStop func(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string, options *armnetwork.PacketCapturesClientBeginStopOptions) (resp azfake.PollerResponder[armnetwork.PacketCapturesClientStopResponse], errResp azfake.ErrorResponder) 49 } 50 51 // NewPacketCapturesServerTransport creates a new instance of PacketCapturesServerTransport with the provided implementation. 52 // The returned PacketCapturesServerTransport instance is connected to an instance of armnetwork.PacketCapturesClient via the 53 // azcore.ClientOptions.Transporter field in the client's constructor parameters. 54 func NewPacketCapturesServerTransport(srv *PacketCapturesServer) *PacketCapturesServerTransport { 55 return &PacketCapturesServerTransport{ 56 srv: srv, 57 beginCreate: newTracker[azfake.PollerResponder[armnetwork.PacketCapturesClientCreateResponse]](), 58 beginDelete: newTracker[azfake.PollerResponder[armnetwork.PacketCapturesClientDeleteResponse]](), 59 beginGetStatus: newTracker[azfake.PollerResponder[armnetwork.PacketCapturesClientGetStatusResponse]](), 60 newListPager: newTracker[azfake.PagerResponder[armnetwork.PacketCapturesClientListResponse]](), 61 beginStop: newTracker[azfake.PollerResponder[armnetwork.PacketCapturesClientStopResponse]](), 62 } 63 } 64 65 // PacketCapturesServerTransport connects instances of armnetwork.PacketCapturesClient to instances of PacketCapturesServer. 66 // Don't use this type directly, use NewPacketCapturesServerTransport instead. 67 type PacketCapturesServerTransport struct { 68 srv *PacketCapturesServer 69 beginCreate *tracker[azfake.PollerResponder[armnetwork.PacketCapturesClientCreateResponse]] 70 beginDelete *tracker[azfake.PollerResponder[armnetwork.PacketCapturesClientDeleteResponse]] 71 beginGetStatus *tracker[azfake.PollerResponder[armnetwork.PacketCapturesClientGetStatusResponse]] 72 newListPager *tracker[azfake.PagerResponder[armnetwork.PacketCapturesClientListResponse]] 73 beginStop *tracker[azfake.PollerResponder[armnetwork.PacketCapturesClientStopResponse]] 74 } 75 76 // Do implements the policy.Transporter interface for PacketCapturesServerTransport. 77 func (p *PacketCapturesServerTransport) Do(req *http.Request) (*http.Response, error) { 78 rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) 79 method, ok := rawMethod.(string) 80 if !ok { 81 return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} 82 } 83 84 var resp *http.Response 85 var err error 86 87 switch method { 88 case "PacketCapturesClient.BeginCreate": 89 resp, err = p.dispatchBeginCreate(req) 90 case "PacketCapturesClient.BeginDelete": 91 resp, err = p.dispatchBeginDelete(req) 92 case "PacketCapturesClient.Get": 93 resp, err = p.dispatchGet(req) 94 case "PacketCapturesClient.BeginGetStatus": 95 resp, err = p.dispatchBeginGetStatus(req) 96 case "PacketCapturesClient.NewListPager": 97 resp, err = p.dispatchNewListPager(req) 98 case "PacketCapturesClient.BeginStop": 99 resp, err = p.dispatchBeginStop(req) 100 default: 101 err = fmt.Errorf("unhandled API %s", method) 102 } 103 104 if err != nil { 105 return nil, err 106 } 107 108 return resp, nil 109 } 110 111 func (p *PacketCapturesServerTransport) dispatchBeginCreate(req *http.Request) (*http.Response, error) { 112 if p.srv.BeginCreate == nil { 113 return nil, &nonRetriableError{errors.New("fake for method BeginCreate not implemented")} 114 } 115 beginCreate := p.beginCreate.get(req) 116 if beginCreate == nil { 117 const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/networkWatchers/(?P<networkWatcherName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/packetCaptures/(?P<packetCaptureName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` 118 regex := regexp.MustCompile(regexStr) 119 matches := regex.FindStringSubmatch(req.URL.EscapedPath()) 120 if matches == nil || len(matches) < 4 { 121 return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) 122 } 123 body, err := server.UnmarshalRequestAsJSON[armnetwork.PacketCapture](req) 124 if err != nil { 125 return nil, err 126 } 127 resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) 128 if err != nil { 129 return nil, err 130 } 131 networkWatcherNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("networkWatcherName")]) 132 if err != nil { 133 return nil, err 134 } 135 packetCaptureNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("packetCaptureName")]) 136 if err != nil { 137 return nil, err 138 } 139 respr, errRespr := p.srv.BeginCreate(req.Context(), resourceGroupNameParam, networkWatcherNameParam, packetCaptureNameParam, body, nil) 140 if respErr := server.GetError(errRespr, req); respErr != nil { 141 return nil, respErr 142 } 143 beginCreate = &respr 144 p.beginCreate.add(req, beginCreate) 145 } 146 147 resp, err := server.PollerResponderNext(beginCreate, req) 148 if err != nil { 149 return nil, err 150 } 151 152 if !contains([]int{http.StatusCreated}, resp.StatusCode) { 153 p.beginCreate.remove(req) 154 return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusCreated", resp.StatusCode)} 155 } 156 if !server.PollerResponderMore(beginCreate) { 157 p.beginCreate.remove(req) 158 } 159 160 return resp, nil 161 } 162 163 func (p *PacketCapturesServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { 164 if p.srv.BeginDelete == nil { 165 return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} 166 } 167 beginDelete := p.beginDelete.get(req) 168 if beginDelete == nil { 169 const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/networkWatchers/(?P<networkWatcherName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/packetCaptures/(?P<packetCaptureName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` 170 regex := regexp.MustCompile(regexStr) 171 matches := regex.FindStringSubmatch(req.URL.EscapedPath()) 172 if matches == nil || len(matches) < 4 { 173 return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) 174 } 175 resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) 176 if err != nil { 177 return nil, err 178 } 179 networkWatcherNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("networkWatcherName")]) 180 if err != nil { 181 return nil, err 182 } 183 packetCaptureNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("packetCaptureName")]) 184 if err != nil { 185 return nil, err 186 } 187 respr, errRespr := p.srv.BeginDelete(req.Context(), resourceGroupNameParam, networkWatcherNameParam, packetCaptureNameParam, nil) 188 if respErr := server.GetError(errRespr, req); respErr != nil { 189 return nil, respErr 190 } 191 beginDelete = &respr 192 p.beginDelete.add(req, beginDelete) 193 } 194 195 resp, err := server.PollerResponderNext(beginDelete, req) 196 if err != nil { 197 return nil, err 198 } 199 200 if !contains([]int{http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { 201 p.beginDelete.remove(req) 202 return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} 203 } 204 if !server.PollerResponderMore(beginDelete) { 205 p.beginDelete.remove(req) 206 } 207 208 return resp, nil 209 } 210 211 func (p *PacketCapturesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { 212 if p.srv.Get == nil { 213 return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} 214 } 215 const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/networkWatchers/(?P<networkWatcherName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/packetCaptures/(?P<packetCaptureName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` 216 regex := regexp.MustCompile(regexStr) 217 matches := regex.FindStringSubmatch(req.URL.EscapedPath()) 218 if matches == nil || len(matches) < 4 { 219 return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) 220 } 221 resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) 222 if err != nil { 223 return nil, err 224 } 225 networkWatcherNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("networkWatcherName")]) 226 if err != nil { 227 return nil, err 228 } 229 packetCaptureNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("packetCaptureName")]) 230 if err != nil { 231 return nil, err 232 } 233 respr, errRespr := p.srv.Get(req.Context(), resourceGroupNameParam, networkWatcherNameParam, packetCaptureNameParam, nil) 234 if respErr := server.GetError(errRespr, req); respErr != nil { 235 return nil, respErr 236 } 237 respContent := server.GetResponseContent(respr) 238 if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { 239 return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} 240 } 241 resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).PacketCaptureResult, req) 242 if err != nil { 243 return nil, err 244 } 245 return resp, nil 246 } 247 248 func (p *PacketCapturesServerTransport) dispatchBeginGetStatus(req *http.Request) (*http.Response, error) { 249 if p.srv.BeginGetStatus == nil { 250 return nil, &nonRetriableError{errors.New("fake for method BeginGetStatus not implemented")} 251 } 252 beginGetStatus := p.beginGetStatus.get(req) 253 if beginGetStatus == nil { 254 const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/networkWatchers/(?P<networkWatcherName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/packetCaptures/(?P<packetCaptureName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/queryStatus` 255 regex := regexp.MustCompile(regexStr) 256 matches := regex.FindStringSubmatch(req.URL.EscapedPath()) 257 if matches == nil || len(matches) < 4 { 258 return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) 259 } 260 resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) 261 if err != nil { 262 return nil, err 263 } 264 networkWatcherNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("networkWatcherName")]) 265 if err != nil { 266 return nil, err 267 } 268 packetCaptureNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("packetCaptureName")]) 269 if err != nil { 270 return nil, err 271 } 272 respr, errRespr := p.srv.BeginGetStatus(req.Context(), resourceGroupNameParam, networkWatcherNameParam, packetCaptureNameParam, nil) 273 if respErr := server.GetError(errRespr, req); respErr != nil { 274 return nil, respErr 275 } 276 beginGetStatus = &respr 277 p.beginGetStatus.add(req, beginGetStatus) 278 } 279 280 resp, err := server.PollerResponderNext(beginGetStatus, req) 281 if err != nil { 282 return nil, err 283 } 284 285 if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { 286 p.beginGetStatus.remove(req) 287 return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} 288 } 289 if !server.PollerResponderMore(beginGetStatus) { 290 p.beginGetStatus.remove(req) 291 } 292 293 return resp, nil 294 } 295 296 func (p *PacketCapturesServerTransport) dispatchNewListPager(req *http.Request) (*http.Response, error) { 297 if p.srv.NewListPager == nil { 298 return nil, &nonRetriableError{errors.New("fake for method NewListPager not implemented")} 299 } 300 newListPager := p.newListPager.get(req) 301 if newListPager == nil { 302 const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/networkWatchers/(?P<networkWatcherName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/packetCaptures` 303 regex := regexp.MustCompile(regexStr) 304 matches := regex.FindStringSubmatch(req.URL.EscapedPath()) 305 if matches == nil || len(matches) < 3 { 306 return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) 307 } 308 resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) 309 if err != nil { 310 return nil, err 311 } 312 networkWatcherNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("networkWatcherName")]) 313 if err != nil { 314 return nil, err 315 } 316 resp := p.srv.NewListPager(resourceGroupNameParam, networkWatcherNameParam, nil) 317 newListPager = &resp 318 p.newListPager.add(req, newListPager) 319 } 320 resp, err := server.PagerResponderNext(newListPager, req) 321 if err != nil { 322 return nil, err 323 } 324 if !contains([]int{http.StatusOK}, resp.StatusCode) { 325 p.newListPager.remove(req) 326 return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} 327 } 328 if !server.PagerResponderMore(newListPager) { 329 p.newListPager.remove(req) 330 } 331 return resp, nil 332 } 333 334 func (p *PacketCapturesServerTransport) dispatchBeginStop(req *http.Request) (*http.Response, error) { 335 if p.srv.BeginStop == nil { 336 return nil, &nonRetriableError{errors.New("fake for method BeginStop not implemented")} 337 } 338 beginStop := p.beginStop.get(req) 339 if beginStop == nil { 340 const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/networkWatchers/(?P<networkWatcherName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/packetCaptures/(?P<packetCaptureName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/stop` 341 regex := regexp.MustCompile(regexStr) 342 matches := regex.FindStringSubmatch(req.URL.EscapedPath()) 343 if matches == nil || len(matches) < 4 { 344 return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) 345 } 346 resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) 347 if err != nil { 348 return nil, err 349 } 350 networkWatcherNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("networkWatcherName")]) 351 if err != nil { 352 return nil, err 353 } 354 packetCaptureNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("packetCaptureName")]) 355 if err != nil { 356 return nil, err 357 } 358 respr, errRespr := p.srv.BeginStop(req.Context(), resourceGroupNameParam, networkWatcherNameParam, packetCaptureNameParam, nil) 359 if respErr := server.GetError(errRespr, req); respErr != nil { 360 return nil, respErr 361 } 362 beginStop = &respr 363 p.beginStop.add(req, beginStop) 364 } 365 366 resp, err := server.PollerResponderNext(beginStop, req) 367 if err != nil { 368 return nil, err 369 } 370 371 if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { 372 p.beginStop.remove(req) 373 return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} 374 } 375 if !server.PollerResponderMore(beginStop) { 376 p.beginStop.remove(req) 377 } 378 379 return resp, nil 380 }