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