1// Copyright 2020 Google LLC. 2// Use of this source code is governed by a BSD-style 3// license that can be found in the LICENSE file. 4 5// Code generated file. DO NOT EDIT. 6 7// Package testing provides access to the Cloud Testing API. 8// 9// For product documentation, see: https://developers.google.com/cloud-test-lab/ 10// 11// Creating a client 12// 13// Usage example: 14// 15// import "google.golang.org/api/testing/v1" 16// ... 17// ctx := context.Background() 18// testingService, err := testing.NewService(ctx) 19// 20// In this example, Google Application Default Credentials are used for authentication. 21// 22// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. 23// 24// Other authentication options 25// 26// By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes: 27// 28// testingService, err := testing.NewService(ctx, option.WithScopes(testing.CloudPlatformReadOnlyScope)) 29// 30// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: 31// 32// testingService, err := testing.NewService(ctx, option.WithAPIKey("AIza...")) 33// 34// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource: 35// 36// config := &oauth2.Config{...} 37// // ... 38// token, err := config.Exchange(ctx, ...) 39// testingService, err := testing.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) 40// 41// See https://godoc.org/google.golang.org/api/option/ for details on options. 42package testing // import "google.golang.org/api/testing/v1" 43 44import ( 45 "bytes" 46 "context" 47 "encoding/json" 48 "errors" 49 "fmt" 50 "io" 51 "net/http" 52 "net/url" 53 "strconv" 54 "strings" 55 56 googleapi "google.golang.org/api/googleapi" 57 gensupport "google.golang.org/api/internal/gensupport" 58 option "google.golang.org/api/option" 59 internaloption "google.golang.org/api/option/internaloption" 60 htransport "google.golang.org/api/transport/http" 61) 62 63// Always reference these packages, just in case the auto-generated code 64// below doesn't. 65var _ = bytes.NewBuffer 66var _ = strconv.Itoa 67var _ = fmt.Sprintf 68var _ = json.NewDecoder 69var _ = io.Copy 70var _ = url.Parse 71var _ = gensupport.MarshalJSON 72var _ = googleapi.Version 73var _ = errors.New 74var _ = strings.Replace 75var _ = context.Canceled 76var _ = internaloption.WithDefaultEndpoint 77 78const apiId = "testing:v1" 79const apiName = "testing" 80const apiVersion = "v1" 81const basePath = "https://testing.googleapis.com/" 82 83// OAuth2 scopes used by this API. 84const ( 85 // View and manage your data across Google Cloud Platform services 86 CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" 87 88 // View your data across Google Cloud Platform services 89 CloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/cloud-platform.read-only" 90) 91 92// NewService creates a new Service. 93func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { 94 scopesOption := option.WithScopes( 95 "https://www.googleapis.com/auth/cloud-platform", 96 "https://www.googleapis.com/auth/cloud-platform.read-only", 97 ) 98 // NOTE: prepend, so we don't override user-specified scopes. 99 opts = append([]option.ClientOption{scopesOption}, opts...) 100 opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) 101 client, endpoint, err := htransport.NewClient(ctx, opts...) 102 if err != nil { 103 return nil, err 104 } 105 s, err := New(client) 106 if err != nil { 107 return nil, err 108 } 109 if endpoint != "" { 110 s.BasePath = endpoint 111 } 112 return s, nil 113} 114 115// New creates a new Service. It uses the provided http.Client for requests. 116// 117// Deprecated: please use NewService instead. 118// To provide a custom HTTP client, use option.WithHTTPClient. 119// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. 120func New(client *http.Client) (*Service, error) { 121 if client == nil { 122 return nil, errors.New("client is nil") 123 } 124 s := &Service{client: client, BasePath: basePath} 125 s.ApplicationDetailService = NewApplicationDetailServiceService(s) 126 s.Projects = NewProjectsService(s) 127 s.TestEnvironmentCatalog = NewTestEnvironmentCatalogService(s) 128 return s, nil 129} 130 131type Service struct { 132 client *http.Client 133 BasePath string // API endpoint base URL 134 UserAgent string // optional additional User-Agent fragment 135 136 ApplicationDetailService *ApplicationDetailServiceService 137 138 Projects *ProjectsService 139 140 TestEnvironmentCatalog *TestEnvironmentCatalogService 141} 142 143func (s *Service) userAgent() string { 144 if s.UserAgent == "" { 145 return googleapi.UserAgent 146 } 147 return googleapi.UserAgent + " " + s.UserAgent 148} 149 150func NewApplicationDetailServiceService(s *Service) *ApplicationDetailServiceService { 151 rs := &ApplicationDetailServiceService{s: s} 152 return rs 153} 154 155type ApplicationDetailServiceService struct { 156 s *Service 157} 158 159func NewProjectsService(s *Service) *ProjectsService { 160 rs := &ProjectsService{s: s} 161 rs.TestMatrices = NewProjectsTestMatricesService(s) 162 return rs 163} 164 165type ProjectsService struct { 166 s *Service 167 168 TestMatrices *ProjectsTestMatricesService 169} 170 171func NewProjectsTestMatricesService(s *Service) *ProjectsTestMatricesService { 172 rs := &ProjectsTestMatricesService{s: s} 173 return rs 174} 175 176type ProjectsTestMatricesService struct { 177 s *Service 178} 179 180func NewTestEnvironmentCatalogService(s *Service) *TestEnvironmentCatalogService { 181 rs := &TestEnvironmentCatalogService{s: s} 182 return rs 183} 184 185type TestEnvironmentCatalogService struct { 186 s *Service 187} 188 189// Account: Identifies an account and how to log into it. 190type Account struct { 191 // GoogleAuto: An automatic google login account. 192 GoogleAuto *GoogleAuto `json:"googleAuto,omitempty"` 193 194 // ForceSendFields is a list of field names (e.g. "GoogleAuto") to 195 // unconditionally include in API requests. By default, fields with 196 // empty values are omitted from API requests. However, any non-pointer, 197 // non-interface field appearing in ForceSendFields will be sent to the 198 // server regardless of whether the field is empty or not. This may be 199 // used to include empty fields in Patch requests. 200 ForceSendFields []string `json:"-"` 201 202 // NullFields is a list of field names (e.g. "GoogleAuto") to include in 203 // API requests with the JSON null value. By default, fields with empty 204 // values are omitted from API requests. However, any field with an 205 // empty value appearing in NullFields will be sent to the server as 206 // null. It is an error if a field in this list has a non-empty value. 207 // This may be used to include null fields in Patch requests. 208 NullFields []string `json:"-"` 209} 210 211func (s *Account) MarshalJSON() ([]byte, error) { 212 type NoMethod Account 213 raw := NoMethod(*s) 214 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 215} 216 217// AndroidDevice: A single Android device. 218type AndroidDevice struct { 219 // AndroidModelId: Required. The id of the Android device to be 220 // used. 221 // Use the TestEnvironmentDiscoveryService to get supported options. 222 AndroidModelId string `json:"androidModelId,omitempty"` 223 224 // AndroidVersionId: Required. The id of the Android OS version to be 225 // used. 226 // Use the TestEnvironmentDiscoveryService to get supported options. 227 AndroidVersionId string `json:"androidVersionId,omitempty"` 228 229 // Locale: Required. The locale the test device used for testing. 230 // Use the TestEnvironmentDiscoveryService to get supported options. 231 Locale string `json:"locale,omitempty"` 232 233 // Orientation: Required. How the device is oriented during the 234 // test. 235 // Use the TestEnvironmentDiscoveryService to get supported options. 236 Orientation string `json:"orientation,omitempty"` 237 238 // ForceSendFields is a list of field names (e.g. "AndroidModelId") to 239 // unconditionally include in API requests. By default, fields with 240 // empty values are omitted from API requests. However, any non-pointer, 241 // non-interface field appearing in ForceSendFields will be sent to the 242 // server regardless of whether the field is empty or not. This may be 243 // used to include empty fields in Patch requests. 244 ForceSendFields []string `json:"-"` 245 246 // NullFields is a list of field names (e.g. "AndroidModelId") to 247 // include in API requests with the JSON null value. By default, fields 248 // with empty values are omitted from API requests. However, any field 249 // with an empty value appearing in NullFields will be sent to the 250 // server as null. It is an error if a field in this list has a 251 // non-empty value. This may be used to include null fields in Patch 252 // requests. 253 NullFields []string `json:"-"` 254} 255 256func (s *AndroidDevice) MarshalJSON() ([]byte, error) { 257 type NoMethod AndroidDevice 258 raw := NoMethod(*s) 259 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 260} 261 262// AndroidDeviceCatalog: The currently supported Android devices. 263type AndroidDeviceCatalog struct { 264 // Models: The set of supported Android device models. 265 Models []*AndroidModel `json:"models,omitempty"` 266 267 // RuntimeConfiguration: The set of supported runtime configurations. 268 RuntimeConfiguration *AndroidRuntimeConfiguration `json:"runtimeConfiguration,omitempty"` 269 270 // Versions: The set of supported Android OS versions. 271 Versions []*AndroidVersion `json:"versions,omitempty"` 272 273 // ForceSendFields is a list of field names (e.g. "Models") to 274 // unconditionally include in API requests. By default, fields with 275 // empty values are omitted from API requests. However, any non-pointer, 276 // non-interface field appearing in ForceSendFields will be sent to the 277 // server regardless of whether the field is empty or not. This may be 278 // used to include empty fields in Patch requests. 279 ForceSendFields []string `json:"-"` 280 281 // NullFields is a list of field names (e.g. "Models") to include in API 282 // requests with the JSON null value. By default, fields with empty 283 // values are omitted from API requests. However, any field with an 284 // empty value appearing in NullFields will be sent to the server as 285 // null. It is an error if a field in this list has a non-empty value. 286 // This may be used to include null fields in Patch requests. 287 NullFields []string `json:"-"` 288} 289 290func (s *AndroidDeviceCatalog) MarshalJSON() ([]byte, error) { 291 type NoMethod AndroidDeviceCatalog 292 raw := NoMethod(*s) 293 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 294} 295 296// AndroidDeviceList: A list of Android device configurations in which 297// the test is to be executed. 298type AndroidDeviceList struct { 299 // AndroidDevices: Required. A list of Android devices. 300 AndroidDevices []*AndroidDevice `json:"androidDevices,omitempty"` 301 302 // ForceSendFields is a list of field names (e.g. "AndroidDevices") to 303 // unconditionally include in API requests. By default, fields with 304 // empty values are omitted from API requests. However, any non-pointer, 305 // non-interface field appearing in ForceSendFields will be sent to the 306 // server regardless of whether the field is empty or not. This may be 307 // used to include empty fields in Patch requests. 308 ForceSendFields []string `json:"-"` 309 310 // NullFields is a list of field names (e.g. "AndroidDevices") to 311 // include in API requests with the JSON null value. By default, fields 312 // with empty values are omitted from API requests. However, any field 313 // with an empty value appearing in NullFields will be sent to the 314 // server as null. It is an error if a field in this list has a 315 // non-empty value. This may be used to include null fields in Patch 316 // requests. 317 NullFields []string `json:"-"` 318} 319 320func (s *AndroidDeviceList) MarshalJSON() ([]byte, error) { 321 type NoMethod AndroidDeviceList 322 raw := NoMethod(*s) 323 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 324} 325 326// AndroidInstrumentationTest: A test of an Android application that can 327// control an Android component 328// independently of its normal lifecycle. 329// Android instrumentation tests run an application APK and test APK 330// inside the 331// same process on a virtual or physical AndroidDevice. They also 332// specify 333// a test runner class, such as com.google.GoogleTestRunner, which can 334// vary 335// on the specific instrumentation framework chosen. 336// 337// See <http://developer.android.com/tools/testing/testing_android.html> 338// for 339// more information on types of Android tests. 340type AndroidInstrumentationTest struct { 341 // AppApk: The APK for the application under test. 342 AppApk *FileReference `json:"appApk,omitempty"` 343 344 // AppBundle: A multi-apk app bundle for the application under test. 345 AppBundle *AppBundle `json:"appBundle,omitempty"` 346 347 // AppPackageId: The java package for the application under test. 348 // The default value is determined by examining the application's 349 // manifest. 350 AppPackageId string `json:"appPackageId,omitempty"` 351 352 // OrchestratorOption: The option of whether running each test within 353 // its own invocation of 354 // instrumentation with Android Test Orchestrator or not. 355 // ** Orchestrator is only compatible with AndroidJUnitRunner version 356 // 1.0 or 357 // higher! ** 358 // Orchestrator offers the following benefits: 359 // - No shared state 360 // - Crashes are isolated 361 // - Logs are scoped per 362 // test 363 // 364 // See 365 // <https://developer.android.com/training/testing/junit-runner 366 // .html#using-android-test-orchestrator> 367 // for more information about Android Test Orchestrator. 368 // 369 // If not set, the test will be run without the orchestrator. 370 // 371 // Possible values: 372 // "ORCHESTRATOR_OPTION_UNSPECIFIED" - Default value: the server will 373 // choose the mode. Currently implies that 374 // the test will run without the orchestrator. In the future, 375 // all instrumentation tests will be run with the orchestrator. 376 // Using the orchestrator is highly encouraged because of all the 377 // benefits it 378 // offers. 379 // "USE_ORCHESTRATOR" - Run test using orchestrator. 380 // ** Only compatible with AndroidJUnitRunner version 1.0 or higher! 381 // ** 382 // Recommended. 383 // "DO_NOT_USE_ORCHESTRATOR" - Run test without using orchestrator. 384 OrchestratorOption string `json:"orchestratorOption,omitempty"` 385 386 // ShardingOption: The option to run tests in multiple shards in 387 // parallel. 388 ShardingOption *ShardingOption `json:"shardingOption,omitempty"` 389 390 // TestApk: Required. The APK containing the test code to be executed. 391 TestApk *FileReference `json:"testApk,omitempty"` 392 393 // TestPackageId: The java package for the test to be executed. 394 // The default value is determined by examining the application's 395 // manifest. 396 TestPackageId string `json:"testPackageId,omitempty"` 397 398 // TestRunnerClass: The InstrumentationTestRunner class. 399 // The default value is determined by examining the application's 400 // manifest. 401 TestRunnerClass string `json:"testRunnerClass,omitempty"` 402 403 // TestTargets: Each target must be fully qualified with the package 404 // name or class name, 405 // in one of these formats: 406 // - "package package_name" 407 // - "class package_name.class_name" 408 // - "class package_name.class_name#method_name" 409 // 410 // If empty, all targets in the module will be run. 411 TestTargets []string `json:"testTargets,omitempty"` 412 413 // ForceSendFields is a list of field names (e.g. "AppApk") to 414 // unconditionally include in API requests. By default, fields with 415 // empty values are omitted from API requests. However, any non-pointer, 416 // non-interface field appearing in ForceSendFields will be sent to the 417 // server regardless of whether the field is empty or not. This may be 418 // used to include empty fields in Patch requests. 419 ForceSendFields []string `json:"-"` 420 421 // NullFields is a list of field names (e.g. "AppApk") to include in API 422 // requests with the JSON null value. By default, fields with empty 423 // values are omitted from API requests. However, any field with an 424 // empty value appearing in NullFields will be sent to the server as 425 // null. It is an error if a field in this list has a non-empty value. 426 // This may be used to include null fields in Patch requests. 427 NullFields []string `json:"-"` 428} 429 430func (s *AndroidInstrumentationTest) MarshalJSON() ([]byte, error) { 431 type NoMethod AndroidInstrumentationTest 432 raw := NoMethod(*s) 433 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 434} 435 436// AndroidMatrix: A set of Android device configuration permutations is 437// defined by the 438// the cross-product of the given axes. Internally, the given 439// AndroidMatrix 440// will be expanded into a set of AndroidDevices. 441// 442// Only supported permutations will be instantiated. Invalid 443// permutations 444// (e.g., incompatible models/versions) are ignored. 445type AndroidMatrix struct { 446 // AndroidModelIds: Required. The ids of the set of Android device to be 447 // used. 448 // Use the TestEnvironmentDiscoveryService to get supported options. 449 AndroidModelIds []string `json:"androidModelIds,omitempty"` 450 451 // AndroidVersionIds: Required. The ids of the set of Android OS version 452 // to be used. 453 // Use the TestEnvironmentDiscoveryService to get supported options. 454 AndroidVersionIds []string `json:"androidVersionIds,omitempty"` 455 456 // Locales: Required. The set of locales the test device will enable for 457 // testing. 458 // Use the TestEnvironmentDiscoveryService to get supported options. 459 Locales []string `json:"locales,omitempty"` 460 461 // Orientations: Required. The set of orientations to test with. 462 // Use the TestEnvironmentDiscoveryService to get supported options. 463 Orientations []string `json:"orientations,omitempty"` 464 465 // ForceSendFields is a list of field names (e.g. "AndroidModelIds") to 466 // unconditionally include in API requests. By default, fields with 467 // empty values are omitted from API requests. However, any non-pointer, 468 // non-interface field appearing in ForceSendFields will be sent to the 469 // server regardless of whether the field is empty or not. This may be 470 // used to include empty fields in Patch requests. 471 ForceSendFields []string `json:"-"` 472 473 // NullFields is a list of field names (e.g. "AndroidModelIds") to 474 // include in API requests with the JSON null value. By default, fields 475 // with empty values are omitted from API requests. However, any field 476 // with an empty value appearing in NullFields will be sent to the 477 // server as null. It is an error if a field in this list has a 478 // non-empty value. This may be used to include null fields in Patch 479 // requests. 480 NullFields []string `json:"-"` 481} 482 483func (s *AndroidMatrix) MarshalJSON() ([]byte, error) { 484 type NoMethod AndroidMatrix 485 raw := NoMethod(*s) 486 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 487} 488 489// AndroidModel: A description of an Android device tests may be run on. 490type AndroidModel struct { 491 // Brand: The company that this device is branded with. 492 // Example: "Google", "Samsung". 493 Brand string `json:"brand,omitempty"` 494 495 // Codename: The name of the industrial design. 496 // This corresponds to android.os.Build.DEVICE. 497 Codename string `json:"codename,omitempty"` 498 499 // Form: Whether this device is virtual or physical. 500 // 501 // Possible values: 502 // "DEVICE_FORM_UNSPECIFIED" - Do not use. For proto versioning only. 503 // "VIRTUAL" - A software stack that simulates the device. 504 // "PHYSICAL" - Actual hardware. 505 Form string `json:"form,omitempty"` 506 507 // FormFactor: Whether this device is a phone, tablet, wearable, etc. 508 // 509 // Possible values: 510 // "DEVICE_FORM_FACTOR_UNSPECIFIED" - Do not use. For proto versioning 511 // only. 512 // "PHONE" - This device has the shape of a phone. 513 // "TABLET" - This device has the shape of a tablet. 514 // "WEARABLE" - This device has the shape of a watch or other 515 // wearable. 516 FormFactor string `json:"formFactor,omitempty"` 517 518 // Id: The unique opaque id for this model. 519 // Use this for invoking the TestExecutionService. 520 Id string `json:"id,omitempty"` 521 522 // LowFpsVideoRecording: True if and only if tests with this model are 523 // recorded by stitching 524 // together screenshots. See use_low_spec_video_recording in device 525 // config. 526 LowFpsVideoRecording bool `json:"lowFpsVideoRecording,omitempty"` 527 528 // Manufacturer: The manufacturer of this device. 529 Manufacturer string `json:"manufacturer,omitempty"` 530 531 // Name: The human-readable marketing name for this device 532 // model. 533 // Examples: "Nexus 5", "Galaxy S5". 534 Name string `json:"name,omitempty"` 535 536 // ScreenDensity: Screen density in DPI. 537 // This corresponds to ro.sf.lcd_density 538 ScreenDensity int64 `json:"screenDensity,omitempty"` 539 540 // ScreenX: Screen size in the horizontal (X) dimension measured in 541 // pixels. 542 ScreenX int64 `json:"screenX,omitempty"` 543 544 // ScreenY: Screen size in the vertical (Y) dimension measured in 545 // pixels. 546 ScreenY int64 `json:"screenY,omitempty"` 547 548 // SupportedAbis: The list of supported ABIs for this device. 549 // This corresponds to either android.os.Build.SUPPORTED_ABIS (for API 550 // level 551 // 21 and above) or android.os.Build.CPU_ABI/CPU_ABI2. 552 // The most preferred ABI is the first element in the list. 553 // 554 // Elements are optionally prefixed by "version_id:" (where version_id 555 // is 556 // the id of an AndroidVersion), denoting an ABI that is supported only 557 // on 558 // a particular version. 559 SupportedAbis []string `json:"supportedAbis,omitempty"` 560 561 // SupportedVersionIds: The set of Android versions this device 562 // supports. 563 SupportedVersionIds []string `json:"supportedVersionIds,omitempty"` 564 565 // Tags: Tags for this dimension. 566 // Examples: "default", "preview", "deprecated". 567 Tags []string `json:"tags,omitempty"` 568 569 // ThumbnailUrl: URL of a thumbnail image of the device. 570 ThumbnailUrl string `json:"thumbnailUrl,omitempty"` 571 572 // ForceSendFields is a list of field names (e.g. "Brand") to 573 // unconditionally include in API requests. By default, fields with 574 // empty values are omitted from API requests. However, any non-pointer, 575 // non-interface field appearing in ForceSendFields will be sent to the 576 // server regardless of whether the field is empty or not. This may be 577 // used to include empty fields in Patch requests. 578 ForceSendFields []string `json:"-"` 579 580 // NullFields is a list of field names (e.g. "Brand") to include in API 581 // requests with the JSON null value. By default, fields with empty 582 // values are omitted from API requests. However, any field with an 583 // empty value appearing in NullFields will be sent to the server as 584 // null. It is an error if a field in this list has a non-empty value. 585 // This may be used to include null fields in Patch requests. 586 NullFields []string `json:"-"` 587} 588 589func (s *AndroidModel) MarshalJSON() ([]byte, error) { 590 type NoMethod AndroidModel 591 raw := NoMethod(*s) 592 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 593} 594 595// AndroidRoboTest: A test of an android application that explores the 596// application on a virtual 597// or physical Android Device, finding culprits and crashes as it goes. 598type AndroidRoboTest struct { 599 // AppApk: The APK for the application under test. 600 AppApk *FileReference `json:"appApk,omitempty"` 601 602 // AppBundle: A multi-apk app bundle for the application under test. 603 AppBundle *AppBundle `json:"appBundle,omitempty"` 604 605 // AppInitialActivity: The initial activity that should be used to start 606 // the app. 607 AppInitialActivity string `json:"appInitialActivity,omitempty"` 608 609 // AppPackageId: The java package for the application under test. 610 // The default value is determined by examining the application's 611 // manifest. 612 AppPackageId string `json:"appPackageId,omitempty"` 613 614 // MaxDepth: The max depth of the traversal stack Robo can explore. 615 // Needs to be at least 616 // 2 to make Robo explore the app beyond the first activity. 617 // Default is 50. 618 MaxDepth int64 `json:"maxDepth,omitempty"` 619 620 // MaxSteps: The max number of steps Robo can execute. 621 // Default is no limit. 622 MaxSteps int64 `json:"maxSteps,omitempty"` 623 624 // RoboDirectives: A set of directives Robo should apply during the 625 // crawl. 626 // This allows users to customize the crawl. For example, the username 627 // and 628 // password for a test account can be provided. 629 RoboDirectives []*RoboDirective `json:"roboDirectives,omitempty"` 630 631 // RoboScript: A JSON file with a sequence of actions Robo should 632 // perform as a prologue 633 // for the crawl. 634 RoboScript *FileReference `json:"roboScript,omitempty"` 635 636 // StartingIntents: The intents used to launch the app for the crawl. 637 // If none are provided, then the main launcher activity is launched. 638 // If some are provided, then only those provided are launched (the 639 // main 640 // launcher activity must be provided explicitly). 641 StartingIntents []*RoboStartingIntent `json:"startingIntents,omitempty"` 642 643 // ForceSendFields is a list of field names (e.g. "AppApk") to 644 // unconditionally include in API requests. By default, fields with 645 // empty values are omitted from API requests. However, any non-pointer, 646 // non-interface field appearing in ForceSendFields will be sent to the 647 // server regardless of whether the field is empty or not. This may be 648 // used to include empty fields in Patch requests. 649 ForceSendFields []string `json:"-"` 650 651 // NullFields is a list of field names (e.g. "AppApk") to include in API 652 // requests with the JSON null value. By default, fields with empty 653 // values are omitted from API requests. However, any field with an 654 // empty value appearing in NullFields will be sent to the server as 655 // null. It is an error if a field in this list has a non-empty value. 656 // This may be used to include null fields in Patch requests. 657 NullFields []string `json:"-"` 658} 659 660func (s *AndroidRoboTest) MarshalJSON() ([]byte, error) { 661 type NoMethod AndroidRoboTest 662 raw := NoMethod(*s) 663 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 664} 665 666// AndroidRuntimeConfiguration: Android configuration that can be 667// selected at the time a test is run. 668type AndroidRuntimeConfiguration struct { 669 // Locales: The set of available locales. 670 Locales []*Locale `json:"locales,omitempty"` 671 672 // Orientations: The set of available orientations. 673 Orientations []*Orientation `json:"orientations,omitempty"` 674 675 // ForceSendFields is a list of field names (e.g. "Locales") to 676 // unconditionally include in API requests. By default, fields with 677 // empty values are omitted from API requests. However, any non-pointer, 678 // non-interface field appearing in ForceSendFields will be sent to the 679 // server regardless of whether the field is empty or not. This may be 680 // used to include empty fields in Patch requests. 681 ForceSendFields []string `json:"-"` 682 683 // NullFields is a list of field names (e.g. "Locales") to include in 684 // API requests with the JSON null value. By default, fields with empty 685 // values are omitted from API requests. However, any field with an 686 // empty value appearing in NullFields will be sent to the server as 687 // null. It is an error if a field in this list has a non-empty value. 688 // This may be used to include null fields in Patch requests. 689 NullFields []string `json:"-"` 690} 691 692func (s *AndroidRuntimeConfiguration) MarshalJSON() ([]byte, error) { 693 type NoMethod AndroidRuntimeConfiguration 694 raw := NoMethod(*s) 695 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 696} 697 698// AndroidTestLoop: A test of an Android Application with a Test 699// Loop. 700// The intent \<intent-name\> will be implicitly added, since Games is 701// the only 702// user of this api, for the time being. 703type AndroidTestLoop struct { 704 // AppApk: The APK for the application under test. 705 AppApk *FileReference `json:"appApk,omitempty"` 706 707 // AppBundle: A multi-apk app bundle for the application under test. 708 AppBundle *AppBundle `json:"appBundle,omitempty"` 709 710 // AppPackageId: The java package for the application under test. 711 // The default is determined by examining the application's manifest. 712 AppPackageId string `json:"appPackageId,omitempty"` 713 714 // ScenarioLabels: The list of scenario labels that should be run during 715 // the test. 716 // The scenario labels should map to labels defined in the 717 // application's 718 // manifest. For example, player_experience 719 // and 720 // com.google.test.loops.player_experience add all of the loops labeled 721 // in the 722 // manifest with the com.google.test.loops.player_experience name to 723 // the 724 // execution. 725 // Scenarios can also be specified in the scenarios field. 726 ScenarioLabels []string `json:"scenarioLabels,omitempty"` 727 728 // Scenarios: The list of scenarios that should be run during the 729 // test. 730 // The default is all test loops, derived from the 731 // application's 732 // manifest. 733 Scenarios []int64 `json:"scenarios,omitempty"` 734 735 // ForceSendFields is a list of field names (e.g. "AppApk") to 736 // unconditionally include in API requests. By default, fields with 737 // empty values are omitted from API requests. However, any non-pointer, 738 // non-interface field appearing in ForceSendFields will be sent to the 739 // server regardless of whether the field is empty or not. This may be 740 // used to include empty fields in Patch requests. 741 ForceSendFields []string `json:"-"` 742 743 // NullFields is a list of field names (e.g. "AppApk") to include in API 744 // requests with the JSON null value. By default, fields with empty 745 // values are omitted from API requests. However, any field with an 746 // empty value appearing in NullFields will be sent to the server as 747 // null. It is an error if a field in this list has a non-empty value. 748 // This may be used to include null fields in Patch requests. 749 NullFields []string `json:"-"` 750} 751 752func (s *AndroidTestLoop) MarshalJSON() ([]byte, error) { 753 type NoMethod AndroidTestLoop 754 raw := NoMethod(*s) 755 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 756} 757 758// AndroidVersion: A version of the Android OS. 759type AndroidVersion struct { 760 // ApiLevel: The API level for this Android version. 761 // Examples: 18, 19. 762 ApiLevel int64 `json:"apiLevel,omitempty"` 763 764 // CodeName: The code name for this Android version. 765 // Examples: "JellyBean", "KitKat". 766 CodeName string `json:"codeName,omitempty"` 767 768 // Distribution: Market share for this version. 769 Distribution *Distribution `json:"distribution,omitempty"` 770 771 // Id: An opaque id for this Android version. 772 // Use this id to invoke the TestExecutionService. 773 Id string `json:"id,omitempty"` 774 775 // ReleaseDate: The date this Android version became available in the 776 // market. 777 ReleaseDate *Date `json:"releaseDate,omitempty"` 778 779 // Tags: Tags for this dimension. 780 // Examples: "default", "preview", "deprecated". 781 Tags []string `json:"tags,omitempty"` 782 783 // VersionString: A string representing this version of the Android 784 // OS. 785 // Examples: "4.3", "4.4". 786 VersionString string `json:"versionString,omitempty"` 787 788 // ForceSendFields is a list of field names (e.g. "ApiLevel") to 789 // unconditionally include in API requests. By default, fields with 790 // empty values are omitted from API requests. However, any non-pointer, 791 // non-interface field appearing in ForceSendFields will be sent to the 792 // server regardless of whether the field is empty or not. This may be 793 // used to include empty fields in Patch requests. 794 ForceSendFields []string `json:"-"` 795 796 // NullFields is a list of field names (e.g. "ApiLevel") to include in 797 // API requests with the JSON null value. By default, fields with empty 798 // values are omitted from API requests. However, any field with an 799 // empty value appearing in NullFields will be sent to the server as 800 // null. It is an error if a field in this list has a non-empty value. 801 // This may be used to include null fields in Patch requests. 802 NullFields []string `json:"-"` 803} 804 805func (s *AndroidVersion) MarshalJSON() ([]byte, error) { 806 type NoMethod AndroidVersion 807 raw := NoMethod(*s) 808 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 809} 810 811// Apk: An Android package file to install. 812type Apk struct { 813 // Location: The path to an APK to be installed on the device before the 814 // test begins. 815 Location *FileReference `json:"location,omitempty"` 816 817 // PackageName: The java package for the APK to be installed. 818 // Value is determined by examining the application's manifest. 819 PackageName string `json:"packageName,omitempty"` 820 821 // ForceSendFields is a list of field names (e.g. "Location") to 822 // unconditionally include in API requests. By default, fields with 823 // empty values are omitted from API requests. However, any non-pointer, 824 // non-interface field appearing in ForceSendFields will be sent to the 825 // server regardless of whether the field is empty or not. This may be 826 // used to include empty fields in Patch requests. 827 ForceSendFields []string `json:"-"` 828 829 // NullFields is a list of field names (e.g. "Location") to include in 830 // API requests with the JSON null value. By default, fields with empty 831 // values are omitted from API requests. However, any field with an 832 // empty value appearing in NullFields will be sent to the server as 833 // null. It is an error if a field in this list has a non-empty value. 834 // This may be used to include null fields in Patch requests. 835 NullFields []string `json:"-"` 836} 837 838func (s *Apk) MarshalJSON() ([]byte, error) { 839 type NoMethod Apk 840 raw := NoMethod(*s) 841 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 842} 843 844// ApkDetail: Android application details based on application manifest 845// and apk archive 846// contents. 847type ApkDetail struct { 848 ApkManifest *ApkManifest `json:"apkManifest,omitempty"` 849 850 // ForceSendFields is a list of field names (e.g. "ApkManifest") to 851 // unconditionally include in API requests. By default, fields with 852 // empty values are omitted from API requests. However, any non-pointer, 853 // non-interface field appearing in ForceSendFields will be sent to the 854 // server regardless of whether the field is empty or not. This may be 855 // used to include empty fields in Patch requests. 856 ForceSendFields []string `json:"-"` 857 858 // NullFields is a list of field names (e.g. "ApkManifest") to include 859 // in API requests with the JSON null value. By default, fields with 860 // empty values are omitted from API requests. However, any field with 861 // an empty value appearing in NullFields will be sent to the server as 862 // null. It is an error if a field in this list has a non-empty value. 863 // This may be used to include null fields in Patch requests. 864 NullFields []string `json:"-"` 865} 866 867func (s *ApkDetail) MarshalJSON() ([]byte, error) { 868 type NoMethod ApkDetail 869 raw := NoMethod(*s) 870 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 871} 872 873// ApkManifest: An Android app manifest. 874// See 875// http://developer.android.com/guide/topics/manifest/manifest-intro. 876// html 877type ApkManifest struct { 878 // ApplicationLabel: User-readable name for the application. 879 ApplicationLabel string `json:"applicationLabel,omitempty"` 880 881 IntentFilters []*IntentFilter `json:"intentFilters,omitempty"` 882 883 // MaxSdkVersion: Maximum API level on which the application is designed 884 // to run. 885 MaxSdkVersion int64 `json:"maxSdkVersion,omitempty"` 886 887 // MinSdkVersion: Minimum API level required for the application to run. 888 MinSdkVersion int64 `json:"minSdkVersion,omitempty"` 889 890 // PackageName: Full Java-style package name for this application, 891 // e.g. 892 // "com.example.foo". 893 PackageName string `json:"packageName,omitempty"` 894 895 // TargetSdkVersion: Specifies the API Level on which the application is 896 // designed to run. 897 TargetSdkVersion int64 `json:"targetSdkVersion,omitempty"` 898 899 // ForceSendFields is a list of field names (e.g. "ApplicationLabel") to 900 // unconditionally include in API requests. By default, fields with 901 // empty values are omitted from API requests. However, any non-pointer, 902 // non-interface field appearing in ForceSendFields will be sent to the 903 // server regardless of whether the field is empty or not. This may be 904 // used to include empty fields in Patch requests. 905 ForceSendFields []string `json:"-"` 906 907 // NullFields is a list of field names (e.g. "ApplicationLabel") to 908 // include in API requests with the JSON null value. By default, fields 909 // with empty values are omitted from API requests. However, any field 910 // with an empty value appearing in NullFields will be sent to the 911 // server as null. It is an error if a field in this list has a 912 // non-empty value. This may be used to include null fields in Patch 913 // requests. 914 NullFields []string `json:"-"` 915} 916 917func (s *ApkManifest) MarshalJSON() ([]byte, error) { 918 type NoMethod ApkManifest 919 raw := NoMethod(*s) 920 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 921} 922 923// AppBundle: An Android App Bundle file format, containing a 924// BundleConfig.pb file, 925// a base module directory, zero or more dynamic feature module 926// directories. 927// <p>See https://developer.android.com/guide/app-bundle/build for 928// guidance on 929// building App Bundles. 930type AppBundle struct { 931 // BundleLocation: .aab file representing the app bundle under test. 932 BundleLocation *FileReference `json:"bundleLocation,omitempty"` 933 934 // ForceSendFields is a list of field names (e.g. "BundleLocation") to 935 // unconditionally include in API requests. By default, fields with 936 // empty values are omitted from API requests. However, any non-pointer, 937 // non-interface field appearing in ForceSendFields will be sent to the 938 // server regardless of whether the field is empty or not. This may be 939 // used to include empty fields in Patch requests. 940 ForceSendFields []string `json:"-"` 941 942 // NullFields is a list of field names (e.g. "BundleLocation") to 943 // include in API requests with the JSON null value. By default, fields 944 // with empty values are omitted from API requests. However, any field 945 // with an empty value appearing in NullFields will be sent to the 946 // server as null. It is an error if a field in this list has a 947 // non-empty value. This may be used to include null fields in Patch 948 // requests. 949 NullFields []string `json:"-"` 950} 951 952func (s *AppBundle) MarshalJSON() ([]byte, error) { 953 type NoMethod AppBundle 954 raw := NoMethod(*s) 955 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 956} 957 958// CancelTestMatrixResponse: Response containing the current state of 959// the specified test matrix. 960type CancelTestMatrixResponse struct { 961 // TestState: The current rolled-up state of the test matrix. 962 // If this state is already final, then the cancelation request 963 // will 964 // have no effect. 965 // 966 // Possible values: 967 // "TEST_STATE_UNSPECIFIED" - Do not use. For proto versioning only. 968 // "VALIDATING" - The execution or matrix is being validated. 969 // "PENDING" - The execution or matrix is waiting for resources to 970 // become available. 971 // "RUNNING" - The execution is currently being processed. 972 // 973 // Can only be set on an execution. 974 // "FINISHED" - The execution or matrix has terminated normally. 975 // 976 // On a matrix this means that the matrix level processing completed 977 // normally, 978 // but individual executions may be in an ERROR state. 979 // "ERROR" - The execution or matrix has stopped because it 980 // encountered an 981 // infrastructure failure. 982 // "UNSUPPORTED_ENVIRONMENT" - The execution was not run because it 983 // corresponds to a unsupported 984 // environment. 985 // 986 // Can only be set on an execution. 987 // "INCOMPATIBLE_ENVIRONMENT" - The execution was not run because the 988 // provided inputs are incompatible with 989 // the requested environment. 990 // 991 // Example: requested AndroidVersion is lower than APK's 992 // minSdkVersion 993 // 994 // Can only be set on an execution. 995 // "INCOMPATIBLE_ARCHITECTURE" - The execution was not run because the 996 // provided inputs are incompatible with 997 // the requested architecture. 998 // 999 // Example: requested device does not support running the native code 1000 // in 1001 // the supplied APK 1002 // 1003 // Can only be set on an execution. 1004 // "CANCELLED" - The user cancelled the execution. 1005 // 1006 // Can only be set on an execution. 1007 // "INVALID" - The execution or matrix was not run because the 1008 // provided inputs are not 1009 // valid. 1010 // 1011 // Examples: input file is not of the expected type, is 1012 // malformed/corrupt, or 1013 // was flagged as malware 1014 TestState string `json:"testState,omitempty"` 1015 1016 // ServerResponse contains the HTTP response code and headers from the 1017 // server. 1018 googleapi.ServerResponse `json:"-"` 1019 1020 // ForceSendFields is a list of field names (e.g. "TestState") to 1021 // unconditionally include in API requests. By default, fields with 1022 // empty values are omitted from API requests. However, any non-pointer, 1023 // non-interface field appearing in ForceSendFields will be sent to the 1024 // server regardless of whether the field is empty or not. This may be 1025 // used to include empty fields in Patch requests. 1026 ForceSendFields []string `json:"-"` 1027 1028 // NullFields is a list of field names (e.g. "TestState") to include in 1029 // API requests with the JSON null value. By default, fields with empty 1030 // values are omitted from API requests. However, any field with an 1031 // empty value appearing in NullFields will be sent to the server as 1032 // null. It is an error if a field in this list has a non-empty value. 1033 // This may be used to include null fields in Patch requests. 1034 NullFields []string `json:"-"` 1035} 1036 1037func (s *CancelTestMatrixResponse) MarshalJSON() ([]byte, error) { 1038 type NoMethod CancelTestMatrixResponse 1039 raw := NoMethod(*s) 1040 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1041} 1042 1043// ClientInfo: Information about the client which invoked the test. 1044type ClientInfo struct { 1045 // ClientInfoDetails: The list of detailed information about client. 1046 ClientInfoDetails []*ClientInfoDetail `json:"clientInfoDetails,omitempty"` 1047 1048 // Name: Required. Client name, such as gcloud. 1049 Name string `json:"name,omitempty"` 1050 1051 // ForceSendFields is a list of field names (e.g. "ClientInfoDetails") 1052 // to unconditionally include in API requests. By default, fields with 1053 // empty values are omitted from API requests. However, any non-pointer, 1054 // non-interface field appearing in ForceSendFields will be sent to the 1055 // server regardless of whether the field is empty or not. This may be 1056 // used to include empty fields in Patch requests. 1057 ForceSendFields []string `json:"-"` 1058 1059 // NullFields is a list of field names (e.g. "ClientInfoDetails") to 1060 // include in API requests with the JSON null value. By default, fields 1061 // with empty values are omitted from API requests. However, any field 1062 // with an empty value appearing in NullFields will be sent to the 1063 // server as null. It is an error if a field in this list has a 1064 // non-empty value. This may be used to include null fields in Patch 1065 // requests. 1066 NullFields []string `json:"-"` 1067} 1068 1069func (s *ClientInfo) MarshalJSON() ([]byte, error) { 1070 type NoMethod ClientInfo 1071 raw := NoMethod(*s) 1072 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1073} 1074 1075// ClientInfoDetail: Key-value pair of detailed information about the 1076// client which invoked the 1077// test. Examples: {'Version', '1.0'}, {'Release Track', 'BETA'}. 1078type ClientInfoDetail struct { 1079 // Key: Required. The key of detailed client information. 1080 Key string `json:"key,omitempty"` 1081 1082 // Value: Required. The value of detailed client information. 1083 Value string `json:"value,omitempty"` 1084 1085 // ForceSendFields is a list of field names (e.g. "Key") to 1086 // unconditionally include in API requests. By default, fields with 1087 // empty values are omitted from API requests. However, any non-pointer, 1088 // non-interface field appearing in ForceSendFields will be sent to the 1089 // server regardless of whether the field is empty or not. This may be 1090 // used to include empty fields in Patch requests. 1091 ForceSendFields []string `json:"-"` 1092 1093 // NullFields is a list of field names (e.g. "Key") to include in API 1094 // requests with the JSON null value. By default, fields with empty 1095 // values are omitted from API requests. However, any field with an 1096 // empty value appearing in NullFields will be sent to the server as 1097 // null. It is an error if a field in this list has a non-empty value. 1098 // This may be used to include null fields in Patch requests. 1099 NullFields []string `json:"-"` 1100} 1101 1102func (s *ClientInfoDetail) MarshalJSON() ([]byte, error) { 1103 type NoMethod ClientInfoDetail 1104 raw := NoMethod(*s) 1105 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1106} 1107 1108// Date: Represents a whole or partial calendar date, e.g. a birthday. 1109// The time of day 1110// and time zone are either specified elsewhere or are not significant. 1111// The date 1112// is relative to the Proleptic Gregorian Calendar. This can 1113// represent: 1114// 1115// * A full date, with non-zero year, month and day values 1116// * A month and day value, with a zero year, e.g. an anniversary 1117// * A year on its own, with zero month and day values 1118// * A year and month value, with a zero day, e.g. a credit card 1119// expiration date 1120// 1121// Related types are google.type.TimeOfDay and 1122// `google.protobuf.Timestamp`. 1123type Date struct { 1124 // Day: Day of month. Must be from 1 to 31 and valid for the year and 1125 // month, or 0 1126 // if specifying a year by itself or a year and month where the day is 1127 // not 1128 // significant. 1129 Day int64 `json:"day,omitempty"` 1130 1131 // Month: Month of year. Must be from 1 to 12, or 0 if specifying a year 1132 // without a 1133 // month and day. 1134 Month int64 `json:"month,omitempty"` 1135 1136 // Year: Year of date. Must be from 1 to 9999, or 0 if specifying a date 1137 // without 1138 // a year. 1139 Year int64 `json:"year,omitempty"` 1140 1141 // ForceSendFields is a list of field names (e.g. "Day") to 1142 // unconditionally include in API requests. By default, fields with 1143 // empty values are omitted from API requests. However, any non-pointer, 1144 // non-interface field appearing in ForceSendFields will be sent to the 1145 // server regardless of whether the field is empty or not. This may be 1146 // used to include empty fields in Patch requests. 1147 ForceSendFields []string `json:"-"` 1148 1149 // NullFields is a list of field names (e.g. "Day") to include in API 1150 // requests with the JSON null value. By default, fields with empty 1151 // values are omitted from API requests. However, any field with an 1152 // empty value appearing in NullFields will be sent to the server as 1153 // null. It is an error if a field in this list has a non-empty value. 1154 // This may be used to include null fields in Patch requests. 1155 NullFields []string `json:"-"` 1156} 1157 1158func (s *Date) MarshalJSON() ([]byte, error) { 1159 type NoMethod Date 1160 raw := NoMethod(*s) 1161 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1162} 1163 1164// DeviceFile: A single device file description. 1165type DeviceFile struct { 1166 // ObbFile: A reference to an opaque binary blob file. 1167 ObbFile *ObbFile `json:"obbFile,omitempty"` 1168 1169 // RegularFile: A reference to a regular file. 1170 RegularFile *RegularFile `json:"regularFile,omitempty"` 1171 1172 // ForceSendFields is a list of field names (e.g. "ObbFile") to 1173 // unconditionally include in API requests. By default, fields with 1174 // empty values are omitted from API requests. However, any non-pointer, 1175 // non-interface field appearing in ForceSendFields will be sent to the 1176 // server regardless of whether the field is empty or not. This may be 1177 // used to include empty fields in Patch requests. 1178 ForceSendFields []string `json:"-"` 1179 1180 // NullFields is a list of field names (e.g. "ObbFile") to include in 1181 // API requests with the JSON null value. By default, fields with empty 1182 // values are omitted from API requests. However, any field with an 1183 // empty value appearing in NullFields will be sent to the server as 1184 // null. It is an error if a field in this list has a non-empty value. 1185 // This may be used to include null fields in Patch requests. 1186 NullFields []string `json:"-"` 1187} 1188 1189func (s *DeviceFile) MarshalJSON() ([]byte, error) { 1190 type NoMethod DeviceFile 1191 raw := NoMethod(*s) 1192 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1193} 1194 1195// Distribution: Data about the relative number of devices running 1196// a 1197// given configuration of the Android platform. 1198type Distribution struct { 1199 // MarketShare: Output only. The estimated fraction (0-1) of the total 1200 // market with this 1201 // configuration. 1202 MarketShare float64 `json:"marketShare,omitempty"` 1203 1204 // MeasurementTime: Output only. The time this distribution was 1205 // measured. 1206 MeasurementTime string `json:"measurementTime,omitempty"` 1207 1208 // ForceSendFields is a list of field names (e.g. "MarketShare") to 1209 // unconditionally include in API requests. By default, fields with 1210 // empty values are omitted from API requests. However, any non-pointer, 1211 // non-interface field appearing in ForceSendFields will be sent to the 1212 // server regardless of whether the field is empty or not. This may be 1213 // used to include empty fields in Patch requests. 1214 ForceSendFields []string `json:"-"` 1215 1216 // NullFields is a list of field names (e.g. "MarketShare") to include 1217 // in API requests with the JSON null value. By default, fields with 1218 // empty values are omitted from API requests. However, any field with 1219 // an empty value appearing in NullFields will be sent to the server as 1220 // null. It is an error if a field in this list has a non-empty value. 1221 // This may be used to include null fields in Patch requests. 1222 NullFields []string `json:"-"` 1223} 1224 1225func (s *Distribution) MarshalJSON() ([]byte, error) { 1226 type NoMethod Distribution 1227 raw := NoMethod(*s) 1228 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1229} 1230 1231func (s *Distribution) UnmarshalJSON(data []byte) error { 1232 type NoMethod Distribution 1233 var s1 struct { 1234 MarketShare gensupport.JSONFloat64 `json:"marketShare"` 1235 *NoMethod 1236 } 1237 s1.NoMethod = (*NoMethod)(s) 1238 if err := json.Unmarshal(data, &s1); err != nil { 1239 return err 1240 } 1241 s.MarketShare = float64(s1.MarketShare) 1242 return nil 1243} 1244 1245// Environment: The environment in which the test is run. 1246type Environment struct { 1247 // AndroidDevice: An Android device which must be used with an Android 1248 // test. 1249 AndroidDevice *AndroidDevice `json:"androidDevice,omitempty"` 1250 1251 // IosDevice: An iOS device which must be used with an iOS test. 1252 IosDevice *IosDevice `json:"iosDevice,omitempty"` 1253 1254 // ForceSendFields is a list of field names (e.g. "AndroidDevice") to 1255 // unconditionally include in API requests. By default, fields with 1256 // empty values are omitted from API requests. However, any non-pointer, 1257 // non-interface field appearing in ForceSendFields will be sent to the 1258 // server regardless of whether the field is empty or not. This may be 1259 // used to include empty fields in Patch requests. 1260 ForceSendFields []string `json:"-"` 1261 1262 // NullFields is a list of field names (e.g. "AndroidDevice") to include 1263 // in API requests with the JSON null value. By default, fields with 1264 // empty values are omitted from API requests. However, any field with 1265 // an empty value appearing in NullFields will be sent to the server as 1266 // null. It is an error if a field in this list has a non-empty value. 1267 // This may be used to include null fields in Patch requests. 1268 NullFields []string `json:"-"` 1269} 1270 1271func (s *Environment) MarshalJSON() ([]byte, error) { 1272 type NoMethod Environment 1273 raw := NoMethod(*s) 1274 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1275} 1276 1277// EnvironmentMatrix: The matrix of environments in which the test is to 1278// be executed. 1279type EnvironmentMatrix struct { 1280 // AndroidDeviceList: A list of Android devices; the test will be run 1281 // only on the specified 1282 // devices. 1283 AndroidDeviceList *AndroidDeviceList `json:"androidDeviceList,omitempty"` 1284 1285 // AndroidMatrix: A matrix of Android devices. 1286 AndroidMatrix *AndroidMatrix `json:"androidMatrix,omitempty"` 1287 1288 // IosDeviceList: A list of iOS devices. 1289 IosDeviceList *IosDeviceList `json:"iosDeviceList,omitempty"` 1290 1291 // ForceSendFields is a list of field names (e.g. "AndroidDeviceList") 1292 // to unconditionally include in API requests. By default, fields with 1293 // empty values are omitted from API requests. However, any non-pointer, 1294 // non-interface field appearing in ForceSendFields will be sent to the 1295 // server regardless of whether the field is empty or not. This may be 1296 // used to include empty fields in Patch requests. 1297 ForceSendFields []string `json:"-"` 1298 1299 // NullFields is a list of field names (e.g. "AndroidDeviceList") to 1300 // include in API requests with the JSON null value. By default, fields 1301 // with empty values are omitted from API requests. However, any field 1302 // with an empty value appearing in NullFields will be sent to the 1303 // server as null. It is an error if a field in this list has a 1304 // non-empty value. This may be used to include null fields in Patch 1305 // requests. 1306 NullFields []string `json:"-"` 1307} 1308 1309func (s *EnvironmentMatrix) MarshalJSON() ([]byte, error) { 1310 type NoMethod EnvironmentMatrix 1311 raw := NoMethod(*s) 1312 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1313} 1314 1315// EnvironmentVariable: A key-value pair passed as an environment 1316// variable to the test. 1317type EnvironmentVariable struct { 1318 // Key: Key for the environment variable. 1319 Key string `json:"key,omitempty"` 1320 1321 // Value: Value for the environment variable. 1322 Value string `json:"value,omitempty"` 1323 1324 // ForceSendFields is a list of field names (e.g. "Key") to 1325 // unconditionally include in API requests. By default, fields with 1326 // empty values are omitted from API requests. However, any non-pointer, 1327 // non-interface field appearing in ForceSendFields will be sent to the 1328 // server regardless of whether the field is empty or not. This may be 1329 // used to include empty fields in Patch requests. 1330 ForceSendFields []string `json:"-"` 1331 1332 // NullFields is a list of field names (e.g. "Key") to include in API 1333 // requests with the JSON null value. By default, fields with empty 1334 // values are omitted from API requests. However, any field with an 1335 // empty value appearing in NullFields will be sent to the server as 1336 // null. It is an error if a field in this list has a non-empty value. 1337 // This may be used to include null fields in Patch requests. 1338 NullFields []string `json:"-"` 1339} 1340 1341func (s *EnvironmentVariable) MarshalJSON() ([]byte, error) { 1342 type NoMethod EnvironmentVariable 1343 raw := NoMethod(*s) 1344 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1345} 1346 1347// FileReference: A reference to a file, used for user inputs. 1348type FileReference struct { 1349 // GcsPath: A path to a file in Google Cloud Storage. 1350 // Example: gs://build-app-1414623860166/app-debug-unaligned.apk 1351 GcsPath string `json:"gcsPath,omitempty"` 1352 1353 // ForceSendFields is a list of field names (e.g. "GcsPath") to 1354 // unconditionally include in API requests. By default, fields with 1355 // empty values are omitted from API requests. However, any non-pointer, 1356 // non-interface field appearing in ForceSendFields will be sent to the 1357 // server regardless of whether the field is empty or not. This may be 1358 // used to include empty fields in Patch requests. 1359 ForceSendFields []string `json:"-"` 1360 1361 // NullFields is a list of field names (e.g. "GcsPath") to include in 1362 // API requests with the JSON null value. By default, fields with empty 1363 // values are omitted from API requests. However, any field with an 1364 // empty value appearing in NullFields will be sent to the server as 1365 // null. It is an error if a field in this list has a non-empty value. 1366 // This may be used to include null fields in Patch requests. 1367 NullFields []string `json:"-"` 1368} 1369 1370func (s *FileReference) MarshalJSON() ([]byte, error) { 1371 type NoMethod FileReference 1372 raw := NoMethod(*s) 1373 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1374} 1375 1376// GetApkDetailsResponse: Response containing the details of the 1377// specified Android application APK. 1378type GetApkDetailsResponse struct { 1379 // ApkDetail: Details of the Android APK. 1380 ApkDetail *ApkDetail `json:"apkDetail,omitempty"` 1381 1382 // ServerResponse contains the HTTP response code and headers from the 1383 // server. 1384 googleapi.ServerResponse `json:"-"` 1385 1386 // ForceSendFields is a list of field names (e.g. "ApkDetail") to 1387 // unconditionally include in API requests. By default, fields with 1388 // empty values are omitted from API requests. However, any non-pointer, 1389 // non-interface field appearing in ForceSendFields will be sent to the 1390 // server regardless of whether the field is empty or not. This may be 1391 // used to include empty fields in Patch requests. 1392 ForceSendFields []string `json:"-"` 1393 1394 // NullFields is a list of field names (e.g. "ApkDetail") to include in 1395 // API requests with the JSON null value. By default, fields with empty 1396 // values are omitted from API requests. However, any field with an 1397 // empty value appearing in NullFields will be sent to the server as 1398 // null. It is an error if a field in this list has a non-empty value. 1399 // This may be used to include null fields in Patch requests. 1400 NullFields []string `json:"-"` 1401} 1402 1403func (s *GetApkDetailsResponse) MarshalJSON() ([]byte, error) { 1404 type NoMethod GetApkDetailsResponse 1405 raw := NoMethod(*s) 1406 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1407} 1408 1409// GoogleAuto: Enables automatic Google account login. 1410// If set, the service automatically generates a Google test account and 1411// adds 1412// it to the device, before executing the test. Note that test accounts 1413// might be 1414// reused. 1415// Many applications show their full set of functionalities when an 1416// account is 1417// present on the device. Logging into the device with these generated 1418// accounts 1419// allows testing more functionalities. 1420type GoogleAuto struct { 1421} 1422 1423// GoogleCloudStorage: A storage location within Google cloud storage 1424// (GCS). 1425type GoogleCloudStorage struct { 1426 // GcsPath: Required. The path to a directory in GCS that 1427 // will 1428 // eventually contain the results for this test. 1429 // The requesting user must have write access on the bucket in the 1430 // supplied 1431 // path. 1432 GcsPath string `json:"gcsPath,omitempty"` 1433 1434 // ForceSendFields is a list of field names (e.g. "GcsPath") to 1435 // unconditionally include in API requests. By default, fields with 1436 // empty values are omitted from API requests. However, any non-pointer, 1437 // non-interface field appearing in ForceSendFields will be sent to the 1438 // server regardless of whether the field is empty or not. This may be 1439 // used to include empty fields in Patch requests. 1440 ForceSendFields []string `json:"-"` 1441 1442 // NullFields is a list of field names (e.g. "GcsPath") to include in 1443 // API requests with the JSON null value. By default, fields with empty 1444 // values are omitted from API requests. However, any field with an 1445 // empty value appearing in NullFields will be sent to the server as 1446 // null. It is an error if a field in this list has a non-empty value. 1447 // This may be used to include null fields in Patch requests. 1448 NullFields []string `json:"-"` 1449} 1450 1451func (s *GoogleCloudStorage) MarshalJSON() ([]byte, error) { 1452 type NoMethod GoogleCloudStorage 1453 raw := NoMethod(*s) 1454 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1455} 1456 1457// IntentFilter: The <intent-filter> section of an <activity> 1458// tag. 1459// https://developer.android.com/guide/topics/manifest/intent-filter 1460// -element.html 1461type IntentFilter struct { 1462 // ActionNames: The android:name value of the <action> tag. 1463 ActionNames []string `json:"actionNames,omitempty"` 1464 1465 // CategoryNames: The android:name value of the <category> tag. 1466 CategoryNames []string `json:"categoryNames,omitempty"` 1467 1468 // MimeType: The android:mimeType value of the <data> tag. 1469 MimeType string `json:"mimeType,omitempty"` 1470 1471 // ForceSendFields is a list of field names (e.g. "ActionNames") to 1472 // unconditionally include in API requests. By default, fields with 1473 // empty values are omitted from API requests. However, any non-pointer, 1474 // non-interface field appearing in ForceSendFields will be sent to the 1475 // server regardless of whether the field is empty or not. This may be 1476 // used to include empty fields in Patch requests. 1477 ForceSendFields []string `json:"-"` 1478 1479 // NullFields is a list of field names (e.g. "ActionNames") to include 1480 // in API requests with the JSON null value. By default, fields with 1481 // empty values are omitted from API requests. However, any field with 1482 // an empty value appearing in NullFields will be sent to the server as 1483 // null. It is an error if a field in this list has a non-empty value. 1484 // This may be used to include null fields in Patch requests. 1485 NullFields []string `json:"-"` 1486} 1487 1488func (s *IntentFilter) MarshalJSON() ([]byte, error) { 1489 type NoMethod IntentFilter 1490 raw := NoMethod(*s) 1491 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1492} 1493 1494// IosDevice: A single iOS device. 1495type IosDevice struct { 1496 // IosModelId: Required. The id of the iOS device to be used. 1497 // Use the TestEnvironmentDiscoveryService to get supported options. 1498 IosModelId string `json:"iosModelId,omitempty"` 1499 1500 // IosVersionId: Required. The id of the iOS major software version to 1501 // be used. 1502 // Use the TestEnvironmentDiscoveryService to get supported options. 1503 IosVersionId string `json:"iosVersionId,omitempty"` 1504 1505 // Locale: Required. The locale the test device used for testing. 1506 // Use the TestEnvironmentDiscoveryService to get supported options. 1507 Locale string `json:"locale,omitempty"` 1508 1509 // Orientation: Required. How the device is oriented during the 1510 // test. 1511 // Use the TestEnvironmentDiscoveryService to get supported options. 1512 Orientation string `json:"orientation,omitempty"` 1513 1514 // ForceSendFields is a list of field names (e.g. "IosModelId") to 1515 // unconditionally include in API requests. By default, fields with 1516 // empty values are omitted from API requests. However, any non-pointer, 1517 // non-interface field appearing in ForceSendFields will be sent to the 1518 // server regardless of whether the field is empty or not. This may be 1519 // used to include empty fields in Patch requests. 1520 ForceSendFields []string `json:"-"` 1521 1522 // NullFields is a list of field names (e.g. "IosModelId") to include in 1523 // API requests with the JSON null value. By default, fields with empty 1524 // values are omitted from API requests. However, any field with an 1525 // empty value appearing in NullFields will be sent to the server as 1526 // null. It is an error if a field in this list has a non-empty value. 1527 // This may be used to include null fields in Patch requests. 1528 NullFields []string `json:"-"` 1529} 1530 1531func (s *IosDevice) MarshalJSON() ([]byte, error) { 1532 type NoMethod IosDevice 1533 raw := NoMethod(*s) 1534 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1535} 1536 1537// IosDeviceCatalog: The currently supported iOS devices. 1538type IosDeviceCatalog struct { 1539 // Models: The set of supported iOS device models. 1540 Models []*IosModel `json:"models,omitempty"` 1541 1542 // RuntimeConfiguration: The set of supported runtime configurations. 1543 RuntimeConfiguration *IosRuntimeConfiguration `json:"runtimeConfiguration,omitempty"` 1544 1545 // Versions: The set of supported iOS software versions. 1546 Versions []*IosVersion `json:"versions,omitempty"` 1547 1548 // XcodeVersions: The set of supported Xcode versions. 1549 XcodeVersions []*XcodeVersion `json:"xcodeVersions,omitempty"` 1550 1551 // ForceSendFields is a list of field names (e.g. "Models") to 1552 // unconditionally include in API requests. By default, fields with 1553 // empty values are omitted from API requests. However, any non-pointer, 1554 // non-interface field appearing in ForceSendFields will be sent to the 1555 // server regardless of whether the field is empty or not. This may be 1556 // used to include empty fields in Patch requests. 1557 ForceSendFields []string `json:"-"` 1558 1559 // NullFields is a list of field names (e.g. "Models") to include in API 1560 // requests with the JSON null value. By default, fields with empty 1561 // values are omitted from API requests. However, any field with an 1562 // empty value appearing in NullFields will be sent to the server as 1563 // null. It is an error if a field in this list has a non-empty value. 1564 // This may be used to include null fields in Patch requests. 1565 NullFields []string `json:"-"` 1566} 1567 1568func (s *IosDeviceCatalog) MarshalJSON() ([]byte, error) { 1569 type NoMethod IosDeviceCatalog 1570 raw := NoMethod(*s) 1571 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1572} 1573 1574// IosDeviceList: A list of iOS device configurations in which the test 1575// is to be executed. 1576type IosDeviceList struct { 1577 // IosDevices: Required. A list of iOS devices. 1578 IosDevices []*IosDevice `json:"iosDevices,omitempty"` 1579 1580 // ForceSendFields is a list of field names (e.g. "IosDevices") to 1581 // unconditionally include in API requests. By default, fields with 1582 // empty values are omitted from API requests. However, any non-pointer, 1583 // non-interface field appearing in ForceSendFields will be sent to the 1584 // server regardless of whether the field is empty or not. This may be 1585 // used to include empty fields in Patch requests. 1586 ForceSendFields []string `json:"-"` 1587 1588 // NullFields is a list of field names (e.g. "IosDevices") to include in 1589 // API requests with the JSON null value. By default, fields with empty 1590 // values are omitted from API requests. However, any field with an 1591 // empty value appearing in NullFields will be sent to the server as 1592 // null. It is an error if a field in this list has a non-empty value. 1593 // This may be used to include null fields in Patch requests. 1594 NullFields []string `json:"-"` 1595} 1596 1597func (s *IosDeviceList) MarshalJSON() ([]byte, error) { 1598 type NoMethod IosDeviceList 1599 raw := NoMethod(*s) 1600 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1601} 1602 1603// IosModel: A description of an iOS device tests may be run on. 1604// Next tag: 12 1605type IosModel struct { 1606 // DeviceCapabilities: Device capabilities. 1607 // Copied 1608 // from 1609 // https://developer.apple.com/library/archive/documentation/DeviceI 1610 // nformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/ 1611 // DeviceCompatibilityMatrix.html 1612 DeviceCapabilities []string `json:"deviceCapabilities,omitempty"` 1613 1614 // FormFactor: Whether this device is a phone, tablet, wearable, etc. 1615 // 1616 // Possible values: 1617 // "DEVICE_FORM_FACTOR_UNSPECIFIED" - Do not use. For proto versioning 1618 // only. 1619 // "PHONE" - This device has the shape of a phone. 1620 // "TABLET" - This device has the shape of a tablet. 1621 // "WEARABLE" - This device has the shape of a watch or other 1622 // wearable. 1623 FormFactor string `json:"formFactor,omitempty"` 1624 1625 // Id: The unique opaque id for this model. 1626 // Use this for invoking the TestExecutionService. 1627 Id string `json:"id,omitempty"` 1628 1629 // Name: The human-readable name for this device model. 1630 // Examples: "iPhone 4s", "iPad Mini 2". 1631 Name string `json:"name,omitempty"` 1632 1633 // ScreenDensity: Screen density in DPI. 1634 ScreenDensity int64 `json:"screenDensity,omitempty"` 1635 1636 // ScreenX: Screen size in the horizontal (X) dimension measured in 1637 // pixels. 1638 ScreenX int64 `json:"screenX,omitempty"` 1639 1640 // ScreenY: Screen size in the vertical (Y) dimension measured in 1641 // pixels. 1642 ScreenY int64 `json:"screenY,omitempty"` 1643 1644 // SupportedVersionIds: The set of iOS major software versions this 1645 // device supports. 1646 SupportedVersionIds []string `json:"supportedVersionIds,omitempty"` 1647 1648 // Tags: Tags for this dimension. 1649 // Examples: "default", "preview", "deprecated". 1650 Tags []string `json:"tags,omitempty"` 1651 1652 // ForceSendFields is a list of field names (e.g. "DeviceCapabilities") 1653 // to unconditionally include in API requests. By default, fields with 1654 // empty values are omitted from API requests. However, any non-pointer, 1655 // non-interface field appearing in ForceSendFields will be sent to the 1656 // server regardless of whether the field is empty or not. This may be 1657 // used to include empty fields in Patch requests. 1658 ForceSendFields []string `json:"-"` 1659 1660 // NullFields is a list of field names (e.g. "DeviceCapabilities") to 1661 // include in API requests with the JSON null value. By default, fields 1662 // with empty values are omitted from API requests. However, any field 1663 // with an empty value appearing in NullFields will be sent to the 1664 // server as null. It is an error if a field in this list has a 1665 // non-empty value. This may be used to include null fields in Patch 1666 // requests. 1667 NullFields []string `json:"-"` 1668} 1669 1670func (s *IosModel) MarshalJSON() ([]byte, error) { 1671 type NoMethod IosModel 1672 raw := NoMethod(*s) 1673 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1674} 1675 1676// IosRuntimeConfiguration: iOS configuration that can be selected at 1677// the time a test is run. 1678type IosRuntimeConfiguration struct { 1679 // Locales: The set of available locales. 1680 Locales []*Locale `json:"locales,omitempty"` 1681 1682 // Orientations: The set of available orientations. 1683 Orientations []*Orientation `json:"orientations,omitempty"` 1684 1685 // ForceSendFields is a list of field names (e.g. "Locales") to 1686 // unconditionally include in API requests. By default, fields with 1687 // empty values are omitted from API requests. However, any non-pointer, 1688 // non-interface field appearing in ForceSendFields will be sent to the 1689 // server regardless of whether the field is empty or not. This may be 1690 // used to include empty fields in Patch requests. 1691 ForceSendFields []string `json:"-"` 1692 1693 // NullFields is a list of field names (e.g. "Locales") to include in 1694 // API requests with the JSON null value. By default, fields with empty 1695 // values are omitted from API requests. However, any field with an 1696 // empty value appearing in NullFields will be sent to the server as 1697 // null. It is an error if a field in this list has a non-empty value. 1698 // This may be used to include null fields in Patch requests. 1699 NullFields []string `json:"-"` 1700} 1701 1702func (s *IosRuntimeConfiguration) MarshalJSON() ([]byte, error) { 1703 type NoMethod IosRuntimeConfiguration 1704 raw := NoMethod(*s) 1705 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1706} 1707 1708// IosTestLoop: A test of an iOS application that implements one or more 1709// game loop scenarios. 1710// This test type accepts an archived application (.ipa file) and a list 1711// of 1712// integer scenarios that will be executed on the app sequentially. 1713type IosTestLoop struct { 1714 // AppBundleId: Output only. The bundle id for the application under 1715 // test. 1716 AppBundleId string `json:"appBundleId,omitempty"` 1717 1718 // AppIpa: Required. The .ipa of the application to test. 1719 AppIpa *FileReference `json:"appIpa,omitempty"` 1720 1721 // Scenarios: The list of scenarios that should be run during the test. 1722 // Defaults to the 1723 // single scenario 0 if unspecified. 1724 Scenarios []int64 `json:"scenarios,omitempty"` 1725 1726 // ForceSendFields is a list of field names (e.g. "AppBundleId") to 1727 // unconditionally include in API requests. By default, fields with 1728 // empty values are omitted from API requests. However, any non-pointer, 1729 // non-interface field appearing in ForceSendFields will be sent to the 1730 // server regardless of whether the field is empty or not. This may be 1731 // used to include empty fields in Patch requests. 1732 ForceSendFields []string `json:"-"` 1733 1734 // NullFields is a list of field names (e.g. "AppBundleId") to include 1735 // in API requests with the JSON null value. By default, fields with 1736 // empty values are omitted from API requests. However, any field with 1737 // an empty value appearing in NullFields will be sent to the server as 1738 // null. It is an error if a field in this list has a non-empty value. 1739 // This may be used to include null fields in Patch requests. 1740 NullFields []string `json:"-"` 1741} 1742 1743func (s *IosTestLoop) MarshalJSON() ([]byte, error) { 1744 type NoMethod IosTestLoop 1745 raw := NoMethod(*s) 1746 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1747} 1748 1749// IosTestSetup: A description of how to set up an iOS device prior to 1750// running the test. 1751type IosTestSetup struct { 1752 // NetworkProfile: The network traffic profile used for running the 1753 // test. 1754 // Available network profiles can be queried by using 1755 // the 1756 // NETWORK_CONFIGURATION environment type when 1757 // calling 1758 // TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog. 1759 NetworkProfile string `json:"networkProfile,omitempty"` 1760 1761 // ForceSendFields is a list of field names (e.g. "NetworkProfile") to 1762 // unconditionally include in API requests. By default, fields with 1763 // empty values are omitted from API requests. However, any non-pointer, 1764 // non-interface field appearing in ForceSendFields will be sent to the 1765 // server regardless of whether the field is empty or not. This may be 1766 // used to include empty fields in Patch requests. 1767 ForceSendFields []string `json:"-"` 1768 1769 // NullFields is a list of field names (e.g. "NetworkProfile") to 1770 // include in API requests with the JSON null value. By default, fields 1771 // with empty values are omitted from API requests. However, any field 1772 // with an empty value appearing in NullFields will be sent to the 1773 // server as null. It is an error if a field in this list has a 1774 // non-empty value. This may be used to include null fields in Patch 1775 // requests. 1776 NullFields []string `json:"-"` 1777} 1778 1779func (s *IosTestSetup) MarshalJSON() ([]byte, error) { 1780 type NoMethod IosTestSetup 1781 raw := NoMethod(*s) 1782 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1783} 1784 1785// IosVersion: An iOS version. 1786type IosVersion struct { 1787 // Id: An opaque id for this iOS version. 1788 // Use this id to invoke the TestExecutionService. 1789 Id string `json:"id,omitempty"` 1790 1791 // MajorVersion: An integer representing the major iOS 1792 // version. 1793 // Examples: "8", "9". 1794 MajorVersion int64 `json:"majorVersion,omitempty"` 1795 1796 // MinorVersion: An integer representing the minor iOS 1797 // version. 1798 // Examples: "1", "2". 1799 MinorVersion int64 `json:"minorVersion,omitempty"` 1800 1801 // SupportedXcodeVersionIds: The available Xcode versions for this 1802 // version. 1803 SupportedXcodeVersionIds []string `json:"supportedXcodeVersionIds,omitempty"` 1804 1805 // Tags: Tags for this dimension. 1806 // Examples: "default", "preview", "deprecated". 1807 Tags []string `json:"tags,omitempty"` 1808 1809 // ForceSendFields is a list of field names (e.g. "Id") to 1810 // unconditionally include in API requests. By default, fields with 1811 // empty values are omitted from API requests. However, any non-pointer, 1812 // non-interface field appearing in ForceSendFields will be sent to the 1813 // server regardless of whether the field is empty or not. This may be 1814 // used to include empty fields in Patch requests. 1815 ForceSendFields []string `json:"-"` 1816 1817 // NullFields is a list of field names (e.g. "Id") to include in API 1818 // requests with the JSON null value. By default, fields with empty 1819 // values are omitted from API requests. However, any field with an 1820 // empty value appearing in NullFields will be sent to the server as 1821 // null. It is an error if a field in this list has a non-empty value. 1822 // This may be used to include null fields in Patch requests. 1823 NullFields []string `json:"-"` 1824} 1825 1826func (s *IosVersion) MarshalJSON() ([]byte, error) { 1827 type NoMethod IosVersion 1828 raw := NoMethod(*s) 1829 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1830} 1831 1832// IosXcTest: A test of an iOS application that uses the XCTest 1833// framework. 1834// Xcode supports the option to "build for testing", which generates 1835// an 1836// .xctestrun file that contains a test specification (arguments, test 1837// methods, 1838// etc). This test type accepts a zip file containing the .xctestrun 1839// file and 1840// the corresponding contents of the Build/Products directory that 1841// contains all 1842// the binaries needed to run the tests. 1843type IosXcTest struct { 1844 // AppBundleId: Output only. The bundle id for the application under 1845 // test. 1846 AppBundleId string `json:"appBundleId,omitempty"` 1847 1848 // TestSpecialEntitlements: The option to test special app entitlements. 1849 // Setting this would re-sign the 1850 // app having special entitlements with an explicit 1851 // application-identifier. 1852 // Currently supports testing aps-environment entitlement. 1853 TestSpecialEntitlements bool `json:"testSpecialEntitlements,omitempty"` 1854 1855 // TestsZip: Required. The .zip containing the .xctestrun file and the 1856 // contents of the 1857 // DerivedData/Build/Products directory. 1858 // The .xctestrun file in this zip is ignored if the xctestrun field 1859 // is 1860 // specified. 1861 TestsZip *FileReference `json:"testsZip,omitempty"` 1862 1863 // XcodeVersion: The Xcode version that should be used for the test. 1864 // Use the TestEnvironmentDiscoveryService to get supported 1865 // options. 1866 // Defaults to the latest Xcode version Firebase Test Lab supports. 1867 XcodeVersion string `json:"xcodeVersion,omitempty"` 1868 1869 // Xctestrun: An .xctestrun file that will override the .xctestrun file 1870 // in the 1871 // tests zip. Because the .xctestrun file contains environment variables 1872 // along 1873 // with test methods to run and/or ignore, this can be useful for 1874 // sharding 1875 // tests. Default is taken from the tests zip. 1876 Xctestrun *FileReference `json:"xctestrun,omitempty"` 1877 1878 // ForceSendFields is a list of field names (e.g. "AppBundleId") to 1879 // unconditionally include in API requests. By default, fields with 1880 // empty values are omitted from API requests. However, any non-pointer, 1881 // non-interface field appearing in ForceSendFields will be sent to the 1882 // server regardless of whether the field is empty or not. This may be 1883 // used to include empty fields in Patch requests. 1884 ForceSendFields []string `json:"-"` 1885 1886 // NullFields is a list of field names (e.g. "AppBundleId") to include 1887 // in API requests with the JSON null value. By default, fields with 1888 // empty values are omitted from API requests. However, any field with 1889 // an empty value appearing in NullFields will be sent to the server as 1890 // null. It is an error if a field in this list has a non-empty value. 1891 // This may be used to include null fields in Patch requests. 1892 NullFields []string `json:"-"` 1893} 1894 1895func (s *IosXcTest) MarshalJSON() ([]byte, error) { 1896 type NoMethod IosXcTest 1897 raw := NoMethod(*s) 1898 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1899} 1900 1901// LauncherActivityIntent: Specifies an intent that starts the main 1902// launcher activity. 1903type LauncherActivityIntent struct { 1904} 1905 1906// Locale: A location/region designation for language. 1907type Locale struct { 1908 // Id: The id for this locale. 1909 // Example: "en_US". 1910 Id string `json:"id,omitempty"` 1911 1912 // Name: A human-friendly name for this language/locale. 1913 // Example: "English". 1914 Name string `json:"name,omitempty"` 1915 1916 // Region: A human-friendly string representing the region for 1917 // this 1918 // locale. Example: "United States". Not present for every locale. 1919 Region string `json:"region,omitempty"` 1920 1921 // Tags: Tags for this dimension. 1922 // Example: "default". 1923 Tags []string `json:"tags,omitempty"` 1924 1925 // ForceSendFields is a list of field names (e.g. "Id") to 1926 // unconditionally include in API requests. By default, fields with 1927 // empty values are omitted from API requests. However, any non-pointer, 1928 // non-interface field appearing in ForceSendFields will be sent to the 1929 // server regardless of whether the field is empty or not. This may be 1930 // used to include empty fields in Patch requests. 1931 ForceSendFields []string `json:"-"` 1932 1933 // NullFields is a list of field names (e.g. "Id") to include in API 1934 // requests with the JSON null value. By default, fields with empty 1935 // values are omitted from API requests. However, any field with an 1936 // empty value appearing in NullFields will be sent to the server as 1937 // null. It is an error if a field in this list has a non-empty value. 1938 // This may be used to include null fields in Patch requests. 1939 NullFields []string `json:"-"` 1940} 1941 1942func (s *Locale) MarshalJSON() ([]byte, error) { 1943 type NoMethod Locale 1944 raw := NoMethod(*s) 1945 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1946} 1947 1948// ManualSharding: Shards test cases into the specified groups of 1949// packages, classes, and/or 1950// methods. 1951// 1952// With manual sharding enabled, specifying test targets 1953// via 1954// environment_variables or in InstrumentationTest is invalid. 1955type ManualSharding struct { 1956 // TestTargetsForShard: Required. Group of packages, classes, and/or 1957 // test methods to be run for 1958 // each shard. The number of shard_test_targets must be >= 1 and <= 50. 1959 TestTargetsForShard []*TestTargetsForShard `json:"testTargetsForShard,omitempty"` 1960 1961 // ForceSendFields is a list of field names (e.g. "TestTargetsForShard") 1962 // to unconditionally include in API requests. By default, fields with 1963 // empty values are omitted from API requests. However, any non-pointer, 1964 // non-interface field appearing in ForceSendFields will be sent to the 1965 // server regardless of whether the field is empty or not. This may be 1966 // used to include empty fields in Patch requests. 1967 ForceSendFields []string `json:"-"` 1968 1969 // NullFields is a list of field names (e.g. "TestTargetsForShard") to 1970 // include in API requests with the JSON null value. By default, fields 1971 // with empty values are omitted from API requests. However, any field 1972 // with an empty value appearing in NullFields will be sent to the 1973 // server as null. It is an error if a field in this list has a 1974 // non-empty value. This may be used to include null fields in Patch 1975 // requests. 1976 NullFields []string `json:"-"` 1977} 1978 1979func (s *ManualSharding) MarshalJSON() ([]byte, error) { 1980 type NoMethod ManualSharding 1981 raw := NoMethod(*s) 1982 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1983} 1984 1985type NetworkConfiguration struct { 1986 // DownRule: The emulation rule applying to the download traffic. 1987 DownRule *TrafficRule `json:"downRule,omitempty"` 1988 1989 // Id: The unique opaque id for this network traffic configuration. 1990 Id string `json:"id,omitempty"` 1991 1992 // UpRule: The emulation rule applying to the upload traffic. 1993 UpRule *TrafficRule `json:"upRule,omitempty"` 1994 1995 // ForceSendFields is a list of field names (e.g. "DownRule") to 1996 // unconditionally include in API requests. By default, fields with 1997 // empty values are omitted from API requests. However, any non-pointer, 1998 // non-interface field appearing in ForceSendFields will be sent to the 1999 // server regardless of whether the field is empty or not. This may be 2000 // used to include empty fields in Patch requests. 2001 ForceSendFields []string `json:"-"` 2002 2003 // NullFields is a list of field names (e.g. "DownRule") to include in 2004 // API requests with the JSON null value. By default, fields with empty 2005 // values are omitted from API requests. However, any field with an 2006 // empty value appearing in NullFields will be sent to the server as 2007 // null. It is an error if a field in this list has a non-empty value. 2008 // This may be used to include null fields in Patch requests. 2009 NullFields []string `json:"-"` 2010} 2011 2012func (s *NetworkConfiguration) MarshalJSON() ([]byte, error) { 2013 type NoMethod NetworkConfiguration 2014 raw := NoMethod(*s) 2015 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2016} 2017 2018type NetworkConfigurationCatalog struct { 2019 Configurations []*NetworkConfiguration `json:"configurations,omitempty"` 2020 2021 // ForceSendFields is a list of field names (e.g. "Configurations") to 2022 // unconditionally include in API requests. By default, fields with 2023 // empty values are omitted from API requests. However, any non-pointer, 2024 // non-interface field appearing in ForceSendFields will be sent to the 2025 // server regardless of whether the field is empty or not. This may be 2026 // used to include empty fields in Patch requests. 2027 ForceSendFields []string `json:"-"` 2028 2029 // NullFields is a list of field names (e.g. "Configurations") to 2030 // include in API requests with the JSON null value. By default, fields 2031 // with empty values are omitted from API requests. However, any field 2032 // with an empty value appearing in NullFields will be sent to the 2033 // server as null. It is an error if a field in this list has a 2034 // non-empty value. This may be used to include null fields in Patch 2035 // requests. 2036 NullFields []string `json:"-"` 2037} 2038 2039func (s *NetworkConfigurationCatalog) MarshalJSON() ([]byte, error) { 2040 type NoMethod NetworkConfigurationCatalog 2041 raw := NoMethod(*s) 2042 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2043} 2044 2045// ObbFile: An opaque binary blob file to install on the device before 2046// the test starts. 2047type ObbFile struct { 2048 // Obb: Required. Opaque Binary Blob (OBB) file(s) to install on the 2049 // device. 2050 Obb *FileReference `json:"obb,omitempty"` 2051 2052 // ObbFileName: Required. OBB file name which must conform to the format 2053 // as specified by 2054 // Android 2055 // e.g. [main|patch].0300110.com.example.android.obb 2056 // which will be installed into 2057 // \<shared-storage\>/Android/obb/\<package-name\>/ 2058 // on the device. 2059 ObbFileName string `json:"obbFileName,omitempty"` 2060 2061 // ForceSendFields is a list of field names (e.g. "Obb") to 2062 // unconditionally include in API requests. By default, fields with 2063 // empty values are omitted from API requests. However, any non-pointer, 2064 // non-interface field appearing in ForceSendFields will be sent to the 2065 // server regardless of whether the field is empty or not. This may be 2066 // used to include empty fields in Patch requests. 2067 ForceSendFields []string `json:"-"` 2068 2069 // NullFields is a list of field names (e.g. "Obb") to include in API 2070 // requests with the JSON null value. By default, fields with empty 2071 // values are omitted from API requests. However, any field with an 2072 // empty value appearing in NullFields will be sent to the server as 2073 // null. It is an error if a field in this list has a non-empty value. 2074 // This may be used to include null fields in Patch requests. 2075 NullFields []string `json:"-"` 2076} 2077 2078func (s *ObbFile) MarshalJSON() ([]byte, error) { 2079 type NoMethod ObbFile 2080 raw := NoMethod(*s) 2081 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2082} 2083 2084// Orientation: Screen orientation of the device. 2085type Orientation struct { 2086 // Id: The id for this orientation. 2087 // Example: "portrait". 2088 Id string `json:"id,omitempty"` 2089 2090 // Name: A human-friendly name for this orientation. 2091 // Example: "portrait". 2092 Name string `json:"name,omitempty"` 2093 2094 // Tags: Tags for this dimension. 2095 // Example: "default". 2096 Tags []string `json:"tags,omitempty"` 2097 2098 // ForceSendFields is a list of field names (e.g. "Id") to 2099 // unconditionally include in API requests. By default, fields with 2100 // empty values are omitted from API requests. However, any non-pointer, 2101 // non-interface field appearing in ForceSendFields will be sent to the 2102 // server regardless of whether the field is empty or not. This may be 2103 // used to include empty fields in Patch requests. 2104 ForceSendFields []string `json:"-"` 2105 2106 // NullFields is a list of field names (e.g. "Id") to include in API 2107 // requests with the JSON null value. By default, fields with empty 2108 // values are omitted from API requests. However, any field with an 2109 // empty value appearing in NullFields will be sent to the server as 2110 // null. It is an error if a field in this list has a non-empty value. 2111 // This may be used to include null fields in Patch requests. 2112 NullFields []string `json:"-"` 2113} 2114 2115func (s *Orientation) MarshalJSON() ([]byte, error) { 2116 type NoMethod Orientation 2117 raw := NoMethod(*s) 2118 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2119} 2120 2121// ProvidedSoftwareCatalog: The currently provided software environment 2122// on the devices under test. 2123type ProvidedSoftwareCatalog struct { 2124 // OrchestratorVersion: A string representing the current version of 2125 // Android Test 2126 // Orchestrator that is provided by TestExecutionService. 2127 // Example: "1.0.2 beta". 2128 OrchestratorVersion string `json:"orchestratorVersion,omitempty"` 2129 2130 // ForceSendFields is a list of field names (e.g. "OrchestratorVersion") 2131 // to unconditionally include in API requests. By default, fields with 2132 // empty values are omitted from API requests. However, any non-pointer, 2133 // non-interface field appearing in ForceSendFields will be sent to the 2134 // server regardless of whether the field is empty or not. This may be 2135 // used to include empty fields in Patch requests. 2136 ForceSendFields []string `json:"-"` 2137 2138 // NullFields is a list of field names (e.g. "OrchestratorVersion") to 2139 // include in API requests with the JSON null value. By default, fields 2140 // with empty values are omitted from API requests. However, any field 2141 // with an empty value appearing in NullFields will be sent to the 2142 // server as null. It is an error if a field in this list has a 2143 // non-empty value. This may be used to include null fields in Patch 2144 // requests. 2145 NullFields []string `json:"-"` 2146} 2147 2148func (s *ProvidedSoftwareCatalog) MarshalJSON() ([]byte, error) { 2149 type NoMethod ProvidedSoftwareCatalog 2150 raw := NoMethod(*s) 2151 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2152} 2153 2154// RegularFile: A file or directory to install on the device before the 2155// test starts. 2156type RegularFile struct { 2157 // Content: Required. The source file. 2158 Content *FileReference `json:"content,omitempty"` 2159 2160 // DevicePath: Required. Where to put the content on the device. Must be 2161 // an absolute, 2162 // whitelisted path. If the file exists, it will be replaced. 2163 // The following device-side directories and any of their subdirectories 2164 // are 2165 // whitelisted: 2166 // <p>${EXTERNAL_STORAGE}, or /sdcard</p> 2167 // <p>${ANDROID_DATA}/local/tmp, or /data/local/tmp</p> 2168 // <p>Specifying a path outside of these directory trees is 2169 // invalid. 2170 // 2171 // <p> The paths /sdcard and /data will be made available and treated 2172 // as 2173 // implicit path substitutions. E.g. if /sdcard on a particular device 2174 // does 2175 // not map to external storage, the system will replace it with the 2176 // external 2177 // storage path prefix for that device and copy the file there. 2178 // 2179 // <p> It is strongly advised to use the <a 2180 // href= 2181 // "http://developer.android.com/reference/android/os/Environment.h 2182 // tml"> 2183 // Environment API</a> in app and test code to access files on the 2184 // device in a 2185 // portable way. 2186 DevicePath string `json:"devicePath,omitempty"` 2187 2188 // ForceSendFields is a list of field names (e.g. "Content") to 2189 // unconditionally include in API requests. By default, fields with 2190 // empty values are omitted from API requests. However, any non-pointer, 2191 // non-interface field appearing in ForceSendFields will be sent to the 2192 // server regardless of whether the field is empty or not. This may be 2193 // used to include empty fields in Patch requests. 2194 ForceSendFields []string `json:"-"` 2195 2196 // NullFields is a list of field names (e.g. "Content") to include in 2197 // API requests with the JSON null value. By default, fields with empty 2198 // values are omitted from API requests. However, any field with an 2199 // empty value appearing in NullFields will be sent to the server as 2200 // null. It is an error if a field in this list has a non-empty value. 2201 // This may be used to include null fields in Patch requests. 2202 NullFields []string `json:"-"` 2203} 2204 2205func (s *RegularFile) MarshalJSON() ([]byte, error) { 2206 type NoMethod RegularFile 2207 raw := NoMethod(*s) 2208 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2209} 2210 2211// ResultStorage: Locations where the results of running the test are 2212// stored. 2213type ResultStorage struct { 2214 // GoogleCloudStorage: Required. 2215 GoogleCloudStorage *GoogleCloudStorage `json:"googleCloudStorage,omitempty"` 2216 2217 // ResultsUrl: Output only. URL to the results in the Firebase Web 2218 // Console. 2219 ResultsUrl string `json:"resultsUrl,omitempty"` 2220 2221 // ToolResultsExecution: Output only. The tool results execution that 2222 // results are written to. 2223 ToolResultsExecution *ToolResultsExecution `json:"toolResultsExecution,omitempty"` 2224 2225 // ToolResultsHistory: The tool results history that contains the tool 2226 // results execution that 2227 // results are written to. 2228 // 2229 // If not provided, the service will choose an appropriate value. 2230 ToolResultsHistory *ToolResultsHistory `json:"toolResultsHistory,omitempty"` 2231 2232 // ForceSendFields is a list of field names (e.g. "GoogleCloudStorage") 2233 // to unconditionally include in API requests. By default, fields with 2234 // empty values are omitted from API requests. However, any non-pointer, 2235 // non-interface field appearing in ForceSendFields will be sent to the 2236 // server regardless of whether the field is empty or not. This may be 2237 // used to include empty fields in Patch requests. 2238 ForceSendFields []string `json:"-"` 2239 2240 // NullFields is a list of field names (e.g. "GoogleCloudStorage") to 2241 // include in API requests with the JSON null value. By default, fields 2242 // with empty values are omitted from API requests. However, any field 2243 // with an empty value appearing in NullFields will be sent to the 2244 // server as null. It is an error if a field in this list has a 2245 // non-empty value. This may be used to include null fields in Patch 2246 // requests. 2247 NullFields []string `json:"-"` 2248} 2249 2250func (s *ResultStorage) MarshalJSON() ([]byte, error) { 2251 type NoMethod ResultStorage 2252 raw := NoMethod(*s) 2253 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2254} 2255 2256// RoboDirective: Directs Robo to interact with a specific UI element if 2257// it is encountered 2258// during the crawl. Currently, Robo can perform text entry or element 2259// click. 2260type RoboDirective struct { 2261 // ActionType: Required. The type of action that Robo should perform on 2262 // the specified 2263 // element. 2264 // 2265 // Possible values: 2266 // "ACTION_TYPE_UNSPECIFIED" - DO NOT USE. For proto versioning only. 2267 // "SINGLE_CLICK" - Direct Robo to click on the specified element. 2268 // No-op if specified element 2269 // is not clickable. 2270 // "ENTER_TEXT" - Direct Robo to enter text on the specified element. 2271 // No-op if specified 2272 // element is not enabled or does not allow text entry. 2273 // "IGNORE" - Direct Robo to ignore interactions with a specific 2274 // element. 2275 ActionType string `json:"actionType,omitempty"` 2276 2277 // InputText: The text that Robo is directed to set. If left empty, the 2278 // directive will be 2279 // treated as a CLICK on the element matching the resource_name. 2280 InputText string `json:"inputText,omitempty"` 2281 2282 // ResourceName: Required. The android resource name of the target UI 2283 // element. 2284 // For example, 2285 // in Java: R.string.foo 2286 // in xml: @string/foo 2287 // Only the "foo" part is needed. 2288 // Reference 2289 // doc: 2290 // https://developer.android.com/guide/topics/resources/accessing-re 2291 // sources.html 2292 ResourceName string `json:"resourceName,omitempty"` 2293 2294 // ForceSendFields is a list of field names (e.g. "ActionType") to 2295 // unconditionally include in API requests. By default, fields with 2296 // empty values are omitted from API requests. However, any non-pointer, 2297 // non-interface field appearing in ForceSendFields will be sent to the 2298 // server regardless of whether the field is empty or not. This may be 2299 // used to include empty fields in Patch requests. 2300 ForceSendFields []string `json:"-"` 2301 2302 // NullFields is a list of field names (e.g. "ActionType") to include in 2303 // API requests with the JSON null value. By default, fields with empty 2304 // values are omitted from API requests. However, any field with an 2305 // empty value appearing in NullFields will be sent to the server as 2306 // null. It is an error if a field in this list has a non-empty value. 2307 // This may be used to include null fields in Patch requests. 2308 NullFields []string `json:"-"` 2309} 2310 2311func (s *RoboDirective) MarshalJSON() ([]byte, error) { 2312 type NoMethod RoboDirective 2313 raw := NoMethod(*s) 2314 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2315} 2316 2317// RoboStartingIntent: Message for specifying the start activities to 2318// crawl. 2319type RoboStartingIntent struct { 2320 // LauncherActivity: An intent that starts the main launcher activity. 2321 LauncherActivity *LauncherActivityIntent `json:"launcherActivity,omitempty"` 2322 2323 // StartActivity: An intent that starts an activity with specific 2324 // details. 2325 StartActivity *StartActivityIntent `json:"startActivity,omitempty"` 2326 2327 // Timeout: Timeout in seconds for each intent. 2328 Timeout string `json:"timeout,omitempty"` 2329 2330 // ForceSendFields is a list of field names (e.g. "LauncherActivity") to 2331 // unconditionally include in API requests. By default, fields with 2332 // empty values are omitted from API requests. However, any non-pointer, 2333 // non-interface field appearing in ForceSendFields will be sent to the 2334 // server regardless of whether the field is empty or not. This may be 2335 // used to include empty fields in Patch requests. 2336 ForceSendFields []string `json:"-"` 2337 2338 // NullFields is a list of field names (e.g. "LauncherActivity") to 2339 // include in API requests with the JSON null value. By default, fields 2340 // with empty values are omitted from API requests. However, any field 2341 // with an empty value appearing in NullFields will be sent to the 2342 // server as null. It is an error if a field in this list has a 2343 // non-empty value. This may be used to include null fields in Patch 2344 // requests. 2345 NullFields []string `json:"-"` 2346} 2347 2348func (s *RoboStartingIntent) MarshalJSON() ([]byte, error) { 2349 type NoMethod RoboStartingIntent 2350 raw := NoMethod(*s) 2351 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2352} 2353 2354// Shard: Output only. Details about the shard. 2355type Shard struct { 2356 // NumShards: Output only. The total number of shards. 2357 NumShards int64 `json:"numShards,omitempty"` 2358 2359 // ShardIndex: Output only. The index of the shard among all the shards. 2360 ShardIndex int64 `json:"shardIndex,omitempty"` 2361 2362 // TestTargetsForShard: Output only. Test targets for each shard. 2363 TestTargetsForShard *TestTargetsForShard `json:"testTargetsForShard,omitempty"` 2364 2365 // ForceSendFields is a list of field names (e.g. "NumShards") to 2366 // unconditionally include in API requests. By default, fields with 2367 // empty values are omitted from API requests. However, any non-pointer, 2368 // non-interface field appearing in ForceSendFields will be sent to the 2369 // server regardless of whether the field is empty or not. This may be 2370 // used to include empty fields in Patch requests. 2371 ForceSendFields []string `json:"-"` 2372 2373 // NullFields is a list of field names (e.g. "NumShards") to include in 2374 // API requests with the JSON null value. By default, fields with empty 2375 // values are omitted from API requests. However, any field with an 2376 // empty value appearing in NullFields will be sent to the server as 2377 // null. It is an error if a field in this list has a non-empty value. 2378 // This may be used to include null fields in Patch requests. 2379 NullFields []string `json:"-"` 2380} 2381 2382func (s *Shard) MarshalJSON() ([]byte, error) { 2383 type NoMethod Shard 2384 raw := NoMethod(*s) 2385 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2386} 2387 2388// ShardingOption: Options for enabling sharding. 2389type ShardingOption struct { 2390 // ManualSharding: Shards test cases into the specified groups of 2391 // packages, classes, and/or 2392 // methods. 2393 ManualSharding *ManualSharding `json:"manualSharding,omitempty"` 2394 2395 // UniformSharding: Uniformly shards test cases given a total number of 2396 // shards. 2397 UniformSharding *UniformSharding `json:"uniformSharding,omitempty"` 2398 2399 // ForceSendFields is a list of field names (e.g. "ManualSharding") to 2400 // unconditionally include in API requests. By default, fields with 2401 // empty values are omitted from API requests. However, any non-pointer, 2402 // non-interface field appearing in ForceSendFields will be sent to the 2403 // server regardless of whether the field is empty or not. This may be 2404 // used to include empty fields in Patch requests. 2405 ForceSendFields []string `json:"-"` 2406 2407 // NullFields is a list of field names (e.g. "ManualSharding") to 2408 // include in API requests with the JSON null value. By default, fields 2409 // with empty values are omitted from API requests. However, any field 2410 // with an empty value appearing in NullFields will be sent to the 2411 // server as null. It is an error if a field in this list has a 2412 // non-empty value. This may be used to include null fields in Patch 2413 // requests. 2414 NullFields []string `json:"-"` 2415} 2416 2417func (s *ShardingOption) MarshalJSON() ([]byte, error) { 2418 type NoMethod ShardingOption 2419 raw := NoMethod(*s) 2420 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2421} 2422 2423// StartActivityIntent: A starting intent specified by an action, uri, 2424// and categories. 2425type StartActivityIntent struct { 2426 // Action: Action name. 2427 // Required for START_ACTIVITY. 2428 Action string `json:"action,omitempty"` 2429 2430 // Categories: Intent categories to set on the intent. 2431 Categories []string `json:"categories,omitempty"` 2432 2433 // Uri: URI for the action. 2434 Uri string `json:"uri,omitempty"` 2435 2436 // ForceSendFields is a list of field names (e.g. "Action") to 2437 // unconditionally include in API requests. By default, fields with 2438 // empty values are omitted from API requests. However, any non-pointer, 2439 // non-interface field appearing in ForceSendFields will be sent to the 2440 // server regardless of whether the field is empty or not. This may be 2441 // used to include empty fields in Patch requests. 2442 ForceSendFields []string `json:"-"` 2443 2444 // NullFields is a list of field names (e.g. "Action") to include in API 2445 // requests with the JSON null value. By default, fields with empty 2446 // values are omitted from API requests. However, any field with an 2447 // empty value appearing in NullFields will be sent to the server as 2448 // null. It is an error if a field in this list has a non-empty value. 2449 // This may be used to include null fields in Patch requests. 2450 NullFields []string `json:"-"` 2451} 2452 2453func (s *StartActivityIntent) MarshalJSON() ([]byte, error) { 2454 type NoMethod StartActivityIntent 2455 raw := NoMethod(*s) 2456 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2457} 2458 2459type SystraceSetup struct { 2460 // DurationSeconds: Systrace duration in seconds. 2461 // Should be between 1 and 30 seconds. 0 disables systrace. 2462 DurationSeconds int64 `json:"durationSeconds,omitempty"` 2463 2464 // ForceSendFields is a list of field names (e.g. "DurationSeconds") to 2465 // unconditionally include in API requests. By default, fields with 2466 // empty values are omitted from API requests. However, any non-pointer, 2467 // non-interface field appearing in ForceSendFields will be sent to the 2468 // server regardless of whether the field is empty or not. This may be 2469 // used to include empty fields in Patch requests. 2470 ForceSendFields []string `json:"-"` 2471 2472 // NullFields is a list of field names (e.g. "DurationSeconds") to 2473 // include in API requests with the JSON null value. By default, fields 2474 // with empty values are omitted from API requests. However, any field 2475 // with an empty value appearing in NullFields will be sent to the 2476 // server as null. It is an error if a field in this list has a 2477 // non-empty value. This may be used to include null fields in Patch 2478 // requests. 2479 NullFields []string `json:"-"` 2480} 2481 2482func (s *SystraceSetup) MarshalJSON() ([]byte, error) { 2483 type NoMethod SystraceSetup 2484 raw := NoMethod(*s) 2485 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2486} 2487 2488// TestDetails: Additional details about the progress of the running 2489// test. 2490type TestDetails struct { 2491 // ErrorMessage: Output only. If the TestState is ERROR, then this 2492 // string will contain 2493 // human-readable details about the error. 2494 ErrorMessage string `json:"errorMessage,omitempty"` 2495 2496 // ProgressMessages: Output only. Human-readable, detailed descriptions 2497 // of the test's progress. 2498 // For example: "Provisioning a device", "Starting Test". 2499 // 2500 // During the course of execution new data may be appended 2501 // to the end of progress_messages. 2502 ProgressMessages []string `json:"progressMessages,omitempty"` 2503 2504 // ForceSendFields is a list of field names (e.g. "ErrorMessage") to 2505 // unconditionally include in API requests. By default, fields with 2506 // empty values are omitted from API requests. However, any non-pointer, 2507 // non-interface field appearing in ForceSendFields will be sent to the 2508 // server regardless of whether the field is empty or not. This may be 2509 // used to include empty fields in Patch requests. 2510 ForceSendFields []string `json:"-"` 2511 2512 // NullFields is a list of field names (e.g. "ErrorMessage") to include 2513 // in API requests with the JSON null value. By default, fields with 2514 // empty values are omitted from API requests. However, any field with 2515 // an empty value appearing in NullFields will be sent to the server as 2516 // null. It is an error if a field in this list has a non-empty value. 2517 // This may be used to include null fields in Patch requests. 2518 NullFields []string `json:"-"` 2519} 2520 2521func (s *TestDetails) MarshalJSON() ([]byte, error) { 2522 type NoMethod TestDetails 2523 raw := NoMethod(*s) 2524 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2525} 2526 2527// TestEnvironmentCatalog: A description of a test environment. 2528type TestEnvironmentCatalog struct { 2529 // AndroidDeviceCatalog: Supported Android devices. 2530 AndroidDeviceCatalog *AndroidDeviceCatalog `json:"androidDeviceCatalog,omitempty"` 2531 2532 // IosDeviceCatalog: Supported iOS devices. 2533 IosDeviceCatalog *IosDeviceCatalog `json:"iosDeviceCatalog,omitempty"` 2534 2535 // NetworkConfigurationCatalog: Supported network configurations. 2536 NetworkConfigurationCatalog *NetworkConfigurationCatalog `json:"networkConfigurationCatalog,omitempty"` 2537 2538 // SoftwareCatalog: The software test environment provided by 2539 // TestExecutionService. 2540 SoftwareCatalog *ProvidedSoftwareCatalog `json:"softwareCatalog,omitempty"` 2541 2542 // ServerResponse contains the HTTP response code and headers from the 2543 // server. 2544 googleapi.ServerResponse `json:"-"` 2545 2546 // ForceSendFields is a list of field names (e.g. 2547 // "AndroidDeviceCatalog") to unconditionally include in API requests. 2548 // By default, fields with empty values are omitted from API requests. 2549 // However, any non-pointer, non-interface field appearing in 2550 // ForceSendFields will be sent to the server regardless of whether the 2551 // field is empty or not. This may be used to include empty fields in 2552 // Patch requests. 2553 ForceSendFields []string `json:"-"` 2554 2555 // NullFields is a list of field names (e.g. "AndroidDeviceCatalog") to 2556 // include in API requests with the JSON null value. By default, fields 2557 // with empty values are omitted from API requests. However, any field 2558 // with an empty value appearing in NullFields will be sent to the 2559 // server as null. It is an error if a field in this list has a 2560 // non-empty value. This may be used to include null fields in Patch 2561 // requests. 2562 NullFields []string `json:"-"` 2563} 2564 2565func (s *TestEnvironmentCatalog) MarshalJSON() ([]byte, error) { 2566 type NoMethod TestEnvironmentCatalog 2567 raw := NoMethod(*s) 2568 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2569} 2570 2571// TestExecution: A single test executed in a single environment. 2572type TestExecution struct { 2573 // Environment: Output only. How the host machine(s) are configured. 2574 Environment *Environment `json:"environment,omitempty"` 2575 2576 // Id: Output only. Unique id set by the service. 2577 Id string `json:"id,omitempty"` 2578 2579 // MatrixId: Output only. Id of the containing TestMatrix. 2580 MatrixId string `json:"matrixId,omitempty"` 2581 2582 // ProjectId: Output only. The cloud project that owns the test 2583 // execution. 2584 ProjectId string `json:"projectId,omitempty"` 2585 2586 // Shard: Output only. Details about the shard. 2587 Shard *Shard `json:"shard,omitempty"` 2588 2589 // State: Output only. Indicates the current progress of the test 2590 // execution 2591 // (e.g., FINISHED). 2592 // 2593 // Possible values: 2594 // "TEST_STATE_UNSPECIFIED" - Do not use. For proto versioning only. 2595 // "VALIDATING" - The execution or matrix is being validated. 2596 // "PENDING" - The execution or matrix is waiting for resources to 2597 // become available. 2598 // "RUNNING" - The execution is currently being processed. 2599 // 2600 // Can only be set on an execution. 2601 // "FINISHED" - The execution or matrix has terminated normally. 2602 // 2603 // On a matrix this means that the matrix level processing completed 2604 // normally, 2605 // but individual executions may be in an ERROR state. 2606 // "ERROR" - The execution or matrix has stopped because it 2607 // encountered an 2608 // infrastructure failure. 2609 // "UNSUPPORTED_ENVIRONMENT" - The execution was not run because it 2610 // corresponds to a unsupported 2611 // environment. 2612 // 2613 // Can only be set on an execution. 2614 // "INCOMPATIBLE_ENVIRONMENT" - The execution was not run because the 2615 // provided inputs are incompatible with 2616 // the requested environment. 2617 // 2618 // Example: requested AndroidVersion is lower than APK's 2619 // minSdkVersion 2620 // 2621 // Can only be set on an execution. 2622 // "INCOMPATIBLE_ARCHITECTURE" - The execution was not run because the 2623 // provided inputs are incompatible with 2624 // the requested architecture. 2625 // 2626 // Example: requested device does not support running the native code 2627 // in 2628 // the supplied APK 2629 // 2630 // Can only be set on an execution. 2631 // "CANCELLED" - The user cancelled the execution. 2632 // 2633 // Can only be set on an execution. 2634 // "INVALID" - The execution or matrix was not run because the 2635 // provided inputs are not 2636 // valid. 2637 // 2638 // Examples: input file is not of the expected type, is 2639 // malformed/corrupt, or 2640 // was flagged as malware 2641 State string `json:"state,omitempty"` 2642 2643 // TestDetails: Output only. Additional details about the running test. 2644 TestDetails *TestDetails `json:"testDetails,omitempty"` 2645 2646 // TestSpecification: Output only. How to run the test. 2647 TestSpecification *TestSpecification `json:"testSpecification,omitempty"` 2648 2649 // Timestamp: Output only. The time this test execution was initially 2650 // created. 2651 Timestamp string `json:"timestamp,omitempty"` 2652 2653 // ToolResultsStep: Output only. Where the results for this execution 2654 // are written. 2655 ToolResultsStep *ToolResultsStep `json:"toolResultsStep,omitempty"` 2656 2657 // ForceSendFields is a list of field names (e.g. "Environment") to 2658 // unconditionally include in API requests. By default, fields with 2659 // empty values are omitted from API requests. However, any non-pointer, 2660 // non-interface field appearing in ForceSendFields will be sent to the 2661 // server regardless of whether the field is empty or not. This may be 2662 // used to include empty fields in Patch requests. 2663 ForceSendFields []string `json:"-"` 2664 2665 // NullFields is a list of field names (e.g. "Environment") to include 2666 // in API requests with the JSON null value. By default, fields with 2667 // empty values are omitted from API requests. However, any field with 2668 // an empty value appearing in NullFields will be sent to the server as 2669 // null. It is an error if a field in this list has a non-empty value. 2670 // This may be used to include null fields in Patch requests. 2671 NullFields []string `json:"-"` 2672} 2673 2674func (s *TestExecution) MarshalJSON() ([]byte, error) { 2675 type NoMethod TestExecution 2676 raw := NoMethod(*s) 2677 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2678} 2679 2680// TestMatrix: TestMatrix captures all details about a test. It contains 2681// the environment 2682// configuration, test specification, test executions and overall state 2683// and 2684// outcome. 2685type TestMatrix struct { 2686 // ClientInfo: Information about the client which invoked the test. 2687 ClientInfo *ClientInfo `json:"clientInfo,omitempty"` 2688 2689 // EnvironmentMatrix: Required. The devices the tests are being executed 2690 // on. 2691 EnvironmentMatrix *EnvironmentMatrix `json:"environmentMatrix,omitempty"` 2692 2693 // FlakyTestAttempts: The number of times a TestExecution should be 2694 // re-attempted if one or more 2695 // of its test cases fail for any reason. 2696 // The maximum number of reruns allowed is 10. 2697 // 2698 // Default is 0, which implies no reruns. 2699 FlakyTestAttempts int64 `json:"flakyTestAttempts,omitempty"` 2700 2701 // InvalidMatrixDetails: Output only. Describes why the matrix is 2702 // considered invalid. 2703 // Only useful for matrices in the INVALID state. 2704 // 2705 // Possible values: 2706 // "INVALID_MATRIX_DETAILS_UNSPECIFIED" - Do not use. For proto 2707 // versioning only. 2708 // "DETAILS_UNAVAILABLE" - The matrix is INVALID, but there are no 2709 // further details available. 2710 // "MALFORMED_APK" - The input app APK could not be parsed. 2711 // "MALFORMED_TEST_APK" - The input test APK could not be parsed. 2712 // "NO_MANIFEST" - The AndroidManifest.xml could not be found. 2713 // "NO_PACKAGE_NAME" - The APK manifest does not declare a package 2714 // name. 2715 // "INVALID_PACKAGE_NAME" - The APK application ID (aka package name) 2716 // is invalid. 2717 // See also 2718 // https://developer.android.com/studio/build/application-id 2719 // "TEST_SAME_AS_APP" - The test package and app package are the same. 2720 // "NO_INSTRUMENTATION" - The test apk does not declare an 2721 // instrumentation. 2722 // "NO_SIGNATURE" - The input app apk does not have a signature. 2723 // "INSTRUMENTATION_ORCHESTRATOR_INCOMPATIBLE" - The test runner class 2724 // specified by user or in the test APK's manifest file 2725 // is not compatible with Android Test Orchestrator. 2726 // Orchestrator is only compatible with AndroidJUnitRunner version 1.0 2727 // or 2728 // higher. 2729 // Orchestrator can be disabled by using 2730 // DO_NOT_USE_ORCHESTRATOR 2731 // OrchestratorOption. 2732 // "NO_TEST_RUNNER_CLASS" - The test APK does not contain the test 2733 // runner class specified by user or in 2734 // the manifest file. 2735 // This can be caused by either of the following reasons: 2736 // - the user provided a runner class name that's incorrect, or 2737 // - the test runner isn't built into the test APK (might be in the app 2738 // APK 2739 // instead). 2740 // "NO_LAUNCHER_ACTIVITY" - A main launcher activity could not be 2741 // found. 2742 // "FORBIDDEN_PERMISSIONS" - The app declares one or more permissions 2743 // that are not allowed. 2744 // "INVALID_ROBO_DIRECTIVES" - There is a conflict in the provided 2745 // robo_directives. 2746 // "INVALID_RESOURCE_NAME" - There is at least one invalid resource 2747 // name in the provided 2748 // robo directives 2749 // "INVALID_DIRECTIVE_ACTION" - Invalid definition of action in the 2750 // robo directives 2751 // (e.g. a click or ignore action includes an input text field) 2752 // "TEST_LOOP_INTENT_FILTER_NOT_FOUND" - There is no test loop intent 2753 // filter, or the one that is given is 2754 // not formatted correctly. 2755 // "SCENARIO_LABEL_NOT_DECLARED" - The request contains a scenario 2756 // label that was not declared in the 2757 // manifest. 2758 // "SCENARIO_LABEL_MALFORMED" - There was an error when parsing a 2759 // label's value. 2760 // "SCENARIO_NOT_DECLARED" - The request contains a scenario number 2761 // that was not declared in the 2762 // manifest. 2763 // "DEVICE_ADMIN_RECEIVER" - Device administrator applications are not 2764 // allowed. 2765 // "MALFORMED_XC_TEST_ZIP" - The zipped XCTest was malformed. The zip 2766 // did not contain a single 2767 // .xctestrun file and the contents of the 2768 // DerivedData/Build/Products 2769 // directory. 2770 // "BUILT_FOR_IOS_SIMULATOR" - The zipped XCTest was built for the iOS 2771 // simulator rather than for a 2772 // physical device. 2773 // "NO_TESTS_IN_XC_TEST_ZIP" - The .xctestrun file did not specify any 2774 // test targets. 2775 // "USE_DESTINATION_ARTIFACTS" - One or more of the test targets 2776 // defined in the .xctestrun file specifies 2777 // "UseDestinationArtifacts", which is disallowed. 2778 // "TEST_NOT_APP_HOSTED" - XC tests which run on physical devices must 2779 // have 2780 // "IsAppHostedTestBundle" == "true" in the xctestrun file. 2781 // "PLIST_CANNOT_BE_PARSED" - An Info.plist file in the XCTest zip 2782 // could not be parsed. 2783 // "TEST_ONLY_APK" - The APK is marked as "testOnly". 2784 // Deprecated and not currently used. 2785 // "MALFORMED_IPA" - The input IPA could not be parsed. 2786 // "MISSING_URL_SCHEME" - The application doesn't register the game 2787 // loop URL scheme. 2788 // "MALFORMED_APP_BUNDLE" - The iOS application bundle (.app) couldn't 2789 // be processed. 2790 // "NO_CODE_APK" - APK contains no code. 2791 // See 2792 // also 2793 // https://developer.android.com/guide/topics/manifest/application-e 2794 // lement.html#code 2795 // "INVALID_INPUT_APK" - Either the provided input APK path was 2796 // malformed, 2797 // the APK file does not exist, or the user does not have permission 2798 // to 2799 // access the APK file. 2800 // "INVALID_APK_PREVIEW_SDK" - APK is built for a preview SDK which is 2801 // unsupported 2802 InvalidMatrixDetails string `json:"invalidMatrixDetails,omitempty"` 2803 2804 // OutcomeSummary: Output Only. The overall outcome of the test. 2805 // Only set when the test matrix state is FINISHED. 2806 // 2807 // Possible values: 2808 // "OUTCOME_SUMMARY_UNSPECIFIED" - Do not use. For proto versioning 2809 // only. 2810 // "SUCCESS" - The test matrix run was successful, for instance: 2811 // - All the test cases passed. 2812 // - Robo did not detect a crash of the application under test. 2813 // "FAILURE" - A run failed, for instance: 2814 // - One or more test case failed. 2815 // - A test timed out. 2816 // - The application under test crashed. 2817 // "INCONCLUSIVE" - Something unexpected happened. The run should 2818 // still be considered 2819 // unsuccessful but this is likely a transient problem and re-running 2820 // the 2821 // test might be successful. 2822 // "SKIPPED" - All tests were skipped, for instance: 2823 // - All device configurations were incompatible. 2824 OutcomeSummary string `json:"outcomeSummary,omitempty"` 2825 2826 // ProjectId: The cloud project that owns the test matrix. 2827 ProjectId string `json:"projectId,omitempty"` 2828 2829 // ResultStorage: Required. Where the results for the matrix are 2830 // written. 2831 ResultStorage *ResultStorage `json:"resultStorage,omitempty"` 2832 2833 // State: Output only. Indicates the current progress of the test 2834 // matrix. 2835 // 2836 // Possible values: 2837 // "TEST_STATE_UNSPECIFIED" - Do not use. For proto versioning only. 2838 // "VALIDATING" - The execution or matrix is being validated. 2839 // "PENDING" - The execution or matrix is waiting for resources to 2840 // become available. 2841 // "RUNNING" - The execution is currently being processed. 2842 // 2843 // Can only be set on an execution. 2844 // "FINISHED" - The execution or matrix has terminated normally. 2845 // 2846 // On a matrix this means that the matrix level processing completed 2847 // normally, 2848 // but individual executions may be in an ERROR state. 2849 // "ERROR" - The execution or matrix has stopped because it 2850 // encountered an 2851 // infrastructure failure. 2852 // "UNSUPPORTED_ENVIRONMENT" - The execution was not run because it 2853 // corresponds to a unsupported 2854 // environment. 2855 // 2856 // Can only be set on an execution. 2857 // "INCOMPATIBLE_ENVIRONMENT" - The execution was not run because the 2858 // provided inputs are incompatible with 2859 // the requested environment. 2860 // 2861 // Example: requested AndroidVersion is lower than APK's 2862 // minSdkVersion 2863 // 2864 // Can only be set on an execution. 2865 // "INCOMPATIBLE_ARCHITECTURE" - The execution was not run because the 2866 // provided inputs are incompatible with 2867 // the requested architecture. 2868 // 2869 // Example: requested device does not support running the native code 2870 // in 2871 // the supplied APK 2872 // 2873 // Can only be set on an execution. 2874 // "CANCELLED" - The user cancelled the execution. 2875 // 2876 // Can only be set on an execution. 2877 // "INVALID" - The execution or matrix was not run because the 2878 // provided inputs are not 2879 // valid. 2880 // 2881 // Examples: input file is not of the expected type, is 2882 // malformed/corrupt, or 2883 // was flagged as malware 2884 State string `json:"state,omitempty"` 2885 2886 // TestExecutions: Output only. The list of test executions that the 2887 // service creates for 2888 // this matrix. 2889 TestExecutions []*TestExecution `json:"testExecutions,omitempty"` 2890 2891 // TestMatrixId: Output only. Unique id set by the service. 2892 TestMatrixId string `json:"testMatrixId,omitempty"` 2893 2894 // TestSpecification: Required. How to run the test. 2895 TestSpecification *TestSpecification `json:"testSpecification,omitempty"` 2896 2897 // Timestamp: Output only. The time this test matrix was initially 2898 // created. 2899 Timestamp string `json:"timestamp,omitempty"` 2900 2901 // ServerResponse contains the HTTP response code and headers from the 2902 // server. 2903 googleapi.ServerResponse `json:"-"` 2904 2905 // ForceSendFields is a list of field names (e.g. "ClientInfo") to 2906 // unconditionally include in API requests. By default, fields with 2907 // empty values are omitted from API requests. However, any non-pointer, 2908 // non-interface field appearing in ForceSendFields will be sent to the 2909 // server regardless of whether the field is empty or not. This may be 2910 // used to include empty fields in Patch requests. 2911 ForceSendFields []string `json:"-"` 2912 2913 // NullFields is a list of field names (e.g. "ClientInfo") to include in 2914 // API requests with the JSON null value. By default, fields with empty 2915 // values are omitted from API requests. However, any field with an 2916 // empty value appearing in NullFields will be sent to the server as 2917 // null. It is an error if a field in this list has a non-empty value. 2918 // This may be used to include null fields in Patch requests. 2919 NullFields []string `json:"-"` 2920} 2921 2922func (s *TestMatrix) MarshalJSON() ([]byte, error) { 2923 type NoMethod TestMatrix 2924 raw := NoMethod(*s) 2925 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2926} 2927 2928// TestSetup: A description of how to set up the Android device prior to 2929// running the test. 2930type TestSetup struct { 2931 // Account: The device will be logged in on this account for the 2932 // duration of the test. 2933 Account *Account `json:"account,omitempty"` 2934 2935 // AdditionalApks: APKs to install in addition to those being directly 2936 // tested. 2937 // Currently capped at 100. 2938 AdditionalApks []*Apk `json:"additionalApks,omitempty"` 2939 2940 // DirectoriesToPull: List of directories on the device to upload to GCS 2941 // at the end of the test; 2942 // they must be absolute paths under /sdcard or /data/local/tmp. 2943 // Path names are restricted to characters a-z A-Z 0-9 _ - . + and 2944 // / 2945 // 2946 // Note: The paths /sdcard and /data will be made available and treated 2947 // as 2948 // implicit path substitutions. E.g. if /sdcard on a particular device 2949 // does 2950 // not map to external storage, the system will replace it with the 2951 // external 2952 // storage path prefix for that device. 2953 DirectoriesToPull []string `json:"directoriesToPull,omitempty"` 2954 2955 // EnvironmentVariables: Environment variables to set for the test (only 2956 // applicable for 2957 // instrumentation tests). 2958 EnvironmentVariables []*EnvironmentVariable `json:"environmentVariables,omitempty"` 2959 2960 // FilesToPush: List of files to push to the device before starting the 2961 // test. 2962 FilesToPush []*DeviceFile `json:"filesToPush,omitempty"` 2963 2964 // NetworkProfile: The network traffic profile used for running the 2965 // test. 2966 // Available network profiles can be queried by using 2967 // the 2968 // NETWORK_CONFIGURATION environment type when 2969 // calling 2970 // TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog. 2971 NetworkProfile string `json:"networkProfile,omitempty"` 2972 2973 // Systrace: Systrace configuration for the run. 2974 // If set a systrace will be taken, starting on test start and lasting 2975 // for the 2976 // configured duration. The systrace file thus obtained is put in the 2977 // results 2978 // bucket together with the other artifacts from the run. 2979 Systrace *SystraceSetup `json:"systrace,omitempty"` 2980 2981 // ForceSendFields is a list of field names (e.g. "Account") to 2982 // unconditionally include in API requests. By default, fields with 2983 // empty values are omitted from API requests. However, any non-pointer, 2984 // non-interface field appearing in ForceSendFields will be sent to the 2985 // server regardless of whether the field is empty or not. This may be 2986 // used to include empty fields in Patch requests. 2987 ForceSendFields []string `json:"-"` 2988 2989 // NullFields is a list of field names (e.g. "Account") to include in 2990 // API requests with the JSON null value. By default, fields with empty 2991 // values are omitted from API requests. However, any field with an 2992 // empty value appearing in NullFields will be sent to the server as 2993 // null. It is an error if a field in this list has a non-empty value. 2994 // This may be used to include null fields in Patch requests. 2995 NullFields []string `json:"-"` 2996} 2997 2998func (s *TestSetup) MarshalJSON() ([]byte, error) { 2999 type NoMethod TestSetup 3000 raw := NoMethod(*s) 3001 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3002} 3003 3004// TestSpecification: A description of how to run the test. 3005type TestSpecification struct { 3006 // AndroidInstrumentationTest: An Android instrumentation test. 3007 AndroidInstrumentationTest *AndroidInstrumentationTest `json:"androidInstrumentationTest,omitempty"` 3008 3009 // AndroidRoboTest: An Android robo test. 3010 AndroidRoboTest *AndroidRoboTest `json:"androidRoboTest,omitempty"` 3011 3012 // AndroidTestLoop: An Android Application with a Test Loop. 3013 AndroidTestLoop *AndroidTestLoop `json:"androidTestLoop,omitempty"` 3014 3015 // DisablePerformanceMetrics: Disables performance metrics recording. 3016 // May reduce test latency. 3017 DisablePerformanceMetrics bool `json:"disablePerformanceMetrics,omitempty"` 3018 3019 // DisableVideoRecording: Disables video recording. May reduce test 3020 // latency. 3021 DisableVideoRecording bool `json:"disableVideoRecording,omitempty"` 3022 3023 // IosTestLoop: An iOS application with a test loop. 3024 IosTestLoop *IosTestLoop `json:"iosTestLoop,omitempty"` 3025 3026 // IosTestSetup: Test setup requirements for iOS. 3027 IosTestSetup *IosTestSetup `json:"iosTestSetup,omitempty"` 3028 3029 // IosXcTest: An iOS XCTest, via an .xctestrun file. 3030 IosXcTest *IosXcTest `json:"iosXcTest,omitempty"` 3031 3032 // TestSetup: Test setup requirements for Android e.g. files to install, 3033 // bootstrap 3034 // scripts. 3035 TestSetup *TestSetup `json:"testSetup,omitempty"` 3036 3037 // TestTimeout: Max time a test execution is allowed to run before it 3038 // is 3039 // automatically cancelled. 3040 // The default value is 5 min. 3041 TestTimeout string `json:"testTimeout,omitempty"` 3042 3043 // ForceSendFields is a list of field names (e.g. 3044 // "AndroidInstrumentationTest") to unconditionally include in API 3045 // requests. By default, fields with empty values are omitted from API 3046 // requests. However, any non-pointer, non-interface field appearing in 3047 // ForceSendFields will be sent to the server regardless of whether the 3048 // field is empty or not. This may be used to include empty fields in 3049 // Patch requests. 3050 ForceSendFields []string `json:"-"` 3051 3052 // NullFields is a list of field names (e.g. 3053 // "AndroidInstrumentationTest") to include in API requests with the 3054 // JSON null value. By default, fields with empty values are omitted 3055 // from API requests. However, any field with an empty value appearing 3056 // in NullFields will be sent to the server as null. It is an error if a 3057 // field in this list has a non-empty value. This may be used to include 3058 // null fields in Patch requests. 3059 NullFields []string `json:"-"` 3060} 3061 3062func (s *TestSpecification) MarshalJSON() ([]byte, error) { 3063 type NoMethod TestSpecification 3064 raw := NoMethod(*s) 3065 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3066} 3067 3068// TestTargetsForShard: Test targets for a shard. 3069type TestTargetsForShard struct { 3070 // TestTargets: Group of packages, classes, and/or test methods to be 3071 // run for each shard. 3072 // The targets need to be specified in AndroidJUnitRunner argument 3073 // format. For 3074 // example, “package com.my.packages” “class 3075 // com.my.package.MyClass”. 3076 // 3077 // The number of shard_test_targets must be greater than 0. 3078 TestTargets []string `json:"testTargets,omitempty"` 3079 3080 // ForceSendFields is a list of field names (e.g. "TestTargets") to 3081 // unconditionally include in API requests. By default, fields with 3082 // empty values are omitted from API requests. However, any non-pointer, 3083 // non-interface field appearing in ForceSendFields will be sent to the 3084 // server regardless of whether the field is empty or not. This may be 3085 // used to include empty fields in Patch requests. 3086 ForceSendFields []string `json:"-"` 3087 3088 // NullFields is a list of field names (e.g. "TestTargets") to include 3089 // in API requests with the JSON null value. By default, fields with 3090 // empty values are omitted from API requests. However, any field with 3091 // an empty value appearing in NullFields will be sent to the server as 3092 // null. It is an error if a field in this list has a non-empty value. 3093 // This may be used to include null fields in Patch requests. 3094 NullFields []string `json:"-"` 3095} 3096 3097func (s *TestTargetsForShard) MarshalJSON() ([]byte, error) { 3098 type NoMethod TestTargetsForShard 3099 raw := NoMethod(*s) 3100 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3101} 3102 3103// ToolResultsExecution: Represents a tool results execution 3104// resource. 3105// 3106// This has the results of a TestMatrix. 3107type ToolResultsExecution struct { 3108 // ExecutionId: Output only. A tool results execution ID. 3109 ExecutionId string `json:"executionId,omitempty"` 3110 3111 // HistoryId: Output only. A tool results history ID. 3112 HistoryId string `json:"historyId,omitempty"` 3113 3114 // ProjectId: Output only. The cloud project that owns the tool results 3115 // execution. 3116 ProjectId string `json:"projectId,omitempty"` 3117 3118 // ForceSendFields is a list of field names (e.g. "ExecutionId") to 3119 // unconditionally include in API requests. By default, fields with 3120 // empty values are omitted from API requests. However, any non-pointer, 3121 // non-interface field appearing in ForceSendFields will be sent to the 3122 // server regardless of whether the field is empty or not. This may be 3123 // used to include empty fields in Patch requests. 3124 ForceSendFields []string `json:"-"` 3125 3126 // NullFields is a list of field names (e.g. "ExecutionId") to include 3127 // in API requests with the JSON null value. By default, fields with 3128 // empty values are omitted from API requests. However, any field with 3129 // an empty value appearing in NullFields will be sent to the server as 3130 // null. It is an error if a field in this list has a non-empty value. 3131 // This may be used to include null fields in Patch requests. 3132 NullFields []string `json:"-"` 3133} 3134 3135func (s *ToolResultsExecution) MarshalJSON() ([]byte, error) { 3136 type NoMethod ToolResultsExecution 3137 raw := NoMethod(*s) 3138 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3139} 3140 3141// ToolResultsHistory: Represents a tool results history resource. 3142type ToolResultsHistory struct { 3143 // HistoryId: Required. A tool results history ID. 3144 HistoryId string `json:"historyId,omitempty"` 3145 3146 // ProjectId: Required. The cloud project that owns the tool results 3147 // history. 3148 ProjectId string `json:"projectId,omitempty"` 3149 3150 // ForceSendFields is a list of field names (e.g. "HistoryId") to 3151 // unconditionally include in API requests. By default, fields with 3152 // empty values are omitted from API requests. However, any non-pointer, 3153 // non-interface field appearing in ForceSendFields will be sent to the 3154 // server regardless of whether the field is empty or not. This may be 3155 // used to include empty fields in Patch requests. 3156 ForceSendFields []string `json:"-"` 3157 3158 // NullFields is a list of field names (e.g. "HistoryId") to include in 3159 // API requests with the JSON null value. By default, fields with empty 3160 // values are omitted from API requests. However, any field with an 3161 // empty value appearing in NullFields will be sent to the server as 3162 // null. It is an error if a field in this list has a non-empty value. 3163 // This may be used to include null fields in Patch requests. 3164 NullFields []string `json:"-"` 3165} 3166 3167func (s *ToolResultsHistory) MarshalJSON() ([]byte, error) { 3168 type NoMethod ToolResultsHistory 3169 raw := NoMethod(*s) 3170 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3171} 3172 3173// ToolResultsStep: Represents a tool results step resource. 3174// 3175// This has the results of a TestExecution. 3176type ToolResultsStep struct { 3177 // ExecutionId: Output only. A tool results execution ID. 3178 ExecutionId string `json:"executionId,omitempty"` 3179 3180 // HistoryId: Output only. A tool results history ID. 3181 HistoryId string `json:"historyId,omitempty"` 3182 3183 // ProjectId: Output only. The cloud project that owns the tool results 3184 // step. 3185 ProjectId string `json:"projectId,omitempty"` 3186 3187 // StepId: Output only. A tool results step ID. 3188 StepId string `json:"stepId,omitempty"` 3189 3190 // ForceSendFields is a list of field names (e.g. "ExecutionId") to 3191 // unconditionally include in API requests. By default, fields with 3192 // empty values are omitted from API requests. However, any non-pointer, 3193 // non-interface field appearing in ForceSendFields will be sent to the 3194 // server regardless of whether the field is empty or not. This may be 3195 // used to include empty fields in Patch requests. 3196 ForceSendFields []string `json:"-"` 3197 3198 // NullFields is a list of field names (e.g. "ExecutionId") to include 3199 // in API requests with the JSON null value. By default, fields with 3200 // empty values are omitted from API requests. However, any field with 3201 // an empty value appearing in NullFields will be sent to the server as 3202 // null. It is an error if a field in this list has a non-empty value. 3203 // This may be used to include null fields in Patch requests. 3204 NullFields []string `json:"-"` 3205} 3206 3207func (s *ToolResultsStep) MarshalJSON() ([]byte, error) { 3208 type NoMethod ToolResultsStep 3209 raw := NoMethod(*s) 3210 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3211} 3212 3213// TrafficRule: Network emulation parameters. 3214type TrafficRule struct { 3215 // Bandwidth: Bandwidth in kbits/second. 3216 Bandwidth float64 `json:"bandwidth,omitempty"` 3217 3218 // Burst: Burst size in kbits. 3219 Burst float64 `json:"burst,omitempty"` 3220 3221 // Delay: Packet delay, must be >= 0. 3222 Delay string `json:"delay,omitempty"` 3223 3224 // PacketDuplicationRatio: Packet duplication ratio (0.0 - 1.0). 3225 PacketDuplicationRatio float64 `json:"packetDuplicationRatio,omitempty"` 3226 3227 // PacketLossRatio: Packet loss ratio (0.0 - 1.0). 3228 PacketLossRatio float64 `json:"packetLossRatio,omitempty"` 3229 3230 // ForceSendFields is a list of field names (e.g. "Bandwidth") to 3231 // unconditionally include in API requests. By default, fields with 3232 // empty values are omitted from API requests. However, any non-pointer, 3233 // non-interface field appearing in ForceSendFields will be sent to the 3234 // server regardless of whether the field is empty or not. This may be 3235 // used to include empty fields in Patch requests. 3236 ForceSendFields []string `json:"-"` 3237 3238 // NullFields is a list of field names (e.g. "Bandwidth") to include in 3239 // API requests with the JSON null value. By default, fields with empty 3240 // values are omitted from API requests. However, any field with an 3241 // empty value appearing in NullFields will be sent to the server as 3242 // null. It is an error if a field in this list has a non-empty value. 3243 // This may be used to include null fields in Patch requests. 3244 NullFields []string `json:"-"` 3245} 3246 3247func (s *TrafficRule) MarshalJSON() ([]byte, error) { 3248 type NoMethod TrafficRule 3249 raw := NoMethod(*s) 3250 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3251} 3252 3253func (s *TrafficRule) UnmarshalJSON(data []byte) error { 3254 type NoMethod TrafficRule 3255 var s1 struct { 3256 Bandwidth gensupport.JSONFloat64 `json:"bandwidth"` 3257 Burst gensupport.JSONFloat64 `json:"burst"` 3258 PacketDuplicationRatio gensupport.JSONFloat64 `json:"packetDuplicationRatio"` 3259 PacketLossRatio gensupport.JSONFloat64 `json:"packetLossRatio"` 3260 *NoMethod 3261 } 3262 s1.NoMethod = (*NoMethod)(s) 3263 if err := json.Unmarshal(data, &s1); err != nil { 3264 return err 3265 } 3266 s.Bandwidth = float64(s1.Bandwidth) 3267 s.Burst = float64(s1.Burst) 3268 s.PacketDuplicationRatio = float64(s1.PacketDuplicationRatio) 3269 s.PacketLossRatio = float64(s1.PacketLossRatio) 3270 return nil 3271} 3272 3273// UniformSharding: Uniformly shards test cases given a total number of 3274// shards. 3275// 3276// For Instrumentation test, it will be translated to “-e numShard” 3277// “-e 3278// shardIndex” AndroidJUnitRunner arguments. With uniform sharding 3279// enabled, 3280// specifying these sharding arguments via environment_variables is 3281// invalid. 3282type UniformSharding struct { 3283 // NumShards: Required. Total number of shards. The number must be >= 1 3284 // and <= 50. 3285 NumShards int64 `json:"numShards,omitempty"` 3286 3287 // ForceSendFields is a list of field names (e.g. "NumShards") to 3288 // unconditionally include in API requests. By default, fields with 3289 // empty values are omitted from API requests. However, any non-pointer, 3290 // non-interface field appearing in ForceSendFields will be sent to the 3291 // server regardless of whether the field is empty or not. This may be 3292 // used to include empty fields in Patch requests. 3293 ForceSendFields []string `json:"-"` 3294 3295 // NullFields is a list of field names (e.g. "NumShards") to include in 3296 // API requests with the JSON null value. By default, fields with empty 3297 // values are omitted from API requests. However, any field with an 3298 // empty value appearing in NullFields will be sent to the server as 3299 // null. It is an error if a field in this list has a non-empty value. 3300 // This may be used to include null fields in Patch requests. 3301 NullFields []string `json:"-"` 3302} 3303 3304func (s *UniformSharding) MarshalJSON() ([]byte, error) { 3305 type NoMethod UniformSharding 3306 raw := NoMethod(*s) 3307 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3308} 3309 3310// XcodeVersion: An Xcode version that an iOS version is compatible 3311// with. 3312type XcodeVersion struct { 3313 // Tags: Tags for this Xcode version. 3314 // Example: "default". 3315 Tags []string `json:"tags,omitempty"` 3316 3317 // Version: The id for this version. 3318 // Example: "9.2". 3319 Version string `json:"version,omitempty"` 3320 3321 // ForceSendFields is a list of field names (e.g. "Tags") to 3322 // unconditionally include in API requests. By default, fields with 3323 // empty values are omitted from API requests. However, any non-pointer, 3324 // non-interface field appearing in ForceSendFields will be sent to the 3325 // server regardless of whether the field is empty or not. This may be 3326 // used to include empty fields in Patch requests. 3327 ForceSendFields []string `json:"-"` 3328 3329 // NullFields is a list of field names (e.g. "Tags") to include in API 3330 // requests with the JSON null value. By default, fields with empty 3331 // values are omitted from API requests. However, any field with an 3332 // empty value appearing in NullFields will be sent to the server as 3333 // null. It is an error if a field in this list has a non-empty value. 3334 // This may be used to include null fields in Patch requests. 3335 NullFields []string `json:"-"` 3336} 3337 3338func (s *XcodeVersion) MarshalJSON() ([]byte, error) { 3339 type NoMethod XcodeVersion 3340 raw := NoMethod(*s) 3341 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3342} 3343 3344// method id "testing.applicationDetailService.getApkDetails": 3345 3346type ApplicationDetailServiceGetApkDetailsCall struct { 3347 s *Service 3348 filereference *FileReference 3349 urlParams_ gensupport.URLParams 3350 ctx_ context.Context 3351 header_ http.Header 3352} 3353 3354// GetApkDetails: Gets the details of an Android application APK. 3355func (r *ApplicationDetailServiceService) GetApkDetails(filereference *FileReference) *ApplicationDetailServiceGetApkDetailsCall { 3356 c := &ApplicationDetailServiceGetApkDetailsCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3357 c.filereference = filereference 3358 return c 3359} 3360 3361// Fields allows partial responses to be retrieved. See 3362// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 3363// for more information. 3364func (c *ApplicationDetailServiceGetApkDetailsCall) Fields(s ...googleapi.Field) *ApplicationDetailServiceGetApkDetailsCall { 3365 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3366 return c 3367} 3368 3369// Context sets the context to be used in this call's Do method. Any 3370// pending HTTP request will be aborted if the provided context is 3371// canceled. 3372func (c *ApplicationDetailServiceGetApkDetailsCall) Context(ctx context.Context) *ApplicationDetailServiceGetApkDetailsCall { 3373 c.ctx_ = ctx 3374 return c 3375} 3376 3377// Header returns an http.Header that can be modified by the caller to 3378// add HTTP headers to the request. 3379func (c *ApplicationDetailServiceGetApkDetailsCall) Header() http.Header { 3380 if c.header_ == nil { 3381 c.header_ = make(http.Header) 3382 } 3383 return c.header_ 3384} 3385 3386func (c *ApplicationDetailServiceGetApkDetailsCall) doRequest(alt string) (*http.Response, error) { 3387 reqHeaders := make(http.Header) 3388 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503") 3389 for k, v := range c.header_ { 3390 reqHeaders[k] = v 3391 } 3392 reqHeaders.Set("User-Agent", c.s.userAgent()) 3393 var body io.Reader = nil 3394 body, err := googleapi.WithoutDataWrapper.JSONReader(c.filereference) 3395 if err != nil { 3396 return nil, err 3397 } 3398 reqHeaders.Set("Content-Type", "application/json") 3399 c.urlParams_.Set("alt", alt) 3400 c.urlParams_.Set("prettyPrint", "false") 3401 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/applicationDetailService/getApkDetails") 3402 urls += "?" + c.urlParams_.Encode() 3403 req, err := http.NewRequest("POST", urls, body) 3404 if err != nil { 3405 return nil, err 3406 } 3407 req.Header = reqHeaders 3408 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3409} 3410 3411// Do executes the "testing.applicationDetailService.getApkDetails" call. 3412// Exactly one of *GetApkDetailsResponse or error will be non-nil. Any 3413// non-2xx status code is an error. Response headers are in either 3414// *GetApkDetailsResponse.ServerResponse.Header or (if a response was 3415// returned at all) in error.(*googleapi.Error).Header. Use 3416// googleapi.IsNotModified to check whether the returned error was 3417// because http.StatusNotModified was returned. 3418func (c *ApplicationDetailServiceGetApkDetailsCall) Do(opts ...googleapi.CallOption) (*GetApkDetailsResponse, error) { 3419 gensupport.SetOptions(c.urlParams_, opts...) 3420 res, err := c.doRequest("json") 3421 if res != nil && res.StatusCode == http.StatusNotModified { 3422 if res.Body != nil { 3423 res.Body.Close() 3424 } 3425 return nil, &googleapi.Error{ 3426 Code: res.StatusCode, 3427 Header: res.Header, 3428 } 3429 } 3430 if err != nil { 3431 return nil, err 3432 } 3433 defer googleapi.CloseBody(res) 3434 if err := googleapi.CheckResponse(res); err != nil { 3435 return nil, err 3436 } 3437 ret := &GetApkDetailsResponse{ 3438 ServerResponse: googleapi.ServerResponse{ 3439 Header: res.Header, 3440 HTTPStatusCode: res.StatusCode, 3441 }, 3442 } 3443 target := &ret 3444 if err := gensupport.DecodeResponse(target, res); err != nil { 3445 return nil, err 3446 } 3447 return ret, nil 3448 // { 3449 // "description": "Gets the details of an Android application APK.", 3450 // "flatPath": "v1/applicationDetailService/getApkDetails", 3451 // "httpMethod": "POST", 3452 // "id": "testing.applicationDetailService.getApkDetails", 3453 // "parameterOrder": [], 3454 // "parameters": {}, 3455 // "path": "v1/applicationDetailService/getApkDetails", 3456 // "request": { 3457 // "$ref": "FileReference" 3458 // }, 3459 // "response": { 3460 // "$ref": "GetApkDetailsResponse" 3461 // }, 3462 // "scopes": [ 3463 // "https://www.googleapis.com/auth/cloud-platform" 3464 // ] 3465 // } 3466 3467} 3468 3469// method id "testing.projects.testMatrices.cancel": 3470 3471type ProjectsTestMatricesCancelCall struct { 3472 s *Service 3473 projectId string 3474 testMatrixId string 3475 urlParams_ gensupport.URLParams 3476 ctx_ context.Context 3477 header_ http.Header 3478} 3479 3480// Cancel: Cancels unfinished test executions in a test matrix. 3481// This call returns immediately and cancellation proceeds 3482// asychronously. 3483// If the matrix is already final, this operation will have no 3484// effect. 3485// 3486// May return any of the following canonical error codes: 3487// 3488// - PERMISSION_DENIED - if the user is not authorized to read project 3489// - INVALID_ARGUMENT - if the request is malformed 3490// - NOT_FOUND - if the Test Matrix does not exist 3491func (r *ProjectsTestMatricesService) Cancel(projectId string, testMatrixId string) *ProjectsTestMatricesCancelCall { 3492 c := &ProjectsTestMatricesCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3493 c.projectId = projectId 3494 c.testMatrixId = testMatrixId 3495 return c 3496} 3497 3498// Fields allows partial responses to be retrieved. See 3499// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 3500// for more information. 3501func (c *ProjectsTestMatricesCancelCall) Fields(s ...googleapi.Field) *ProjectsTestMatricesCancelCall { 3502 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3503 return c 3504} 3505 3506// Context sets the context to be used in this call's Do method. Any 3507// pending HTTP request will be aborted if the provided context is 3508// canceled. 3509func (c *ProjectsTestMatricesCancelCall) Context(ctx context.Context) *ProjectsTestMatricesCancelCall { 3510 c.ctx_ = ctx 3511 return c 3512} 3513 3514// Header returns an http.Header that can be modified by the caller to 3515// add HTTP headers to the request. 3516func (c *ProjectsTestMatricesCancelCall) Header() http.Header { 3517 if c.header_ == nil { 3518 c.header_ = make(http.Header) 3519 } 3520 return c.header_ 3521} 3522 3523func (c *ProjectsTestMatricesCancelCall) doRequest(alt string) (*http.Response, error) { 3524 reqHeaders := make(http.Header) 3525 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503") 3526 for k, v := range c.header_ { 3527 reqHeaders[k] = v 3528 } 3529 reqHeaders.Set("User-Agent", c.s.userAgent()) 3530 var body io.Reader = nil 3531 c.urlParams_.Set("alt", alt) 3532 c.urlParams_.Set("prettyPrint", "false") 3533 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/testMatrices/{testMatrixId}:cancel") 3534 urls += "?" + c.urlParams_.Encode() 3535 req, err := http.NewRequest("POST", urls, body) 3536 if err != nil { 3537 return nil, err 3538 } 3539 req.Header = reqHeaders 3540 googleapi.Expand(req.URL, map[string]string{ 3541 "projectId": c.projectId, 3542 "testMatrixId": c.testMatrixId, 3543 }) 3544 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3545} 3546 3547// Do executes the "testing.projects.testMatrices.cancel" call. 3548// Exactly one of *CancelTestMatrixResponse or error will be non-nil. 3549// Any non-2xx status code is an error. Response headers are in either 3550// *CancelTestMatrixResponse.ServerResponse.Header or (if a response was 3551// returned at all) in error.(*googleapi.Error).Header. Use 3552// googleapi.IsNotModified to check whether the returned error was 3553// because http.StatusNotModified was returned. 3554func (c *ProjectsTestMatricesCancelCall) Do(opts ...googleapi.CallOption) (*CancelTestMatrixResponse, error) { 3555 gensupport.SetOptions(c.urlParams_, opts...) 3556 res, err := c.doRequest("json") 3557 if res != nil && res.StatusCode == http.StatusNotModified { 3558 if res.Body != nil { 3559 res.Body.Close() 3560 } 3561 return nil, &googleapi.Error{ 3562 Code: res.StatusCode, 3563 Header: res.Header, 3564 } 3565 } 3566 if err != nil { 3567 return nil, err 3568 } 3569 defer googleapi.CloseBody(res) 3570 if err := googleapi.CheckResponse(res); err != nil { 3571 return nil, err 3572 } 3573 ret := &CancelTestMatrixResponse{ 3574 ServerResponse: googleapi.ServerResponse{ 3575 Header: res.Header, 3576 HTTPStatusCode: res.StatusCode, 3577 }, 3578 } 3579 target := &ret 3580 if err := gensupport.DecodeResponse(target, res); err != nil { 3581 return nil, err 3582 } 3583 return ret, nil 3584 // { 3585 // "description": "Cancels unfinished test executions in a test matrix.\nThis call returns immediately and cancellation proceeds asychronously.\nIf the matrix is already final, this operation will have no effect.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to read project\n- INVALID_ARGUMENT - if the request is malformed\n- NOT_FOUND - if the Test Matrix does not exist", 3586 // "flatPath": "v1/projects/{projectId}/testMatrices/{testMatrixId}:cancel", 3587 // "httpMethod": "POST", 3588 // "id": "testing.projects.testMatrices.cancel", 3589 // "parameterOrder": [ 3590 // "projectId", 3591 // "testMatrixId" 3592 // ], 3593 // "parameters": { 3594 // "projectId": { 3595 // "description": "Cloud project that owns the test.", 3596 // "location": "path", 3597 // "required": true, 3598 // "type": "string" 3599 // }, 3600 // "testMatrixId": { 3601 // "description": "Test matrix that will be canceled.", 3602 // "location": "path", 3603 // "required": true, 3604 // "type": "string" 3605 // } 3606 // }, 3607 // "path": "v1/projects/{projectId}/testMatrices/{testMatrixId}:cancel", 3608 // "response": { 3609 // "$ref": "CancelTestMatrixResponse" 3610 // }, 3611 // "scopes": [ 3612 // "https://www.googleapis.com/auth/cloud-platform" 3613 // ] 3614 // } 3615 3616} 3617 3618// method id "testing.projects.testMatrices.create": 3619 3620type ProjectsTestMatricesCreateCall struct { 3621 s *Service 3622 projectId string 3623 testmatrix *TestMatrix 3624 urlParams_ gensupport.URLParams 3625 ctx_ context.Context 3626 header_ http.Header 3627} 3628 3629// Create: Creates and runs a matrix of tests according to the given 3630// specifications. 3631// Unsupported environments will be returned in the state 3632// UNSUPPORTED. 3633// Matrices are limited to at most 200 supported executions. 3634// 3635// May return any of the following canonical error codes: 3636// 3637// - PERMISSION_DENIED - if the user is not authorized to write to 3638// project 3639// - INVALID_ARGUMENT - if the request is malformed or if the matrix 3640// expands 3641// to more than 200 supported executions 3642func (r *ProjectsTestMatricesService) Create(projectId string, testmatrix *TestMatrix) *ProjectsTestMatricesCreateCall { 3643 c := &ProjectsTestMatricesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3644 c.projectId = projectId 3645 c.testmatrix = testmatrix 3646 return c 3647} 3648 3649// RequestId sets the optional parameter "requestId": A string id used 3650// to detect duplicated requests. 3651// Ids are automatically scoped to a project, so 3652// users should ensure the ID is unique per-project. 3653// A UUID is recommended. 3654// 3655// Optional, but strongly recommended. 3656func (c *ProjectsTestMatricesCreateCall) RequestId(requestId string) *ProjectsTestMatricesCreateCall { 3657 c.urlParams_.Set("requestId", requestId) 3658 return c 3659} 3660 3661// Fields allows partial responses to be retrieved. See 3662// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 3663// for more information. 3664func (c *ProjectsTestMatricesCreateCall) Fields(s ...googleapi.Field) *ProjectsTestMatricesCreateCall { 3665 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3666 return c 3667} 3668 3669// Context sets the context to be used in this call's Do method. Any 3670// pending HTTP request will be aborted if the provided context is 3671// canceled. 3672func (c *ProjectsTestMatricesCreateCall) Context(ctx context.Context) *ProjectsTestMatricesCreateCall { 3673 c.ctx_ = ctx 3674 return c 3675} 3676 3677// Header returns an http.Header that can be modified by the caller to 3678// add HTTP headers to the request. 3679func (c *ProjectsTestMatricesCreateCall) Header() http.Header { 3680 if c.header_ == nil { 3681 c.header_ = make(http.Header) 3682 } 3683 return c.header_ 3684} 3685 3686func (c *ProjectsTestMatricesCreateCall) doRequest(alt string) (*http.Response, error) { 3687 reqHeaders := make(http.Header) 3688 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503") 3689 for k, v := range c.header_ { 3690 reqHeaders[k] = v 3691 } 3692 reqHeaders.Set("User-Agent", c.s.userAgent()) 3693 var body io.Reader = nil 3694 body, err := googleapi.WithoutDataWrapper.JSONReader(c.testmatrix) 3695 if err != nil { 3696 return nil, err 3697 } 3698 reqHeaders.Set("Content-Type", "application/json") 3699 c.urlParams_.Set("alt", alt) 3700 c.urlParams_.Set("prettyPrint", "false") 3701 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/testMatrices") 3702 urls += "?" + c.urlParams_.Encode() 3703 req, err := http.NewRequest("POST", urls, body) 3704 if err != nil { 3705 return nil, err 3706 } 3707 req.Header = reqHeaders 3708 googleapi.Expand(req.URL, map[string]string{ 3709 "projectId": c.projectId, 3710 }) 3711 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3712} 3713 3714// Do executes the "testing.projects.testMatrices.create" call. 3715// Exactly one of *TestMatrix or error will be non-nil. Any non-2xx 3716// status code is an error. Response headers are in either 3717// *TestMatrix.ServerResponse.Header or (if a response was returned at 3718// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 3719// to check whether the returned error was because 3720// http.StatusNotModified was returned. 3721func (c *ProjectsTestMatricesCreateCall) Do(opts ...googleapi.CallOption) (*TestMatrix, error) { 3722 gensupport.SetOptions(c.urlParams_, opts...) 3723 res, err := c.doRequest("json") 3724 if res != nil && res.StatusCode == http.StatusNotModified { 3725 if res.Body != nil { 3726 res.Body.Close() 3727 } 3728 return nil, &googleapi.Error{ 3729 Code: res.StatusCode, 3730 Header: res.Header, 3731 } 3732 } 3733 if err != nil { 3734 return nil, err 3735 } 3736 defer googleapi.CloseBody(res) 3737 if err := googleapi.CheckResponse(res); err != nil { 3738 return nil, err 3739 } 3740 ret := &TestMatrix{ 3741 ServerResponse: googleapi.ServerResponse{ 3742 Header: res.Header, 3743 HTTPStatusCode: res.StatusCode, 3744 }, 3745 } 3746 target := &ret 3747 if err := gensupport.DecodeResponse(target, res); err != nil { 3748 return nil, err 3749 } 3750 return ret, nil 3751 // { 3752 // "description": "Creates and runs a matrix of tests according to the given specifications.\nUnsupported environments will be returned in the state UNSUPPORTED.\nMatrices are limited to at most 200 supported executions.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to write to project\n- INVALID_ARGUMENT - if the request is malformed or if the matrix expands\n to more than 200 supported executions", 3753 // "flatPath": "v1/projects/{projectId}/testMatrices", 3754 // "httpMethod": "POST", 3755 // "id": "testing.projects.testMatrices.create", 3756 // "parameterOrder": [ 3757 // "projectId" 3758 // ], 3759 // "parameters": { 3760 // "projectId": { 3761 // "description": "The GCE project under which this job will run.", 3762 // "location": "path", 3763 // "required": true, 3764 // "type": "string" 3765 // }, 3766 // "requestId": { 3767 // "description": "A string id used to detect duplicated requests.\nIds are automatically scoped to a project, so\nusers should ensure the ID is unique per-project.\nA UUID is recommended.\n\nOptional, but strongly recommended.", 3768 // "location": "query", 3769 // "type": "string" 3770 // } 3771 // }, 3772 // "path": "v1/projects/{projectId}/testMatrices", 3773 // "request": { 3774 // "$ref": "TestMatrix" 3775 // }, 3776 // "response": { 3777 // "$ref": "TestMatrix" 3778 // }, 3779 // "scopes": [ 3780 // "https://www.googleapis.com/auth/cloud-platform" 3781 // ] 3782 // } 3783 3784} 3785 3786// method id "testing.projects.testMatrices.get": 3787 3788type ProjectsTestMatricesGetCall struct { 3789 s *Service 3790 projectId string 3791 testMatrixId string 3792 urlParams_ gensupport.URLParams 3793 ifNoneMatch_ string 3794 ctx_ context.Context 3795 header_ http.Header 3796} 3797 3798// Get: Checks the status of a test matrix. 3799// 3800// May return any of the following canonical error codes: 3801// 3802// - PERMISSION_DENIED - if the user is not authorized to read project 3803// - INVALID_ARGUMENT - if the request is malformed 3804// - NOT_FOUND - if the Test Matrix does not exist 3805func (r *ProjectsTestMatricesService) Get(projectId string, testMatrixId string) *ProjectsTestMatricesGetCall { 3806 c := &ProjectsTestMatricesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3807 c.projectId = projectId 3808 c.testMatrixId = testMatrixId 3809 return c 3810} 3811 3812// Fields allows partial responses to be retrieved. See 3813// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 3814// for more information. 3815func (c *ProjectsTestMatricesGetCall) Fields(s ...googleapi.Field) *ProjectsTestMatricesGetCall { 3816 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3817 return c 3818} 3819 3820// IfNoneMatch sets the optional parameter which makes the operation 3821// fail if the object's ETag matches the given value. This is useful for 3822// getting updates only after the object has changed since the last 3823// request. Use googleapi.IsNotModified to check whether the response 3824// error from Do is the result of In-None-Match. 3825func (c *ProjectsTestMatricesGetCall) IfNoneMatch(entityTag string) *ProjectsTestMatricesGetCall { 3826 c.ifNoneMatch_ = entityTag 3827 return c 3828} 3829 3830// Context sets the context to be used in this call's Do method. Any 3831// pending HTTP request will be aborted if the provided context is 3832// canceled. 3833func (c *ProjectsTestMatricesGetCall) Context(ctx context.Context) *ProjectsTestMatricesGetCall { 3834 c.ctx_ = ctx 3835 return c 3836} 3837 3838// Header returns an http.Header that can be modified by the caller to 3839// add HTTP headers to the request. 3840func (c *ProjectsTestMatricesGetCall) Header() http.Header { 3841 if c.header_ == nil { 3842 c.header_ = make(http.Header) 3843 } 3844 return c.header_ 3845} 3846 3847func (c *ProjectsTestMatricesGetCall) doRequest(alt string) (*http.Response, error) { 3848 reqHeaders := make(http.Header) 3849 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503") 3850 for k, v := range c.header_ { 3851 reqHeaders[k] = v 3852 } 3853 reqHeaders.Set("User-Agent", c.s.userAgent()) 3854 if c.ifNoneMatch_ != "" { 3855 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 3856 } 3857 var body io.Reader = nil 3858 c.urlParams_.Set("alt", alt) 3859 c.urlParams_.Set("prettyPrint", "false") 3860 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/projects/{projectId}/testMatrices/{testMatrixId}") 3861 urls += "?" + c.urlParams_.Encode() 3862 req, err := http.NewRequest("GET", urls, body) 3863 if err != nil { 3864 return nil, err 3865 } 3866 req.Header = reqHeaders 3867 googleapi.Expand(req.URL, map[string]string{ 3868 "projectId": c.projectId, 3869 "testMatrixId": c.testMatrixId, 3870 }) 3871 return gensupport.SendRequest(c.ctx_, c.s.client, req) 3872} 3873 3874// Do executes the "testing.projects.testMatrices.get" call. 3875// Exactly one of *TestMatrix or error will be non-nil. Any non-2xx 3876// status code is an error. Response headers are in either 3877// *TestMatrix.ServerResponse.Header or (if a response was returned at 3878// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 3879// to check whether the returned error was because 3880// http.StatusNotModified was returned. 3881func (c *ProjectsTestMatricesGetCall) Do(opts ...googleapi.CallOption) (*TestMatrix, error) { 3882 gensupport.SetOptions(c.urlParams_, opts...) 3883 res, err := c.doRequest("json") 3884 if res != nil && res.StatusCode == http.StatusNotModified { 3885 if res.Body != nil { 3886 res.Body.Close() 3887 } 3888 return nil, &googleapi.Error{ 3889 Code: res.StatusCode, 3890 Header: res.Header, 3891 } 3892 } 3893 if err != nil { 3894 return nil, err 3895 } 3896 defer googleapi.CloseBody(res) 3897 if err := googleapi.CheckResponse(res); err != nil { 3898 return nil, err 3899 } 3900 ret := &TestMatrix{ 3901 ServerResponse: googleapi.ServerResponse{ 3902 Header: res.Header, 3903 HTTPStatusCode: res.StatusCode, 3904 }, 3905 } 3906 target := &ret 3907 if err := gensupport.DecodeResponse(target, res); err != nil { 3908 return nil, err 3909 } 3910 return ret, nil 3911 // { 3912 // "description": "Checks the status of a test matrix.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to read project\n- INVALID_ARGUMENT - if the request is malformed\n- NOT_FOUND - if the Test Matrix does not exist", 3913 // "flatPath": "v1/projects/{projectId}/testMatrices/{testMatrixId}", 3914 // "httpMethod": "GET", 3915 // "id": "testing.projects.testMatrices.get", 3916 // "parameterOrder": [ 3917 // "projectId", 3918 // "testMatrixId" 3919 // ], 3920 // "parameters": { 3921 // "projectId": { 3922 // "description": "Cloud project that owns the test matrix.", 3923 // "location": "path", 3924 // "required": true, 3925 // "type": "string" 3926 // }, 3927 // "testMatrixId": { 3928 // "description": "Unique test matrix id which was assigned by the service.", 3929 // "location": "path", 3930 // "required": true, 3931 // "type": "string" 3932 // } 3933 // }, 3934 // "path": "v1/projects/{projectId}/testMatrices/{testMatrixId}", 3935 // "response": { 3936 // "$ref": "TestMatrix" 3937 // }, 3938 // "scopes": [ 3939 // "https://www.googleapis.com/auth/cloud-platform", 3940 // "https://www.googleapis.com/auth/cloud-platform.read-only" 3941 // ] 3942 // } 3943 3944} 3945 3946// method id "testing.testEnvironmentCatalog.get": 3947 3948type TestEnvironmentCatalogGetCall struct { 3949 s *Service 3950 environmentType string 3951 urlParams_ gensupport.URLParams 3952 ifNoneMatch_ string 3953 ctx_ context.Context 3954 header_ http.Header 3955} 3956 3957// Get: Gets the catalog of supported test environments. 3958// 3959// May return any of the following canonical error codes: 3960// 3961// - INVALID_ARGUMENT - if the request is malformed 3962// - NOT_FOUND - if the environment type does not exist 3963// - INTERNAL - if an internal error occurred 3964func (r *TestEnvironmentCatalogService) Get(environmentType string) *TestEnvironmentCatalogGetCall { 3965 c := &TestEnvironmentCatalogGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} 3966 c.environmentType = environmentType 3967 return c 3968} 3969 3970// ProjectId sets the optional parameter "projectId": For authorization, 3971// the cloud project requesting the TestEnvironmentCatalog. 3972func (c *TestEnvironmentCatalogGetCall) ProjectId(projectId string) *TestEnvironmentCatalogGetCall { 3973 c.urlParams_.Set("projectId", projectId) 3974 return c 3975} 3976 3977// Fields allows partial responses to be retrieved. See 3978// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 3979// for more information. 3980func (c *TestEnvironmentCatalogGetCall) Fields(s ...googleapi.Field) *TestEnvironmentCatalogGetCall { 3981 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 3982 return c 3983} 3984 3985// IfNoneMatch sets the optional parameter which makes the operation 3986// fail if the object's ETag matches the given value. This is useful for 3987// getting updates only after the object has changed since the last 3988// request. Use googleapi.IsNotModified to check whether the response 3989// error from Do is the result of In-None-Match. 3990func (c *TestEnvironmentCatalogGetCall) IfNoneMatch(entityTag string) *TestEnvironmentCatalogGetCall { 3991 c.ifNoneMatch_ = entityTag 3992 return c 3993} 3994 3995// Context sets the context to be used in this call's Do method. Any 3996// pending HTTP request will be aborted if the provided context is 3997// canceled. 3998func (c *TestEnvironmentCatalogGetCall) Context(ctx context.Context) *TestEnvironmentCatalogGetCall { 3999 c.ctx_ = ctx 4000 return c 4001} 4002 4003// Header returns an http.Header that can be modified by the caller to 4004// add HTTP headers to the request. 4005func (c *TestEnvironmentCatalogGetCall) Header() http.Header { 4006 if c.header_ == nil { 4007 c.header_ = make(http.Header) 4008 } 4009 return c.header_ 4010} 4011 4012func (c *TestEnvironmentCatalogGetCall) doRequest(alt string) (*http.Response, error) { 4013 reqHeaders := make(http.Header) 4014 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200503") 4015 for k, v := range c.header_ { 4016 reqHeaders[k] = v 4017 } 4018 reqHeaders.Set("User-Agent", c.s.userAgent()) 4019 if c.ifNoneMatch_ != "" { 4020 reqHeaders.Set("If-None-Match", c.ifNoneMatch_) 4021 } 4022 var body io.Reader = nil 4023 c.urlParams_.Set("alt", alt) 4024 c.urlParams_.Set("prettyPrint", "false") 4025 urls := googleapi.ResolveRelative(c.s.BasePath, "v1/testEnvironmentCatalog/{environmentType}") 4026 urls += "?" + c.urlParams_.Encode() 4027 req, err := http.NewRequest("GET", urls, body) 4028 if err != nil { 4029 return nil, err 4030 } 4031 req.Header = reqHeaders 4032 googleapi.Expand(req.URL, map[string]string{ 4033 "environmentType": c.environmentType, 4034 }) 4035 return gensupport.SendRequest(c.ctx_, c.s.client, req) 4036} 4037 4038// Do executes the "testing.testEnvironmentCatalog.get" call. 4039// Exactly one of *TestEnvironmentCatalog or error will be non-nil. Any 4040// non-2xx status code is an error. Response headers are in either 4041// *TestEnvironmentCatalog.ServerResponse.Header or (if a response was 4042// returned at all) in error.(*googleapi.Error).Header. Use 4043// googleapi.IsNotModified to check whether the returned error was 4044// because http.StatusNotModified was returned. 4045func (c *TestEnvironmentCatalogGetCall) Do(opts ...googleapi.CallOption) (*TestEnvironmentCatalog, error) { 4046 gensupport.SetOptions(c.urlParams_, opts...) 4047 res, err := c.doRequest("json") 4048 if res != nil && res.StatusCode == http.StatusNotModified { 4049 if res.Body != nil { 4050 res.Body.Close() 4051 } 4052 return nil, &googleapi.Error{ 4053 Code: res.StatusCode, 4054 Header: res.Header, 4055 } 4056 } 4057 if err != nil { 4058 return nil, err 4059 } 4060 defer googleapi.CloseBody(res) 4061 if err := googleapi.CheckResponse(res); err != nil { 4062 return nil, err 4063 } 4064 ret := &TestEnvironmentCatalog{ 4065 ServerResponse: googleapi.ServerResponse{ 4066 Header: res.Header, 4067 HTTPStatusCode: res.StatusCode, 4068 }, 4069 } 4070 target := &ret 4071 if err := gensupport.DecodeResponse(target, res); err != nil { 4072 return nil, err 4073 } 4074 return ret, nil 4075 // { 4076 // "description": "Gets the catalog of supported test environments.\n\nMay return any of the following canonical error codes:\n\n- INVALID_ARGUMENT - if the request is malformed\n- NOT_FOUND - if the environment type does not exist\n- INTERNAL - if an internal error occurred", 4077 // "flatPath": "v1/testEnvironmentCatalog/{environmentType}", 4078 // "httpMethod": "GET", 4079 // "id": "testing.testEnvironmentCatalog.get", 4080 // "parameterOrder": [ 4081 // "environmentType" 4082 // ], 4083 // "parameters": { 4084 // "environmentType": { 4085 // "description": "Required. The type of environment that should be listed.", 4086 // "enum": [ 4087 // "ENVIRONMENT_TYPE_UNSPECIFIED", 4088 // "ANDROID", 4089 // "IOS", 4090 // "NETWORK_CONFIGURATION", 4091 // "PROVIDED_SOFTWARE" 4092 // ], 4093 // "location": "path", 4094 // "required": true, 4095 // "type": "string" 4096 // }, 4097 // "projectId": { 4098 // "description": "For authorization, the cloud project requesting the TestEnvironmentCatalog.", 4099 // "location": "query", 4100 // "type": "string" 4101 // } 4102 // }, 4103 // "path": "v1/testEnvironmentCatalog/{environmentType}", 4104 // "response": { 4105 // "$ref": "TestEnvironmentCatalog" 4106 // }, 4107 // "scopes": [ 4108 // "https://www.googleapis.com/auth/cloud-platform", 4109 // "https://www.googleapis.com/auth/cloud-platform.read-only" 4110 // ] 4111 // } 4112 4113} 4114