Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(494)

Unified Diff: generated/googleapis/lib/firebaserules/v1.dart

Issue 2779563003: Api-roll 47: 2017-03-27 (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « generated/googleapis/lib/firebasedynamiclinks/v1.dart ('k') | generated/googleapis/lib/genomics/v1.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: generated/googleapis/lib/firebaserules/v1.dart
diff --git a/generated/googleapis/lib/firebaserules/v1.dart b/generated/googleapis/lib/firebaserules/v1.dart
index b2587a049b2eaa96c0376cb2c9363821d2877649..49952371d384a26c976f8d9d9fa2458ba574c4a3 100644
--- a/generated/googleapis/lib/firebaserules/v1.dart
+++ b/generated/googleapis/lib/firebaserules/v1.dart
@@ -48,14 +48,13 @@ class ProjectsResourceApi {
_requester = client;
/**
- * Test `Source` for syntactic and semantic correctness. Issues present in the
- * rules, if any, will be returned to the caller with a description, severity,
- * and source location.
+ * Test `Source` for syntactic and semantic correctness. Issues present, if
+ * any, will be returned to the caller with a description, severity, and
+ * source location.
*
- * The test method will typically be executed with a developer provided
- * `Source`, but if regression testing is desired, this method may be
- * executed against a `Ruleset` resource name and the `Source` will be
- * retrieved from the persisted `Ruleset`.
+ * The test method may be executed with `Source` or a `Ruleset` name.
+ * Passing `Source` is useful for unit testing new rules. Passing a `Ruleset`
+ * name is useful for regression testing an existing rule.
*
* The following is an example of `Source` that permits users to upload images
* to a bucket bearing their user id and matching the correct metadata:
@@ -65,9 +64,10 @@ class ProjectsResourceApi {
* // Users are allowed to subscribe and unsubscribe to the blog.
* service firebase.storage {
* match /users/{userId}/images/{imageName} {
- * allow write: if userId == request.userId
- * && (imageName.endsWith('.png') || imageName.endsWith('.jpg'))
- * && resource.mimeType.startsWith('image/')
+ * allow write: if userId == request.auth.uid
+ * && (imageName.matches('*.png$')
+ * || imageName.matches('*.jpg$'))
+ * && resource.mimeType.matches('^image/')
* }
* }
*
@@ -75,9 +75,13 @@ class ProjectsResourceApi {
*
* Request parameters:
*
- * [name] - Name of the project.
+ * [name] - Tests may either provide `source` or a `Ruleset` resource name.
*
+ * For tests against `source`, the resource name must refer to the project:
* Format: `projects/{project_id}`
+ *
+ * For tests against a `Ruleset`, this must be the `Ruleset` resource name:
+ * Format: `projects/{project_id}/rulesets/{ruleset_id}`
* Value must have pattern "^projects/.+$".
*
* Completes with a [TestRulesetResponse].
@@ -146,8 +150,7 @@ class ProjectsReleasesResourceApi {
* The table reflects the `Ruleset` rollout in progress. The `prod` and
* `prod/beta` releases refer to the same `Ruleset`. However, `prod/v23`
* refers to a new `Ruleset`. The `Ruleset` reference for a `Release` may be
- * updated using the UpdateRelease method, and the custom `Release` name
- * may be referenced by specifying the `X-Firebase-Rules-Release-Name` header.
+ * updated using the UpdateRelease method.
*
* [request] - The metadata request object.
*
@@ -242,7 +245,6 @@ class ProjectsReleasesResourceApi {
*
* [name] - Resource name of the `Release`.
*
- *
* Format: `projects/{project_id}/releases/{release_id}`
* Value must have pattern "^projects/[^/]+/releases/.+$".
*
@@ -280,7 +282,8 @@ class ProjectsReleasesResourceApi {
/**
* List the `Release` values for a project. This list may optionally be
- * filtered by `Release` name or `Ruleset` id or both.
+ * filtered by `Release` name, `Ruleset` name, `TestSuite` name, or any
+ * combination thereof.
*
* Request parameters:
*
@@ -291,9 +294,9 @@ class ProjectsReleasesResourceApi {
*
* [filter] - `Release` filter. The list method supports filters with
* restrictions on the
- * `Release` `name` and also on the `Ruleset` `ruleset_name`.
+ * `Release.name`, `Release.ruleset_name`, and `Release.test_suite_name`.
*
- * Example 1) A filter of 'name=prod*' might return `Release`s with names
+ * Example 1: A filter of 'name=prod*' might return `Release`s with names
* within 'projects/foo' prefixed with 'prod':
*
* Name | Ruleset Name
@@ -302,7 +305,7 @@ class ProjectsReleasesResourceApi {
* projects/foo/releases/prod/v1 | projects/foo/rulesets/uuid1234
* projects/foo/releases/prod/v2 | projects/foo/rulesets/uuid8888
*
- * Example 2) A filter of `name=prod* ruleset_name=uuid1234` would return only
+ * Example 2: A filter of `name=prod* ruleset_name=uuid1234` would return only
* `Release` instances for 'projects/foo' with names prefixed with 'prod'
* referring to the same `Ruleset` name of 'uuid1234':
*
@@ -311,17 +314,17 @@ class ProjectsReleasesResourceApi {
* projects/foo/releases/prod | projects/foo/rulesets/1234
* projects/foo/releases/prod/v1 | projects/foo/rulesets/1234
*
- * In the examples, the filter parameters refer to the search filters for
- * release and ruleset names are relative to the project releases and rulesets
- * collections. Fully qualified prefixed may also be used. e.g.
- * `name=projects/foo/releases/prod* ruleset_name=projects/foo/rulesets/uuid1`
+ * In the examples, the filter parameters refer to the search filters are
+ * relative to the project. Fully qualified prefixed may also be used. e.g.
+ * `test_suite_name=projects/foo/testsuites/uuid1`
*
* [pageToken] - Next page token for the next batch of `Release` instances.
*
* [pageSize] - Page size to load. Maximum of 100. Defaults to 10.
- * Note: `page_size` is just a hint and the service may choose to load less
- * than `page_size` due to the size of the output. To traverse all of the
- * releases, caller should iterate until the `page_token` is empty.
+ * Note: `page_size` is just a hint and the service may choose to load fewer
+ * than `page_size` results due to the size of the output. To traverse all of
+ * the releases, the caller should iterate until the `page_token` on the
+ * response is empty.
*
* Completes with a [ListReleasesResponse].
*
@@ -367,9 +370,9 @@ class ProjectsReleasesResourceApi {
/**
* Update a `Release`.
*
- * Only updates to the `ruleset_name` field will be honored. `Release` rename
- * is not supported. To create a `Release` use the CreateRelease method
- * instead.
+ * Only updates to the `ruleset_name` and `test_suite_name` fields will be
+ * honored. `Release` rename is not supported. To create a `Release` use the
+ * CreateRelease method.
*
* [request] - The metadata request object.
*
@@ -584,7 +587,7 @@ class ProjectsRulesetsResourceApi {
}
/**
- * List `Ruleset` metadata only and optionally filter the results by Ruleset
+ * List `Ruleset` metadata only and optionally filter the results by `Ruleset`
* name.
*
* The full `Source` contents of a `Ruleset` may be retrieved with
@@ -597,6 +600,15 @@ class ProjectsRulesetsResourceApi {
* Format: `projects/{project_id}`
* Value must have pattern "^projects/[^/]+$".
*
+ * [filter] - `Ruleset` filter. The list method supports filters with
+ * restrictions on
+ * `Ruleset.name`.
+ *
+ * Filters on `Ruleset.create_time` should use the `date` function which
+ * parses strings that conform to the RFC 3339 date/time specifications.
+ *
+ * Example: `create_time > date("2017-01-01") AND name=UUID-*`
+ *
* [pageToken] - Next page token for loading the next batch of `Ruleset`
* instances.
*
@@ -613,7 +625,7 @@ class ProjectsRulesetsResourceApi {
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
- async.Future<ListRulesetsResponse> list(core.String name, {core.String pageToken, core.int pageSize}) {
+ async.Future<ListRulesetsResponse> list(core.String name, {core.String filter, core.String pageToken, core.int pageSize}) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
@@ -624,6 +636,9 @@ class ProjectsRulesetsResourceApi {
if (name == null) {
throw new core.ArgumentError("Parameter name is required.");
}
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
if (pageToken != null) {
_queryParams["pageToken"] = [pageToken];
}
@@ -716,6 +731,44 @@ class File {
}
}
+/**
+ * Represents a service-defined function call that was invoked during test
+ * execution.
+ */
+class FunctionCall {
+ /**
+ * The arguments that were provided to the function.
+ *
+ * The values for Object must be JSON objects. It can consist of `num`,
+ * `String`, `bool` and `null` as well as `Map` and `List` values.
+ */
+ core.List<core.Object> args;
+ /** Name of the function invoked. */
+ core.String function;
+
+ FunctionCall();
+
+ FunctionCall.fromJson(core.Map _json) {
+ if (_json.containsKey("args")) {
+ args = _json["args"];
+ }
+ if (_json.containsKey("function")) {
+ function = _json["function"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (args != null) {
+ _json["args"] = args;
+ }
+ if (function != null) {
+ _json["function"] = function;
+ }
+ return _json;
+ }
+}
+
/** Issues include warnings, errors, and deprecation notices. */
class Issue {
/** Short error description. */
@@ -797,7 +850,7 @@ class ListReleasesResponse {
}
}
-/** The response for FirebaseRulesService.ListRulesets */
+/** The response for FirebaseRulesService.ListRulesets. */
class ListRulesetsResponse {
/**
* The pagination token to retrieve the next page of results. If the value is
@@ -837,7 +890,7 @@ class ListRulesetsResponse {
class Release {
/**
* Time the release was created.
- * @OutputOnly
+ * Output only.
*/
core.String createTime;
/**
@@ -874,7 +927,7 @@ class Release {
core.String rulesetName;
/**
* Time the release was updated.
- * @OutputOnly
+ * Output only.
*/
core.String updateTime;
@@ -920,13 +973,13 @@ class Release {
class Ruleset {
/**
* Time the `Ruleset` was created.
- * @OutputOnly
+ * Output only.
*/
core.String createTime;
/**
* Name of the `Ruleset`. The ruleset_id is auto generated by the service.
* Format: `projects/{project_id}/rulesets/{ruleset_id}`
- * @OutputOnly
+ * Output only.
*/
core.String name;
/** `Source` for the `Ruleset`. */
@@ -1026,9 +1079,91 @@ class SourcePosition {
}
}
+/**
+ * Test result message containing the state of the test as well as a
+ * description and source position for test failures.
+ */
+class TestResult {
+ /**
+ * Debug messages related to test execution issues encountered during
+ * evaluation.
+ *
+ * Debug messages may be related to too many or too few invocations of
+ * function mocks or to runtime errors that occur during evaluation.
+ *
+ * For example: ```Unable to read variable [name: "resource"]```
+ */
+ core.List<core.String> debugMessages;
+ /**
+ * Position in the `Source` or `Ruleset` where the principle runtime error
+ * occurs.
+ *
+ * Evaluation of an expression may result in an error. Rules are deny by
+ * default, so a `DENY` expectation when an error is generated is valid.
+ * When there is a `DENY` with an error, the `SourcePosition` is returned.
+ *
+ * E.g. `error_position { line: 19 column: 37 }`
+ */
+ SourcePosition errorPosition;
+ /**
+ * The set of function calls made to service-defined methods.
+ *
+ * Function calls are included in the order in which they are encountered
+ * during evaluation, are provided for both mocked and unmocked functions,
+ * and included on the response regardless of the test `state`.
+ */
+ core.List<FunctionCall> functionCalls;
+ /**
+ * State of the test.
+ * Possible string values are:
+ * - "STATE_UNSPECIFIED" : Test state is not set.
+ * - "SUCCESS" : Test is a success.
+ * - "FAILURE" : Test is a failure.
+ */
+ core.String state;
+
+ TestResult();
+
+ TestResult.fromJson(core.Map _json) {
+ if (_json.containsKey("debugMessages")) {
+ debugMessages = _json["debugMessages"];
+ }
+ if (_json.containsKey("errorPosition")) {
+ errorPosition = new SourcePosition.fromJson(_json["errorPosition"]);
+ }
+ if (_json.containsKey("functionCalls")) {
+ functionCalls = _json["functionCalls"].map((value) => new FunctionCall.fromJson(value)).toList();
+ }
+ if (_json.containsKey("state")) {
+ state = _json["state"];
+ }
+ }
+
+ core.Map toJson() {
+ var _json = new core.Map();
+ if (debugMessages != null) {
+ _json["debugMessages"] = debugMessages;
+ }
+ if (errorPosition != null) {
+ _json["errorPosition"] = (errorPosition).toJson();
+ }
+ if (functionCalls != null) {
+ _json["functionCalls"] = functionCalls.map((value) => (value).toJson()).toList();
+ }
+ if (state != null) {
+ _json["state"] = state;
+ }
+ return _json;
+ }
+}
+
/** The request for FirebaseRulesService.TestRuleset. */
class TestRulesetRequest {
- /** `Source` to be checked for correctness. */
+ /**
+ * Optional `Source` to be checked for correctness.
+ *
+ * This field must not be set when the resource name refers to a `Ruleset`.
+ */
Source source;
TestRulesetRequest();
@@ -1055,6 +1190,12 @@ class TestRulesetResponse {
* `ERROR` severity will prevent tests from executing.
*/
core.List<Issue> issues;
+ /**
+ * The set of test results given the test cases in the `TestSuite`.
+ * The results will appear in the same order as the test cases appear in the
+ * `TestSuite`.
+ */
+ core.List<TestResult> testResults;
TestRulesetResponse();
@@ -1062,6 +1203,9 @@ class TestRulesetResponse {
if (_json.containsKey("issues")) {
issues = _json["issues"].map((value) => new Issue.fromJson(value)).toList();
}
+ if (_json.containsKey("testResults")) {
+ testResults = _json["testResults"].map((value) => new TestResult.fromJson(value)).toList();
+ }
}
core.Map toJson() {
@@ -1069,6 +1213,9 @@ class TestRulesetResponse {
if (issues != null) {
_json["issues"] = issues.map((value) => (value).toJson()).toList();
}
+ if (testResults != null) {
+ _json["testResults"] = testResults.map((value) => (value).toJson()).toList();
+ }
return _json;
}
}
« no previous file with comments | « generated/googleapis/lib/firebasedynamiclinks/v1.dart ('k') | generated/googleapis/lib/genomics/v1.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698