You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

3795 lines
146 KiB

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