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