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