1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
|
<html><body>
<style>
body, h1, h2, h3, div, span, p, pre, a {
margin: 0;
padding: 0;
border: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
body {
font-size: 13px;
padding: 1em;
}
h1 {
font-size: 26px;
margin-bottom: 1em;
}
h2 {
font-size: 24px;
margin-bottom: 1em;
}
h3 {
font-size: 20px;
margin-bottom: 1em;
margin-top: 1em;
}
pre, code {
line-height: 1.5;
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}
pre {
margin-top: 0.5em;
}
h1, h2, h3, p {
font-family: Arial, sans serif;
}
h1, h2, h3 {
border-bottom: solid #CCC 1px;
}
.toc_element {
margin-top: 0.5em;
}
.firstline {
margin-left: 2 em;
}
.method {
margin-top: 1em;
border: solid 1px #CCC;
padding: 1em;
background: #EEE;
}
.details {
font-weight: bold;
font-size: 14px;
}
</style>
<h1><a href="firebaserules_v1.html">Firebase Rules API</a> . <a href="firebaserules_v1.projects.html">projects</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
<code><a href="firebaserules_v1.projects.releases.html">releases()</a></code>
</p>
<p class="firstline">Returns the releases Resource.</p>
<p class="toc_element">
<code><a href="firebaserules_v1.projects.rulesets.html">rulesets()</a></code>
</p>
<p class="firstline">Returns the rulesets Resource.</p>
<p class="toc_element">
<code><a href="#test">test(name=None, body, x__xgafv=None)</a></code></p>
<p class="firstline">Test `Source` for syntactic and semantic correctness. Issues present in the</p>
<h3>Method Details</h3>
<div class="method">
<code class="details" id="test">test(name=None, body, x__xgafv=None)</code>
<pre>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.
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 following is an example of `Source` that permits users to upload images
to a bucket bearing their user id and matching the correct metadata:
_*Example*_
// 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/')
}
}
Args:
name: string, Name of the project.
Format: `projects/{project_id}` (required)
body: object, The request body. (required)
The object takes the form of:
{ # The request for FirebaseRulesService.TestRuleset.
"source": { # `Source` is one or more `File` messages comprising a logical set of rules. # `Source` to be checked for correctness.
"files": [ # `File` set constituting the `Source` bundle.
{ # `File` containing source content.
"content": "A String", # Textual Content.
"name": "A String", # File name.
"fingerprint": "A String", # Fingerprint (e.g. github sha) associated with the `File`.
},
],
},
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # The response for FirebaseRulesService.TestRuleset.
"issues": [ # Syntactic and semantic `Source` issues of varying severity. Issues of
# `ERROR` severity will prevent tests from executing.
{ # Issues include warnings, errors, and deprecation notices.
"sourcePosition": { # Position in the `Source` content including its line, column number, and an # Position of the issue in the `Source`.
# index of the `File` in the `Source` message. Used for debug purposes.
"column": 42, # First column on the source line associated with the source fragment.
"line": 42, # Line number of the source fragment. 1-based.
"fileName": "A String", # Name of the `File`.
},
"description": "A String", # Short error description.
"severity": "A String", # The severity of the issue.
},
],
}</pre>
</div>
</body></html>
|