testing.applicationDetailService.getApkDetails

valid {
    input.Body.gcsPath == STRING
    input.Qs.bundleLocation.gcsPath == STRING
    input.ProviderMetadata.Region == STRING
}

testing.projects.deviceSessions.cancel

valid {
    input.Body.STRING == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

testing.projects.deviceSessions.create

valid {
    input.Body.androidDevice.androidModelId == STRING
    input.Body.androidDevice.androidVersionId == STRING
    input.Body.androidDevice.locale == STRING
    input.Body.androidDevice.orientation == STRING
    input.Body.expireTime == STRING
    input.Body.name == STRING
    input.Body.ttl == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

testing.projects.deviceSessions.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

testing.projects.deviceSessions.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

testing.projects.deviceSessions.patch

valid {
    input.Body.androidDevice.androidModelId == STRING
    input.Body.androidDevice.androidVersionId == STRING
    input.Body.androidDevice.locale == STRING
    input.Body.androidDevice.orientation == STRING
    input.Body.expireTime == STRING
    input.Body.name == STRING
    input.Body.ttl == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

testing.projects.testMatrices.cancel

valid {
    input.ReqMap.ProjectID == STRING
    input.ReqMap.testMatrixId == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

testing.projects.testMatrices.create

enum_AndroidInstrumentationTestOrchestratorOption := [ "ORCHESTRATOR_OPTION_UNSPECIFIED", "USE_ORCHESTRATOR", "DO_NOT_USE_ORCHESTRATOR" ]
enum_AndroidRoboTestRoboMode := [ "ROBO_MODE_UNSPECIFIED", "ROBO_VERSION_1", "ROBO_VERSION_2" ]
enum_RoboDirectiveActionType := [ "ACTION_TYPE_UNSPECIFIED", "SINGLE_CLICK", "ENTER_TEXT", "IGNORE" ]
enum_TestExecutionState := [ "TEST_STATE_UNSPECIFIED", "VALIDATING", "PENDING", "RUNNING", "FINISHED", "ERROR", "UNSUPPORTED_ENVIRONMENT", "INCOMPATIBLE_ENVIRONMENT", "INCOMPATIBLE_ARCHITECTURE", "CANCELLED", "INVALID" ]
enum_TestMatrixInvalidMatrixDetails := [ "INVALID_MATRIX_DETAILS_UNSPECIFIED", "DETAILS_UNAVAILABLE", "MALFORMED_APK", "MALFORMED_TEST_APK", "NO_MANIFEST", "NO_PACKAGE_NAME", "INVALID_PACKAGE_NAME", "TEST_SAME_AS_APP", "NO_INSTRUMENTATION", "NO_SIGNATURE", "INSTRUMENTATION_ORCHESTRATOR_INCOMPATIBLE", "NO_TEST_RUNNER_CLASS", "NO_LAUNCHER_ACTIVITY", "FORBIDDEN_PERMISSIONS", "INVALID_ROBO_DIRECTIVES", "INVALID_RESOURCE_NAME", "INVALID_DIRECTIVE_ACTION", "TEST_LOOP_INTENT_FILTER_NOT_FOUND", "SCENARIO_LABEL_NOT_DECLARED", "SCENARIO_LABEL_MALFORMED", "SCENARIO_NOT_DECLARED", "DEVICE_ADMIN_RECEIVER", "MALFORMED_XC_TEST_ZIP", "BUILT_FOR_IOS_SIMULATOR", "NO_TESTS_IN_XC_TEST_ZIP", "USE_DESTINATION_ARTIFACTS", "TEST_NOT_APP_HOSTED", "PLIST_CANNOT_BE_PARSED", "TEST_ONLY_APK", "MALFORMED_IPA", "MISSING_URL_SCHEME", "MALFORMED_APP_BUNDLE", "NO_CODE_APK", "INVALID_INPUT_APK", "INVALID_APK_PREVIEW_SDK", "MATRIX_TOO_LARGE", "TEST_QUOTA_EXCEEDED", "SERVICE_NOT_ACTIVATED", "UNKNOWN_PERMISSION_ERROR" ]
enum_TestMatrixOutcomeSummary := [ "OUTCOME_SUMMARY_UNSPECIFIED", "SUCCESS", "FAILURE", "INCONCLUSIVE", "SKIPPED" ]
enum_TestMatrixState := [ "TEST_STATE_UNSPECIFIED", "VALIDATING", "PENDING", "RUNNING", "FINISHED", "ERROR", "UNSUPPORTED_ENVIRONMENT", "INCOMPATIBLE_ENVIRONMENT", "INCOMPATIBLE_ARCHITECTURE", "CANCELLED", "INVALID" ]

valid {
    input.Body.clientInfo.clientInfoDetails[_].key == STRING
    input.Body.clientInfo.clientInfoDetails[_].value == STRING
    input.Body.clientInfo.name == STRING
    input.Body.environmentMatrix.androidDeviceList.androidDevices[_].androidModelId == STRING
    input.Body.environmentMatrix.androidDeviceList.androidDevices[_].androidVersionId == STRING
    input.Body.environmentMatrix.androidDeviceList.androidDevices[_].locale == STRING
    input.Body.environmentMatrix.androidDeviceList.androidDevices[_].orientation == STRING
    input.Body.environmentMatrix.androidMatrix.androidModelIds[_] == STRING
    input.Body.environmentMatrix.androidMatrix.androidVersionIds[_] == STRING
    input.Body.environmentMatrix.androidMatrix.locales[_] == STRING
    input.Body.environmentMatrix.androidMatrix.orientations[_] == STRING
    input.Body.environmentMatrix.iosDeviceList.iosDevices[_].iosModelId == STRING
    input.Body.environmentMatrix.iosDeviceList.iosDevices[_].iosVersionId == STRING
    input.Body.environmentMatrix.iosDeviceList.iosDevices[_].locale == STRING
    input.Body.environmentMatrix.iosDeviceList.iosDevices[_].orientation == STRING
    input.Body.failFast == BOOLEAN
    input.Body.flakyTestAttempts == INTEGER
    input.Body.invalidMatrixDetails == enum_TestMatrixInvalidMatrixDetails[_]
    input.Body.outcomeSummary == enum_TestMatrixOutcomeSummary[_]
    input.Body.projectId == STRING
    input.Body.resultStorage.googleCloudStorage.gcsPath == STRING
    input.Body.resultStorage.resultsUrl == STRING
    input.Body.resultStorage.toolResultsExecution.executionId == STRING
    input.Body.resultStorage.toolResultsExecution.historyId == STRING
    input.Body.resultStorage.toolResultsExecution.projectId == STRING
    input.Body.resultStorage.toolResultsHistory.historyId == STRING
    input.Body.resultStorage.toolResultsHistory.projectId == STRING
    input.Body.state == enum_TestMatrixState[_]
    input.Body.testExecutions[_].environment.androidDevice.androidModelId == STRING
    input.Body.testExecutions[_].environment.androidDevice.androidVersionId == STRING
    input.Body.testExecutions[_].environment.androidDevice.locale == STRING
    input.Body.testExecutions[_].environment.androidDevice.orientation == STRING
    input.Body.testExecutions[_].environment.iosDevice.iosModelId == STRING
    input.Body.testExecutions[_].environment.iosDevice.iosVersionId == STRING
    input.Body.testExecutions[_].environment.iosDevice.locale == STRING
    input.Body.testExecutions[_].environment.iosDevice.orientation == STRING
    input.Body.testExecutions[_].id == STRING
    input.Body.testExecutions[_].matrixId == STRING
    input.Body.testExecutions[_].projectId == STRING
    input.Body.testExecutions[_].shard == {}
    input.Body.testExecutions[_].state == enum_TestExecutionState[_]
    input.Body.testExecutions[_].testDetails.errorMessage == STRING
    input.Body.testExecutions[_].testDetails.progressMessages[_] == STRING
    input.Body.testExecutions[_].testSpecification.androidInstrumentationTest.appApk.gcsPath == STRING
    input.Body.testExecutions[_].testSpecification.androidInstrumentationTest.appBundle.bundleLocation.gcsPath == STRING
    input.Body.testExecutions[_].testSpecification.androidInstrumentationTest.appPackageId == STRING
    input.Body.testExecutions[_].testSpecification.androidInstrumentationTest.orchestratorOption == enum_AndroidInstrumentationTestOrchestratorOption[_]
    input.Body.testExecutions[_].testSpecification.androidInstrumentationTest.shardingOption.manualSharding.testTargetsForShard[_].testTargets[_] == STRING
    input.Body.testExecutions[_].testSpecification.androidInstrumentationTest.shardingOption.smartSharding.targetedShardDuration == STRING
    input.Body.testExecutions[_].testSpecification.androidInstrumentationTest.shardingOption.uniformSharding.numShards == INTEGER
    input.Body.testExecutions[_].testSpecification.androidInstrumentationTest.testApk.gcsPath == STRING
    input.Body.testExecutions[_].testSpecification.androidInstrumentationTest.testPackageId == STRING
    input.Body.testExecutions[_].testSpecification.androidInstrumentationTest.testRunnerClass == STRING
    input.Body.testExecutions[_].testSpecification.androidInstrumentationTest.testTargets[_] == STRING
    input.Body.testExecutions[_].testSpecification.androidRoboTest.appApk.gcsPath == STRING
    input.Body.testExecutions[_].testSpecification.androidRoboTest.appBundle.bundleLocation.gcsPath == STRING
    input.Body.testExecutions[_].testSpecification.androidRoboTest.appInitialActivity == STRING
    input.Body.testExecutions[_].testSpecification.androidRoboTest.appPackageId == STRING
    input.Body.testExecutions[_].testSpecification.androidRoboTest.maxDepth == INTEGER
    input.Body.testExecutions[_].testSpecification.androidRoboTest.maxSteps == INTEGER
    input.Body.testExecutions[_].testSpecification.androidRoboTest.roboDirectives[_].actionType == enum_RoboDirectiveActionType[_]
    input.Body.testExecutions[_].testSpecification.androidRoboTest.roboDirectives[_].inputText == STRING
    input.Body.testExecutions[_].testSpecification.androidRoboTest.roboDirectives[_].resourceName == STRING
    input.Body.testExecutions[_].testSpecification.androidRoboTest.roboMode == enum_AndroidRoboTestRoboMode[_]
    input.Body.testExecutions[_].testSpecification.androidRoboTest.roboScript.gcsPath == STRING
    input.Body.testExecutions[_].testSpecification.androidRoboTest.startingIntents[_].launcherActivity.STRING == STRING
    input.Body.testExecutions[_].testSpecification.androidRoboTest.startingIntents[_].noActivity.STRING == STRING
    input.Body.testExecutions[_].testSpecification.androidRoboTest.startingIntents[_].startActivity.action == STRING
    input.Body.testExecutions[_].testSpecification.androidRoboTest.startingIntents[_].startActivity.categories[_] == STRING
    input.Body.testExecutions[_].testSpecification.androidRoboTest.startingIntents[_].startActivity.uri == STRING
    input.Body.testExecutions[_].testSpecification.androidRoboTest.startingIntents[_].timeout == STRING
    input.Body.testExecutions[_].testSpecification.androidTestLoop.appApk.gcsPath == STRING
    input.Body.testExecutions[_].testSpecification.androidTestLoop.appBundle.bundleLocation.gcsPath == STRING
    input.Body.testExecutions[_].testSpecification.androidTestLoop.appPackageId == STRING
    input.Body.testExecutions[_].testSpecification.androidTestLoop.scenarioLabels[_] == STRING
    input.Body.testExecutions[_].testSpecification.androidTestLoop.scenarios[_] == INTEGER
    input.Body.testExecutions[_].testSpecification.disablePerformanceMetrics == BOOLEAN
    input.Body.testExecutions[_].testSpecification.disableVideoRecording == BOOLEAN
    input.Body.testExecutions[_].testSpecification.iosRoboTest.appBundleId == STRING
    input.Body.testExecutions[_].testSpecification.iosRoboTest.appIpa.gcsPath == STRING
    input.Body.testExecutions[_].testSpecification.iosRoboTest.roboScript.gcsPath == STRING
    input.Body.testExecutions[_].testSpecification.iosTestLoop.appBundleId == STRING
    input.Body.testExecutions[_].testSpecification.iosTestLoop.appIpa.gcsPath == STRING
    input.Body.testExecutions[_].testSpecification.iosTestLoop.scenarios[_] == INTEGER
    input.Body.testExecutions[_].testSpecification.iosTestSetup.additionalIpas[_].gcsPath == STRING
    input.Body.testExecutions[_].testSpecification.iosTestSetup.networkProfile == STRING
    input.Body.testExecutions[_].testSpecification.iosTestSetup.pullDirectories[_].bundleId == STRING
    input.Body.testExecutions[_].testSpecification.iosTestSetup.pullDirectories[_].content.gcsPath == STRING
    input.Body.testExecutions[_].testSpecification.iosTestSetup.pullDirectories[_].devicePath == STRING
    input.Body.testExecutions[_].testSpecification.iosTestSetup.pushFiles[_].bundleId == STRING
    input.Body.testExecutions[_].testSpecification.iosTestSetup.pushFiles[_].content.gcsPath == STRING
    input.Body.testExecutions[_].testSpecification.iosTestSetup.pushFiles[_].devicePath == STRING
    input.Body.testExecutions[_].testSpecification.iosXcTest.appBundleId == STRING
    input.Body.testExecutions[_].testSpecification.iosXcTest.testSpecialEntitlements == BOOLEAN
    input.Body.testExecutions[_].testSpecification.iosXcTest.testsZip.gcsPath == STRING
    input.Body.testExecutions[_].testSpecification.iosXcTest.xcodeVersion == STRING
    input.Body.testExecutions[_].testSpecification.iosXcTest.xctestrun.gcsPath == STRING
    input.Body.testExecutions[_].testSpecification.testSetup.account.googleAuto.STRING == STRING
    input.Body.testExecutions[_].testSpecification.testSetup.additionalApks[_].location.gcsPath == STRING
    input.Body.testExecutions[_].testSpecification.testSetup.additionalApks[_].packageName == STRING
    input.Body.testExecutions[_].testSpecification.testSetup.directoriesToPull[_] == STRING
    input.Body.testExecutions[_].testSpecification.testSetup.dontAutograntPermissions == BOOLEAN
    input.Body.testExecutions[_].testSpecification.testSetup.environmentVariables[_].key == STRING
    input.Body.testExecutions[_].testSpecification.testSetup.environmentVariables[_].value == STRING
    input.Body.testExecutions[_].testSpecification.testSetup.filesToPush[_].obbFile.obb.gcsPath == STRING
    input.Body.testExecutions[_].testSpecification.testSetup.filesToPush[_].obbFile.obbFileName == STRING
    input.Body.testExecutions[_].testSpecification.testSetup.filesToPush[_].regularFile.content.gcsPath == STRING
    input.Body.testExecutions[_].testSpecification.testSetup.filesToPush[_].regularFile.devicePath == STRING
    input.Body.testExecutions[_].testSpecification.testSetup.initialSetupApks[_].location.gcsPath == STRING
    input.Body.testExecutions[_].testSpecification.testSetup.initialSetupApks[_].packageName == STRING
    input.Body.testExecutions[_].testSpecification.testSetup.networkProfile == STRING
    input.Body.testExecutions[_].testSpecification.testSetup.systrace.durationSeconds == INTEGER
    input.Body.testExecutions[_].testSpecification.testTimeout == STRING
    input.Body.testExecutions[_].timestamp == STRING
    input.Body.testExecutions[_].toolResultsStep.executionId == STRING
    input.Body.testExecutions[_].toolResultsStep.historyId == STRING
    input.Body.testExecutions[_].toolResultsStep.projectId == STRING
    input.Body.testExecutions[_].toolResultsStep.stepId == STRING
    input.Body.testMatrixId == STRING
    input.Body.testSpecification.androidInstrumentationTest.appApk.gcsPath == STRING
    input.Body.testSpecification.androidInstrumentationTest.appBundle.bundleLocation.gcsPath == STRING
    input.Body.testSpecification.androidInstrumentationTest.appPackageId == STRING
    input.Body.testSpecification.androidInstrumentationTest.orchestratorOption == enum_AndroidInstrumentationTestOrchestratorOption[_]
    input.Body.testSpecification.androidInstrumentationTest.shardingOption.manualSharding.testTargetsForShard[_].testTargets[_] == STRING
    input.Body.testSpecification.androidInstrumentationTest.shardingOption.smartSharding.targetedShardDuration == STRING
    input.Body.testSpecification.androidInstrumentationTest.shardingOption.uniformSharding.numShards == INTEGER
    input.Body.testSpecification.androidInstrumentationTest.testApk.gcsPath == STRING
    input.Body.testSpecification.androidInstrumentationTest.testPackageId == STRING
    input.Body.testSpecification.androidInstrumentationTest.testRunnerClass == STRING
    input.Body.testSpecification.androidInstrumentationTest.testTargets[_] == STRING
    input.Body.testSpecification.androidRoboTest.appApk.gcsPath == STRING
    input.Body.testSpecification.androidRoboTest.appBundle.bundleLocation.gcsPath == STRING
    input.Body.testSpecification.androidRoboTest.appInitialActivity == STRING
    input.Body.testSpecification.androidRoboTest.appPackageId == STRING
    input.Body.testSpecification.androidRoboTest.maxDepth == INTEGER
    input.Body.testSpecification.androidRoboTest.maxSteps == INTEGER
    input.Body.testSpecification.androidRoboTest.roboDirectives[_].actionType == enum_RoboDirectiveActionType[_]
    input.Body.testSpecification.androidRoboTest.roboDirectives[_].inputText == STRING
    input.Body.testSpecification.androidRoboTest.roboDirectives[_].resourceName == STRING
    input.Body.testSpecification.androidRoboTest.roboMode == enum_AndroidRoboTestRoboMode[_]
    input.Body.testSpecification.androidRoboTest.roboScript.gcsPath == STRING
    input.Body.testSpecification.androidRoboTest.startingIntents[_].launcherActivity.STRING == STRING
    input.Body.testSpecification.androidRoboTest.startingIntents[_].noActivity.STRING == STRING
    input.Body.testSpecification.androidRoboTest.startingIntents[_].startActivity.action == STRING
    input.Body.testSpecification.androidRoboTest.startingIntents[_].startActivity.categories[_] == STRING
    input.Body.testSpecification.androidRoboTest.startingIntents[_].startActivity.uri == STRING
    input.Body.testSpecification.androidRoboTest.startingIntents[_].timeout == STRING
    input.Body.testSpecification.androidTestLoop.appApk.gcsPath == STRING
    input.Body.testSpecification.androidTestLoop.appBundle.bundleLocation.gcsPath == STRING
    input.Body.testSpecification.androidTestLoop.appPackageId == STRING
    input.Body.testSpecification.androidTestLoop.scenarioLabels[_] == STRING
    input.Body.testSpecification.androidTestLoop.scenarios[_] == INTEGER
    input.Body.testSpecification.disablePerformanceMetrics == BOOLEAN
    input.Body.testSpecification.disableVideoRecording == BOOLEAN
    input.Body.testSpecification.iosRoboTest.appBundleId == STRING
    input.Body.testSpecification.iosRoboTest.appIpa.gcsPath == STRING
    input.Body.testSpecification.iosRoboTest.roboScript.gcsPath == STRING
    input.Body.testSpecification.iosTestLoop.appBundleId == STRING
    input.Body.testSpecification.iosTestLoop.appIpa.gcsPath == STRING
    input.Body.testSpecification.iosTestLoop.scenarios[_] == INTEGER
    input.Body.testSpecification.iosTestSetup.additionalIpas[_].gcsPath == STRING
    input.Body.testSpecification.iosTestSetup.networkProfile == STRING
    input.Body.testSpecification.iosTestSetup.pullDirectories[_].bundleId == STRING
    input.Body.testSpecification.iosTestSetup.pullDirectories[_].content.gcsPath == STRING
    input.Body.testSpecification.iosTestSetup.pullDirectories[_].devicePath == STRING
    input.Body.testSpecification.iosTestSetup.pushFiles[_].bundleId == STRING
    input.Body.testSpecification.iosTestSetup.pushFiles[_].content.gcsPath == STRING
    input.Body.testSpecification.iosTestSetup.pushFiles[_].devicePath == STRING
    input.Body.testSpecification.iosXcTest.appBundleId == STRING
    input.Body.testSpecification.iosXcTest.testSpecialEntitlements == BOOLEAN
    input.Body.testSpecification.iosXcTest.testsZip.gcsPath == STRING
    input.Body.testSpecification.iosXcTest.xcodeVersion == STRING
    input.Body.testSpecification.iosXcTest.xctestrun.gcsPath == STRING
    input.Body.testSpecification.testSetup.account.googleAuto.STRING == STRING
    input.Body.testSpecification.testSetup.additionalApks[_].location.gcsPath == STRING
    input.Body.testSpecification.testSetup.additionalApks[_].packageName == STRING
    input.Body.testSpecification.testSetup.directoriesToPull[_] == STRING
    input.Body.testSpecification.testSetup.dontAutograntPermissions == BOOLEAN
    input.Body.testSpecification.testSetup.environmentVariables[_].key == STRING
    input.Body.testSpecification.testSetup.environmentVariables[_].value == STRING
    input.Body.testSpecification.testSetup.filesToPush[_].obbFile.obb.gcsPath == STRING
    input.Body.testSpecification.testSetup.filesToPush[_].obbFile.obbFileName == STRING
    input.Body.testSpecification.testSetup.filesToPush[_].regularFile.content.gcsPath == STRING
    input.Body.testSpecification.testSetup.filesToPush[_].regularFile.devicePath == STRING
    input.Body.testSpecification.testSetup.initialSetupApks[_].location.gcsPath == STRING
    input.Body.testSpecification.testSetup.initialSetupApks[_].packageName == STRING
    input.Body.testSpecification.testSetup.networkProfile == STRING
    input.Body.testSpecification.testSetup.systrace.durationSeconds == INTEGER
    input.Body.testSpecification.testTimeout == STRING
    input.Body.timestamp == STRING
    input.ReqMap.ProjectID == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

testing.projects.testMatrices.get

valid {
    input.ReqMap.ProjectID == STRING
    input.ReqMap.testMatrixId == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

testing.testEnvironmentCatalog.get

enum_EnvironmentTypeParameter := [ "ENVIRONMENT_TYPE_UNSPECIFIED", "ANDROID", "IOS", "NETWORK_CONFIGURATION", "PROVIDED_SOFTWARE", "DEVICE_IP_BLOCKS" ]

valid {
    input.ReqMap.environmentType == enum_EnvironmentTypeParameter[_]
    input.Qs.projectId == STRING
    input.ProviderMetadata.Region == STRING
}