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