| { |
| "tests": [ |
| { |
| "description": "listen: Filter response with same size is a no-op", |
| "comment": "A Filter response whose count matches the size of the current\nstate (docs in last snapshot + docs added - docs deleted) is a no-op.", |
| "listen": { |
| "responses": [ |
| { |
| "documentChange": { |
| "document": { |
| "name": "projects/projectID/databases/(default)/documents/C/d1", |
| "fields": { |
| "a": { |
| "integerValue": "3" |
| } |
| }, |
| "createTime": "1970-01-01T00:00:01Z", |
| "updateTime": "1970-01-01T00:00:01Z" |
| }, |
| "targetIds": [ |
| 1 |
| ] |
| } |
| }, |
| { |
| "documentChange": { |
| "document": { |
| "name": "projects/projectID/databases/(default)/documents/C/d2", |
| "fields": { |
| "a": { |
| "integerValue": "1" |
| } |
| }, |
| "createTime": "1970-01-01T00:00:01Z", |
| "updateTime": "1970-01-01T00:00:01Z" |
| }, |
| "targetIds": [ |
| 1 |
| ] |
| } |
| }, |
| { |
| "targetChange": { |
| "targetChangeType": "CURRENT" |
| } |
| }, |
| { |
| "targetChange": { |
| "readTime": "1970-01-01T00:00:01Z" |
| } |
| }, |
| { |
| "documentChange": { |
| "document": { |
| "name": "projects/projectID/databases/(default)/documents/C/d3", |
| "fields": { |
| "a": { |
| "integerValue": "1" |
| } |
| }, |
| "createTime": "1970-01-01T00:00:01Z", |
| "updateTime": "1970-01-01T00:00:01Z" |
| }, |
| "targetIds": [ |
| 1 |
| ] |
| } |
| }, |
| { |
| "documentDelete": { |
| "document": "projects/projectID/databases/(default)/documents/C/d1" |
| } |
| }, |
| { |
| "filter": { |
| "count": 2 |
| } |
| }, |
| { |
| "targetChange": { |
| "readTime": "1970-01-01T00:00:02Z" |
| } |
| } |
| ], |
| "snapshots": [ |
| { |
| "docs": [ |
| { |
| "name": "projects/projectID/databases/(default)/documents/C/d2", |
| "fields": { |
| "a": { |
| "integerValue": "1" |
| } |
| }, |
| "createTime": "1970-01-01T00:00:01Z", |
| "updateTime": "1970-01-01T00:00:01Z" |
| }, |
| { |
| "name": "projects/projectID/databases/(default)/documents/C/d1", |
| "fields": { |
| "a": { |
| "integerValue": "3" |
| } |
| }, |
| "createTime": "1970-01-01T00:00:01Z", |
| "updateTime": "1970-01-01T00:00:01Z" |
| } |
| ], |
| "changes": [ |
| { |
| "kind": "ADDED", |
| "doc": { |
| "name": "projects/projectID/databases/(default)/documents/C/d2", |
| "fields": { |
| "a": { |
| "integerValue": "1" |
| } |
| }, |
| "createTime": "1970-01-01T00:00:01Z", |
| "updateTime": "1970-01-01T00:00:01Z" |
| }, |
| "oldIndex": -1 |
| }, |
| { |
| "kind": "ADDED", |
| "doc": { |
| "name": "projects/projectID/databases/(default)/documents/C/d1", |
| "fields": { |
| "a": { |
| "integerValue": "3" |
| } |
| }, |
| "createTime": "1970-01-01T00:00:01Z", |
| "updateTime": "1970-01-01T00:00:01Z" |
| }, |
| "oldIndex": -1, |
| "newIndex": 1 |
| } |
| ], |
| "readTime": "1970-01-01T00:00:01Z" |
| }, |
| { |
| "docs": [ |
| { |
| "name": "projects/projectID/databases/(default)/documents/C/d2", |
| "fields": { |
| "a": { |
| "integerValue": "1" |
| } |
| }, |
| "createTime": "1970-01-01T00:00:01Z", |
| "updateTime": "1970-01-01T00:00:01Z" |
| }, |
| { |
| "name": "projects/projectID/databases/(default)/documents/C/d3", |
| "fields": { |
| "a": { |
| "integerValue": "1" |
| } |
| }, |
| "createTime": "1970-01-01T00:00:01Z", |
| "updateTime": "1970-01-01T00:00:01Z" |
| } |
| ], |
| "changes": [ |
| { |
| "kind": "REMOVED", |
| "doc": { |
| "name": "projects/projectID/databases/(default)/documents/C/d1", |
| "fields": { |
| "a": { |
| "integerValue": "3" |
| } |
| }, |
| "createTime": "1970-01-01T00:00:01Z", |
| "updateTime": "1970-01-01T00:00:01Z" |
| }, |
| "oldIndex": 1, |
| "newIndex": -1 |
| }, |
| { |
| "kind": "ADDED", |
| "doc": { |
| "name": "projects/projectID/databases/(default)/documents/C/d3", |
| "fields": { |
| "a": { |
| "integerValue": "1" |
| } |
| }, |
| "createTime": "1970-01-01T00:00:01Z", |
| "updateTime": "1970-01-01T00:00:01Z" |
| }, |
| "oldIndex": -1, |
| "newIndex": 1 |
| } |
| ], |
| "readTime": "1970-01-01T00:00:02Z" |
| } |
| ] |
| } |
| } |
| ] |
| } |