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