github.com/google/go-github/v49@v49.1.0/github/users_packages_test.go (about) 1 // Copyright 2021 The go-github AUTHORS. All rights reserved. 2 // 3 // Use of this source code is governed by a BSD-style 4 // license that can be found in the LICENSE file. 5 6 package github 7 8 import ( 9 "context" 10 "fmt" 11 "net/http" 12 "testing" 13 14 "github.com/google/go-cmp/cmp" 15 ) 16 17 func TestUsersService_Authenticated_ListPackages(t *testing.T) { 18 client, mux, _, teardown := setup() 19 defer teardown() 20 21 mux.HandleFunc("/user/packages", func(w http.ResponseWriter, r *http.Request) { 22 testMethod(t, r, "GET") 23 testFormValues(t, r, values{"package_type": "container", "visibility": "private"}) 24 fmt.Fprint(w, `[{ 25 "id": 197, 26 "name": "hello_docker", 27 "package_type": "container", 28 "version_count": 1, 29 "visibility": "private", 30 "url": "https://api.github.com/orgs/github/packages/container/hello_docker", 31 "created_at": `+referenceTimeStr+`, 32 "updated_at": `+referenceTimeStr+`, 33 "html_url": "https://github.com/orgs/github/packages/container/package/hello_docker" 34 }]`) 35 }) 36 37 ctx := context.Background() 38 packages, _, err := client.Users.ListPackages(ctx, "", &PackageListOptions{PackageType: String("container"), Visibility: String("private")}) 39 if err != nil { 40 t.Errorf("Users.Authenticated_ListPackages returned error: %v", err) 41 } 42 43 want := []*Package{{ 44 ID: Int64(197), 45 Name: String("hello_docker"), 46 PackageType: String("container"), 47 VersionCount: Int64(1), 48 Visibility: String("private"), 49 URL: String("https://api.github.com/orgs/github/packages/container/hello_docker"), 50 HTMLURL: String("https://github.com/orgs/github/packages/container/package/hello_docker"), 51 CreatedAt: &Timestamp{referenceTime}, 52 UpdatedAt: &Timestamp{referenceTime}, 53 }} 54 if !cmp.Equal(packages, want) { 55 t.Errorf("Users.Authenticated_ListPackages returned %+v, want %+v", packages, want) 56 } 57 58 const methodName = "ListPackages" 59 testBadOptions(t, methodName, func() (err error) { 60 _, _, err = client.Users.ListPackages(ctx, "\n", &PackageListOptions{}) 61 return err 62 }) 63 64 testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { 65 got, resp, err := client.Users.ListPackages(ctx, "", &PackageListOptions{}) 66 if got != nil { 67 t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got) 68 } 69 return resp, err 70 }) 71 } 72 73 func TestUsersService_specifiedUser_ListPackages(t *testing.T) { 74 client, mux, _, teardown := setup() 75 defer teardown() 76 77 mux.HandleFunc("/users/u/packages", func(w http.ResponseWriter, r *http.Request) { 78 testMethod(t, r, "GET") 79 testFormValues(t, r, values{"package_type": "container", "visibility": "public"}) 80 fmt.Fprint(w, `[{ 81 "id": 197, 82 "name": "hello_docker", 83 "package_type": "container", 84 "version_count": 1, 85 "visibility": "public", 86 "url": "https://api.github.com/orgs/github/packages/container/hello_docker", 87 "created_at": `+referenceTimeStr+`, 88 "updated_at": `+referenceTimeStr+`, 89 "html_url": "https://github.com/orgs/github/packages/container/package/hello_docker" 90 }]`) 91 }) 92 93 ctx := context.Background() 94 packages, _, err := client.Users.ListPackages(ctx, "u", &PackageListOptions{PackageType: String("container"), Visibility: String("public")}) 95 if err != nil { 96 t.Errorf("Users.specifiedUser_ListPackages returned error: %v", err) 97 } 98 99 want := []*Package{{ 100 ID: Int64(197), 101 Name: String("hello_docker"), 102 PackageType: String("container"), 103 VersionCount: Int64(1), 104 Visibility: String("public"), 105 URL: String("https://api.github.com/orgs/github/packages/container/hello_docker"), 106 HTMLURL: String("https://github.com/orgs/github/packages/container/package/hello_docker"), 107 CreatedAt: &Timestamp{referenceTime}, 108 UpdatedAt: &Timestamp{referenceTime}, 109 }} 110 if !cmp.Equal(packages, want) { 111 t.Errorf("Users.specifiedUser_ListPackages returned %+v, want %+v", packages, want) 112 } 113 114 const methodName = "ListPackages" 115 testBadOptions(t, methodName, func() (err error) { 116 _, _, err = client.Users.ListPackages(ctx, "\n", &PackageListOptions{}) 117 return err 118 }) 119 120 testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { 121 got, resp, err := client.Users.ListPackages(ctx, "", &PackageListOptions{}) 122 if got != nil { 123 t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got) 124 } 125 return resp, err 126 }) 127 } 128 129 func TestUsersService_specifiedUser_GetPackage(t *testing.T) { 130 client, mux, _, teardown := setup() 131 defer teardown() 132 133 mux.HandleFunc("/users/u/packages/container/hello_docker", func(w http.ResponseWriter, r *http.Request) { 134 testMethod(t, r, "GET") 135 fmt.Fprint(w, `{ 136 "id": 197, 137 "name": "hello_docker", 138 "package_type": "container", 139 "version_count": 1, 140 "visibility": "private", 141 "url": "https://api.github.com/orgs/github/packages/container/hello_docker", 142 "created_at": `+referenceTimeStr+`, 143 "updated_at": `+referenceTimeStr+`, 144 "html_url": "https://github.com/orgs/github/packages/container/package/hello_docker" 145 }`) 146 }) 147 148 ctx := context.Background() 149 packages, _, err := client.Users.GetPackage(ctx, "u", "container", "hello_docker") 150 if err != nil { 151 t.Errorf("Users.GetPackage returned error: %v", err) 152 } 153 154 want := &Package{ 155 ID: Int64(197), 156 Name: String("hello_docker"), 157 PackageType: String("container"), 158 VersionCount: Int64(1), 159 Visibility: String("private"), 160 URL: String("https://api.github.com/orgs/github/packages/container/hello_docker"), 161 HTMLURL: String("https://github.com/orgs/github/packages/container/package/hello_docker"), 162 CreatedAt: &Timestamp{referenceTime}, 163 UpdatedAt: &Timestamp{referenceTime}, 164 } 165 if !cmp.Equal(packages, want) { 166 t.Errorf("Users.specifiedUser_GetPackage returned %+v, want %+v", packages, want) 167 } 168 169 const methodName = "GetPackage" 170 testBadOptions(t, methodName, func() (err error) { 171 _, _, err = client.Users.GetPackage(ctx, "\n", "\n", "\n") 172 return err 173 }) 174 175 testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { 176 got, resp, err := client.Users.GetPackage(ctx, "", "", "") 177 if got != nil { 178 t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got) 179 } 180 return resp, err 181 }) 182 } 183 184 func TestUsersService_Authenticated_GetPackage(t *testing.T) { 185 client, mux, _, teardown := setup() 186 defer teardown() 187 188 mux.HandleFunc("/user/packages/container/hello_docker", func(w http.ResponseWriter, r *http.Request) { 189 testMethod(t, r, "GET") 190 fmt.Fprint(w, `{ 191 "id": 197, 192 "name": "hello_docker", 193 "package_type": "container", 194 "version_count": 1, 195 "visibility": "private", 196 "url": "https://api.github.com/orgs/github/packages/container/hello_docker", 197 "created_at": `+referenceTimeStr+`, 198 "updated_at": `+referenceTimeStr+`, 199 "html_url": "https://github.com/orgs/github/packages/container/package/hello_docker" 200 }`) 201 }) 202 203 ctx := context.Background() 204 packages, _, err := client.Users.GetPackage(ctx, "", "container", "hello_docker") 205 if err != nil { 206 t.Errorf("Users.Authenticated_GetPackage returned error: %v", err) 207 } 208 209 want := &Package{ 210 ID: Int64(197), 211 Name: String("hello_docker"), 212 PackageType: String("container"), 213 VersionCount: Int64(1), 214 Visibility: String("private"), 215 URL: String("https://api.github.com/orgs/github/packages/container/hello_docker"), 216 HTMLURL: String("https://github.com/orgs/github/packages/container/package/hello_docker"), 217 CreatedAt: &Timestamp{referenceTime}, 218 UpdatedAt: &Timestamp{referenceTime}, 219 } 220 if !cmp.Equal(packages, want) { 221 t.Errorf("Users.Authenticated_GetPackage returned %+v, want %+v", packages, want) 222 } 223 224 const methodName = "GetPackage" 225 testBadOptions(t, methodName, func() (err error) { 226 _, _, err = client.Users.GetPackage(ctx, "\n", "\n", "\n") 227 return err 228 }) 229 230 testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { 231 got, resp, err := client.Users.GetPackage(ctx, "", "", "") 232 if got != nil { 233 t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got) 234 } 235 return resp, err 236 }) 237 } 238 239 func TestUsersService_Authenticated_DeletePackage(t *testing.T) { 240 client, mux, _, teardown := setup() 241 defer teardown() 242 243 mux.HandleFunc("/user/packages/container/hello_docker", func(w http.ResponseWriter, r *http.Request) { 244 testMethod(t, r, "DELETE") 245 }) 246 247 ctx := context.Background() 248 _, err := client.Users.DeletePackage(ctx, "", "container", "hello_docker") 249 if err != nil { 250 t.Errorf("Users.Authenticated_DeletePackage returned error: %v", err) 251 } 252 253 const methodName = "DeletePackage" 254 testBadOptions(t, methodName, func() (err error) { 255 _, err = client.Users.DeletePackage(ctx, "\n", "\n", "\n") 256 return err 257 }) 258 259 testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { 260 return client.Users.DeletePackage(ctx, "", "", "") 261 }) 262 } 263 264 func TestUsersService_specifiedUser_DeletePackage(t *testing.T) { 265 client, mux, _, teardown := setup() 266 defer teardown() 267 268 mux.HandleFunc("/users/u/packages/container/hello_docker", func(w http.ResponseWriter, r *http.Request) { 269 testMethod(t, r, "DELETE") 270 }) 271 272 ctx := context.Background() 273 _, err := client.Users.DeletePackage(ctx, "u", "container", "hello_docker") 274 if err != nil { 275 t.Errorf("Users.specifiedUser_DeletePackage returned error: %v", err) 276 } 277 278 const methodName = "DeletePackage" 279 testBadOptions(t, methodName, func() (err error) { 280 _, err = client.Users.DeletePackage(ctx, "\n", "\n", "\n") 281 return err 282 }) 283 284 testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { 285 return client.Users.DeletePackage(ctx, "", "", "") 286 }) 287 } 288 289 func TestUsersService_Authenticated_RestorePackage(t *testing.T) { 290 client, mux, _, teardown := setup() 291 defer teardown() 292 293 mux.HandleFunc("/user/packages/container/hello_docker/restore", func(w http.ResponseWriter, r *http.Request) { 294 testMethod(t, r, "POST") 295 }) 296 297 ctx := context.Background() 298 _, err := client.Users.RestorePackage(ctx, "", "container", "hello_docker") 299 if err != nil { 300 t.Errorf("Users.Authenticated_RestorePackage returned error: %v", err) 301 } 302 303 const methodName = "RestorePackage" 304 testBadOptions(t, methodName, func() (err error) { 305 _, err = client.Users.RestorePackage(ctx, "\n", "", "") 306 return err 307 }) 308 309 testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { 310 return client.Users.RestorePackage(ctx, "", "container", "hello_docker") 311 }) 312 } 313 314 func TestUsersService_specifiedUser_RestorePackage(t *testing.T) { 315 client, mux, _, teardown := setup() 316 defer teardown() 317 318 mux.HandleFunc("/users/u/packages/container/hello_docker/restore", func(w http.ResponseWriter, r *http.Request) { 319 testMethod(t, r, "POST") 320 }) 321 322 ctx := context.Background() 323 _, err := client.Users.RestorePackage(ctx, "u", "container", "hello_docker") 324 if err != nil { 325 t.Errorf("Users.specifiedUser_RestorePackage returned error: %v", err) 326 } 327 328 const methodName = "RestorePackage" 329 testBadOptions(t, methodName, func() (err error) { 330 _, err = client.Users.RestorePackage(ctx, "\n", "", "") 331 return err 332 }) 333 334 testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { 335 return client.Users.RestorePackage(ctx, "", "container", "hello_docker") 336 }) 337 } 338 339 func TestUsersService_Authenticated_ListPackagesVersions(t *testing.T) { 340 client, mux, _, teardown := setup() 341 defer teardown() 342 343 mux.HandleFunc("/user/packages/container/hello_docker/versions", func(w http.ResponseWriter, r *http.Request) { 344 testMethod(t, r, "GET") 345 fmt.Fprint(w, `[ 346 { 347 "id": 45763, 348 "name": "sha256:08a44bab0bddaddd8837a8b381aebc2e4b933768b981685a9e088360af0d3dd9", 349 "url": "https://api.github.com/users/octocat/packages/container/hello_docker/versions/45763", 350 "package_html_url": "https://github.com/users/octocat/packages/container/package/hello_docker", 351 "created_at": `+referenceTimeStr+`, 352 "updated_at": `+referenceTimeStr+`, 353 "html_url": "https://github.com/users/octocat/packages/container/hello_docker/45763", 354 "metadata": { 355 "package_type": "container", 356 "container": { 357 "tags": [ 358 "latest" 359 ] 360 } 361 } 362 }]`) 363 }) 364 365 ctx := context.Background() 366 opts := &PackageListOptions{ 367 String("internal"), String("container"), String("deleted"), ListOptions{Page: 1, PerPage: 2}, 368 } 369 packages, _, err := client.Users.PackageGetAllVersions(ctx, "", "container", "hello_docker", opts) 370 if err != nil { 371 t.Errorf("Users.Authenticated_PackageGetAllVersions returned error: %v", err) 372 } 373 374 want := []*PackageVersion{{ 375 ID: Int64(45763), 376 Name: String("sha256:08a44bab0bddaddd8837a8b381aebc2e4b933768b981685a9e088360af0d3dd9"), 377 URL: String("https://api.github.com/users/octocat/packages/container/hello_docker/versions/45763"), 378 PackageHTMLURL: String("https://github.com/users/octocat/packages/container/package/hello_docker"), 379 CreatedAt: &Timestamp{referenceTime}, 380 UpdatedAt: &Timestamp{referenceTime}, 381 HTMLURL: String("https://github.com/users/octocat/packages/container/hello_docker/45763"), 382 Metadata: &PackageMetadata{ 383 PackageType: String("container"), 384 Container: &PackageContainerMetadata{ 385 Tags: []string{"latest"}, 386 }, 387 }, 388 }} 389 if !cmp.Equal(packages, want) { 390 t.Errorf("Users.PackageGetAllVersions returned %+v, want %+v", packages, want) 391 } 392 393 const methodName = "PackageGetAllVersions" 394 testBadOptions(t, methodName, func() (err error) { 395 _, _, err = client.Users.PackageGetAllVersions(ctx, "\n", "", "", &PackageListOptions{}) 396 return err 397 }) 398 399 testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { 400 got, resp, err := client.Users.PackageGetAllVersions(ctx, "", "", "", &PackageListOptions{}) 401 if got != nil { 402 t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got) 403 } 404 return resp, err 405 }) 406 } 407 408 func TestUsersService_specifiedUser_ListPackagesVersions(t *testing.T) { 409 client, mux, _, teardown := setup() 410 defer teardown() 411 412 mux.HandleFunc("/users/u/packages/container/hello_docker/versions", func(w http.ResponseWriter, r *http.Request) { 413 testMethod(t, r, "GET") 414 fmt.Fprint(w, `[ 415 { 416 "id": 45763, 417 "name": "sha256:08a44bab0bddaddd8837a8b381aebc2e4b933768b981685a9e088360af0d3dd9", 418 "url": "https://api.github.com/users/octocat/packages/container/hello_docker/versions/45763", 419 "package_html_url": "https://github.com/users/octocat/packages/container/package/hello_docker", 420 "created_at": `+referenceTimeStr+`, 421 "updated_at": `+referenceTimeStr+`, 422 "html_url": "https://github.com/users/octocat/packages/container/hello_docker/45763", 423 "metadata": { 424 "package_type": "container", 425 "container": { 426 "tags": [ 427 "latest" 428 ] 429 } 430 } 431 }]`) 432 }) 433 434 ctx := context.Background() 435 opts := &PackageListOptions{ 436 String("internal"), String("container"), String("deleted"), ListOptions{Page: 1, PerPage: 2}, 437 } 438 packages, _, err := client.Users.PackageGetAllVersions(ctx, "u", "container", "hello_docker", opts) 439 if err != nil { 440 t.Errorf("Users.specifiedUser_PackageGetAllVersions returned error: %v", err) 441 } 442 443 want := []*PackageVersion{{ 444 ID: Int64(45763), 445 Name: String("sha256:08a44bab0bddaddd8837a8b381aebc2e4b933768b981685a9e088360af0d3dd9"), 446 URL: String("https://api.github.com/users/octocat/packages/container/hello_docker/versions/45763"), 447 PackageHTMLURL: String("https://github.com/users/octocat/packages/container/package/hello_docker"), 448 CreatedAt: &Timestamp{referenceTime}, 449 UpdatedAt: &Timestamp{referenceTime}, 450 HTMLURL: String("https://github.com/users/octocat/packages/container/hello_docker/45763"), 451 Metadata: &PackageMetadata{ 452 PackageType: String("container"), 453 Container: &PackageContainerMetadata{ 454 Tags: []string{"latest"}, 455 }, 456 }, 457 }} 458 if !cmp.Equal(packages, want) { 459 t.Errorf("Users.specifiedUser_PackageGetAllVersions returned %+v, want %+v", packages, want) 460 } 461 462 const methodName = "PackageGetAllVersions" 463 testBadOptions(t, methodName, func() (err error) { 464 _, _, err = client.Users.PackageGetAllVersions(ctx, "\n", "", "", &PackageListOptions{}) 465 return err 466 }) 467 468 testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { 469 got, resp, err := client.Users.PackageGetAllVersions(ctx, "", "", "", &PackageListOptions{}) 470 if got != nil { 471 t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got) 472 } 473 return resp, err 474 }) 475 } 476 477 func TestUsersService_Authenticated_PackageGetVersion(t *testing.T) { 478 client, mux, _, teardown := setup() 479 defer teardown() 480 481 mux.HandleFunc("/user/packages/container/hello_docker/versions/45763", func(w http.ResponseWriter, r *http.Request) { 482 testMethod(t, r, "GET") 483 fmt.Fprint(w, ` 484 { 485 "id": 45763, 486 "name": "sha256:08a44bab0bddaddd8837a8b381aebc2e4b933768b981685a9e088360af0d3dd9", 487 "url": "https://api.github.com/users/octocat/packages/container/hello_docker/versions/45763", 488 "package_html_url": "https://github.com/users/octocat/packages/container/package/hello_docker", 489 "created_at": `+referenceTimeStr+`, 490 "updated_at": `+referenceTimeStr+`, 491 "html_url": "https://github.com/users/octocat/packages/container/hello_docker/45763", 492 "metadata": { 493 "package_type": "container", 494 "container": { 495 "tags": [ 496 "latest" 497 ] 498 } 499 } 500 }`) 501 }) 502 503 ctx := context.Background() 504 packages, _, err := client.Users.PackageGetVersion(ctx, "", "container", "hello_docker", 45763) 505 if err != nil { 506 t.Errorf("Users.PackageGetVersion returned error: %v", err) 507 } 508 509 want := &PackageVersion{ 510 ID: Int64(45763), 511 Name: String("sha256:08a44bab0bddaddd8837a8b381aebc2e4b933768b981685a9e088360af0d3dd9"), 512 URL: String("https://api.github.com/users/octocat/packages/container/hello_docker/versions/45763"), 513 PackageHTMLURL: String("https://github.com/users/octocat/packages/container/package/hello_docker"), 514 CreatedAt: &Timestamp{referenceTime}, 515 UpdatedAt: &Timestamp{referenceTime}, 516 HTMLURL: String("https://github.com/users/octocat/packages/container/hello_docker/45763"), 517 Metadata: &PackageMetadata{ 518 PackageType: String("container"), 519 Container: &PackageContainerMetadata{ 520 Tags: []string{"latest"}, 521 }, 522 }, 523 } 524 if !cmp.Equal(packages, want) { 525 t.Errorf("Users.Authenticated_PackageGetVersion returned %+v, want %+v", packages, want) 526 } 527 528 const methodName = "PackageGetVersion" 529 testBadOptions(t, methodName, func() (err error) { 530 _, _, err = client.Users.PackageGetVersion(ctx, "\n", "", "", 0) 531 return err 532 }) 533 534 testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { 535 got, resp, err := client.Users.PackageGetVersion(ctx, "", "", "", 45763) 536 if got != nil { 537 t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got) 538 } 539 return resp, err 540 }) 541 } 542 543 func TestUsersService_specifiedUser_PackageGetVersion(t *testing.T) { 544 client, mux, _, teardown := setup() 545 defer teardown() 546 547 mux.HandleFunc("/users/u/packages/container/hello_docker/versions/45763", func(w http.ResponseWriter, r *http.Request) { 548 testMethod(t, r, "GET") 549 fmt.Fprint(w, ` 550 { 551 "id": 45763, 552 "name": "sha256:08a44bab0bddaddd8837a8b381aebc2e4b933768b981685a9e088360af0d3dd9", 553 "url": "https://api.github.com/users/octocat/packages/container/hello_docker/versions/45763", 554 "package_html_url": "https://github.com/users/octocat/packages/container/package/hello_docker", 555 "created_at": `+referenceTimeStr+`, 556 "updated_at": `+referenceTimeStr+`, 557 "html_url": "https://github.com/users/octocat/packages/container/hello_docker/45763", 558 "metadata": { 559 "package_type": "container", 560 "container": { 561 "tags": [ 562 "latest" 563 ] 564 } 565 } 566 }`) 567 }) 568 569 ctx := context.Background() 570 packages, _, err := client.Users.PackageGetVersion(ctx, "u", "container", "hello_docker", 45763) 571 if err != nil { 572 t.Errorf("Users.specifiedUser_PackageGetVersion returned error: %v", err) 573 } 574 575 want := &PackageVersion{ 576 ID: Int64(45763), 577 Name: String("sha256:08a44bab0bddaddd8837a8b381aebc2e4b933768b981685a9e088360af0d3dd9"), 578 URL: String("https://api.github.com/users/octocat/packages/container/hello_docker/versions/45763"), 579 PackageHTMLURL: String("https://github.com/users/octocat/packages/container/package/hello_docker"), 580 CreatedAt: &Timestamp{referenceTime}, 581 UpdatedAt: &Timestamp{referenceTime}, 582 HTMLURL: String("https://github.com/users/octocat/packages/container/hello_docker/45763"), 583 Metadata: &PackageMetadata{ 584 PackageType: String("container"), 585 Container: &PackageContainerMetadata{ 586 Tags: []string{"latest"}, 587 }, 588 }, 589 } 590 if !cmp.Equal(packages, want) { 591 t.Errorf("Users.specifiedUser_PackageGetVersion returned %+v, want %+v", packages, want) 592 } 593 594 const methodName = "PackageGetVersion" 595 testBadOptions(t, methodName, func() (err error) { 596 _, _, err = client.Users.PackageGetVersion(ctx, "\n", "", "", 0) 597 return err 598 }) 599 600 testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { 601 got, resp, err := client.Users.PackageGetVersion(ctx, "", "", "", 45763) 602 if got != nil { 603 t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got) 604 } 605 return resp, err 606 }) 607 } 608 609 func TestUsersService_Authenticated_PackageDeleteVersion(t *testing.T) { 610 client, mux, _, teardown := setup() 611 defer teardown() 612 613 mux.HandleFunc("/user/packages/container/hello_docker/versions/45763", func(w http.ResponseWriter, r *http.Request) { 614 testMethod(t, r, "DELETE") 615 }) 616 617 ctx := context.Background() 618 _, err := client.Users.PackageDeleteVersion(ctx, "", "container", "hello_docker", 45763) 619 if err != nil { 620 t.Errorf("Users.Authenticated_PackageDeleteVersion returned error: %v", err) 621 } 622 623 const methodName = "PackageDeleteVersion" 624 testBadOptions(t, methodName, func() (err error) { 625 _, err = client.Users.PackageDeleteVersion(ctx, "\n", "", "", 0) 626 return err 627 }) 628 629 testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { 630 return client.Users.PackageDeleteVersion(ctx, "", "", "", 45763) 631 }) 632 } 633 634 func TestUsersService_specifiedUser_PackageDeleteVersion(t *testing.T) { 635 client, mux, _, teardown := setup() 636 defer teardown() 637 638 mux.HandleFunc("/users/u/packages/container/hello_docker/versions/45763", func(w http.ResponseWriter, r *http.Request) { 639 testMethod(t, r, "DELETE") 640 }) 641 642 ctx := context.Background() 643 _, err := client.Users.PackageDeleteVersion(ctx, "u", "container", "hello_docker", 45763) 644 if err != nil { 645 t.Errorf("Users.specifiedUser_PackageDeleteVersion returned error: %v", err) 646 } 647 648 const methodName = "PackageDeleteVersion" 649 testBadOptions(t, methodName, func() (err error) { 650 _, err = client.Users.PackageDeleteVersion(ctx, "\n", "", "", 0) 651 return err 652 }) 653 654 testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { 655 return client.Users.PackageDeleteVersion(ctx, "", "", "", 45763) 656 }) 657 } 658 659 func TestUsersService_Authenticated_PackageRestoreVersion(t *testing.T) { 660 client, mux, _, teardown := setup() 661 defer teardown() 662 663 mux.HandleFunc("/user/packages/container/hello_docker/versions/45763/restore", func(w http.ResponseWriter, r *http.Request) { 664 testMethod(t, r, "POST") 665 }) 666 667 ctx := context.Background() 668 _, err := client.Users.PackageRestoreVersion(ctx, "", "container", "hello_docker", 45763) 669 if err != nil { 670 t.Errorf("Users.Authenticated_PackageRestoreVersion returned error: %v", err) 671 } 672 673 const methodName = "PackageRestoreVersion" 674 testBadOptions(t, methodName, func() (err error) { 675 _, err = client.Users.PackageRestoreVersion(ctx, "\n", "", "", 0) 676 return err 677 }) 678 679 testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { 680 return client.Users.PackageRestoreVersion(ctx, "", "", "", 45763) 681 }) 682 } 683 684 func TestUsersService_specifiedUser_PackageRestoreVersion(t *testing.T) { 685 client, mux, _, teardown := setup() 686 defer teardown() 687 688 mux.HandleFunc("/users/u/packages/container/hello_docker/versions/45763/restore", func(w http.ResponseWriter, r *http.Request) { 689 testMethod(t, r, "POST") 690 }) 691 692 ctx := context.Background() 693 _, err := client.Users.PackageRestoreVersion(ctx, "u", "container", "hello_docker", 45763) 694 if err != nil { 695 t.Errorf("Users.specifiedUser_PackageRestoreVersion returned error: %v", err) 696 } 697 698 const methodName = "PackageRestoreVersion" 699 testBadOptions(t, methodName, func() (err error) { 700 _, err = client.Users.PackageRestoreVersion(ctx, "\n", "", "", 0) 701 return err 702 }) 703 704 testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { 705 return client.Users.PackageRestoreVersion(ctx, "", "", "", 45763) 706 }) 707 }