Skip to content

Commit 600f095

Browse files
authored
Firestore: add new conformance tests. (#6124)
1 parent b90dc52 commit 600f095

66 files changed

Lines changed: 2355 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# DO NOT MODIFY. This file was generated by
2+
# github.com/GoogleCloudPlatform/google-cloud-common/testing/firestore/cmd/generate-firestore-tests/generate-firestore-tests.go.
3+
4+
# A document can be created with any amount of transforms.
5+
6+
description: "create: all transforms in a single call"
7+
create: <
8+
doc_ref_path: "projects/projectID/databases/(default)/documents/C/d"
9+
json_data: "{\"a\": 1, \"b\": \"ServerTimestamp\", \"c\": [\"ArrayUnion\", 1, 2, 3], \"d\": [\"ArrayRemove\", 4, 5, 6]}"
10+
request: <
11+
database: "projects/projectID/databases/(default)"
12+
writes: <
13+
update: <
14+
name: "projects/projectID/databases/(default)/documents/C/d"
15+
fields: <
16+
key: "a"
17+
value: <
18+
integer_value: 1
19+
>
20+
>
21+
>
22+
current_document: <
23+
exists: false
24+
>
25+
>
26+
writes: <
27+
transform: <
28+
document: "projects/projectID/databases/(default)/documents/C/d"
29+
field_transforms: <
30+
field_path: "b"
31+
set_to_server_value: REQUEST_TIME
32+
>
33+
field_transforms: <
34+
field_path: "c"
35+
append_missing_elements: <
36+
values: <
37+
integer_value: 1
38+
>
39+
values: <
40+
integer_value: 2
41+
>
42+
values: <
43+
integer_value: 3
44+
>
45+
>
46+
>
47+
field_transforms: <
48+
field_path: "d"
49+
remove_all_from_array: <
50+
values: <
51+
integer_value: 4
52+
>
53+
values: <
54+
integer_value: 5
55+
>
56+
values: <
57+
integer_value: 6
58+
>
59+
>
60+
>
61+
>
62+
>
63+
>
64+
>
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# DO NOT MODIFY. This file was generated by
2+
# github.com/GoogleCloudPlatform/google-cloud-common/testing/firestore/cmd/generate-firestore-tests/generate-firestore-tests.go.
3+
4+
# A document can have more than one ArrayRemove field. Since all the ArrayRemove
5+
# fields are removed, the only field in the update is "a".
6+
7+
description: "create: multiple ArrayRemove fields"
8+
create: <
9+
doc_ref_path: "projects/projectID/databases/(default)/documents/C/d"
10+
json_data: "{\"a\": 1, \"b\": [\"ArrayRemove\", 1, 2, 3], \"c\": {\"d\": [\"ArrayRemove\", 4, 5, 6]}}"
11+
request: <
12+
database: "projects/projectID/databases/(default)"
13+
writes: <
14+
update: <
15+
name: "projects/projectID/databases/(default)/documents/C/d"
16+
fields: <
17+
key: "a"
18+
value: <
19+
integer_value: 1
20+
>
21+
>
22+
>
23+
current_document: <
24+
exists: false
25+
>
26+
>
27+
writes: <
28+
transform: <
29+
document: "projects/projectID/databases/(default)/documents/C/d"
30+
field_transforms: <
31+
field_path: "b"
32+
remove_all_from_array: <
33+
values: <
34+
integer_value: 1
35+
>
36+
values: <
37+
integer_value: 2
38+
>
39+
values: <
40+
integer_value: 3
41+
>
42+
>
43+
>
44+
field_transforms: <
45+
field_path: "c.d"
46+
remove_all_from_array: <
47+
values: <
48+
integer_value: 4
49+
>
50+
values: <
51+
integer_value: 5
52+
>
53+
values: <
54+
integer_value: 6
55+
>
56+
>
57+
>
58+
>
59+
>
60+
>
61+
>
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# DO NOT MODIFY. This file was generated by
2+
# github.com/GoogleCloudPlatform/google-cloud-common/testing/firestore/cmd/generate-firestore-tests/generate-firestore-tests.go.
3+
4+
# An ArrayRemove value can occur at any depth. In this case, the transform applies
5+
# to the field path "b.c". Since "c" is removed from the update, "b" becomes
6+
# empty, so it is also removed from the update.
7+
8+
description: "create: nested ArrayRemove field"
9+
create: <
10+
doc_ref_path: "projects/projectID/databases/(default)/documents/C/d"
11+
json_data: "{\"a\": 1, \"b\": {\"c\": [\"ArrayRemove\", 1, 2, 3]}}"
12+
request: <
13+
database: "projects/projectID/databases/(default)"
14+
writes: <
15+
update: <
16+
name: "projects/projectID/databases/(default)/documents/C/d"
17+
fields: <
18+
key: "a"
19+
value: <
20+
integer_value: 1
21+
>
22+
>
23+
>
24+
current_document: <
25+
exists: false
26+
>
27+
>
28+
writes: <
29+
transform: <
30+
document: "projects/projectID/databases/(default)/documents/C/d"
31+
field_transforms: <
32+
field_path: "b.c"
33+
remove_all_from_array: <
34+
values: <
35+
integer_value: 1
36+
>
37+
values: <
38+
integer_value: 2
39+
>
40+
values: <
41+
integer_value: 3
42+
>
43+
>
44+
>
45+
>
46+
>
47+
>
48+
>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# DO NOT MODIFY. This file was generated by
2+
# github.com/GoogleCloudPlatform/google-cloud-common/testing/firestore/cmd/generate-firestore-tests/generate-firestore-tests.go.
3+
4+
# There cannot be an array value anywhere on the path from the document root to
5+
# the ArrayRemove. Firestore transforms don't support array indexing.
6+
7+
description: "create: ArrayRemove cannot be anywhere inside an array value"
8+
create: <
9+
doc_ref_path: "projects/projectID/databases/(default)/documents/C/d"
10+
json_data: "{\"a\": [1, {\"b\": [\"ArrayRemove\", 1, 2, 3]}]}"
11+
is_error: true
12+
>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# DO NOT MODIFY. This file was generated by
2+
# github.com/GoogleCloudPlatform/google-cloud-common/testing/firestore/cmd/generate-firestore-tests/generate-firestore-tests.go.
3+
4+
# ArrayRemove must be the value of a field. Firestore transforms don't support
5+
# array indexing.
6+
7+
description: "create: ArrayRemove cannot be in an array value"
8+
create: <
9+
doc_ref_path: "projects/projectID/databases/(default)/documents/C/d"
10+
json_data: "{\"a\": [1, 2, [\"ArrayRemove\", 1, 2, 3]]}"
11+
is_error: true
12+
>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# DO NOT MODIFY. This file was generated by
2+
# github.com/GoogleCloudPlatform/google-cloud-common/testing/firestore/cmd/generate-firestore-tests/generate-firestore-tests.go.
3+
4+
# The ServerTimestamp sentinel must be the value of a field. It may not appear in
5+
# an ArrayUnion.
6+
7+
description: "create: The ServerTimestamp sentinel cannot be in an ArrayUnion"
8+
create: <
9+
doc_ref_path: "projects/projectID/databases/(default)/documents/C/d"
10+
json_data: "{\"a\": [\"ArrayRemove\", 1, \"ServerTimestamp\", 3]}"
11+
is_error: true
12+
>
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# DO NOT MODIFY. This file was generated by
2+
# github.com/GoogleCloudPlatform/google-cloud-common/testing/firestore/cmd/generate-firestore-tests/generate-firestore-tests.go.
3+
4+
# A key with ArrayRemove is removed from the data in the update operation. Instead
5+
# it appears in a separate Transform operation.
6+
7+
description: "create: ArrayRemove with data"
8+
create: <
9+
doc_ref_path: "projects/projectID/databases/(default)/documents/C/d"
10+
json_data: "{\"a\": 1, \"b\": [\"ArrayRemove\", 1, 2, 3]}"
11+
request: <
12+
database: "projects/projectID/databases/(default)"
13+
writes: <
14+
update: <
15+
name: "projects/projectID/databases/(default)/documents/C/d"
16+
fields: <
17+
key: "a"
18+
value: <
19+
integer_value: 1
20+
>
21+
>
22+
>
23+
current_document: <
24+
exists: false
25+
>
26+
>
27+
writes: <
28+
transform: <
29+
document: "projects/projectID/databases/(default)/documents/C/d"
30+
field_transforms: <
31+
field_path: "b"
32+
remove_all_from_array: <
33+
values: <
34+
integer_value: 1
35+
>
36+
values: <
37+
integer_value: 2
38+
>
39+
values: <
40+
integer_value: 3
41+
>
42+
>
43+
>
44+
>
45+
>
46+
>
47+
>
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# DO NOT MODIFY. This file was generated by
2+
# github.com/GoogleCloudPlatform/google-cloud-common/testing/firestore/cmd/generate-firestore-tests/generate-firestore-tests.go.
3+
4+
# A document can have more than one ArrayUnion field. Since all the ArrayUnion
5+
# fields are removed, the only field in the update is "a".
6+
7+
description: "create: multiple ArrayUnion fields"
8+
create: <
9+
doc_ref_path: "projects/projectID/databases/(default)/documents/C/d"
10+
json_data: "{\"a\": 1, \"b\": [\"ArrayUnion\", 1, 2, 3], \"c\": {\"d\": [\"ArrayUnion\", 4, 5, 6]}}"
11+
request: <
12+
database: "projects/projectID/databases/(default)"
13+
writes: <
14+
update: <
15+
name: "projects/projectID/databases/(default)/documents/C/d"
16+
fields: <
17+
key: "a"
18+
value: <
19+
integer_value: 1
20+
>
21+
>
22+
>
23+
current_document: <
24+
exists: false
25+
>
26+
>
27+
writes: <
28+
transform: <
29+
document: "projects/projectID/databases/(default)/documents/C/d"
30+
field_transforms: <
31+
field_path: "b"
32+
append_missing_elements: <
33+
values: <
34+
integer_value: 1
35+
>
36+
values: <
37+
integer_value: 2
38+
>
39+
values: <
40+
integer_value: 3
41+
>
42+
>
43+
>
44+
field_transforms: <
45+
field_path: "c.d"
46+
append_missing_elements: <
47+
values: <
48+
integer_value: 4
49+
>
50+
values: <
51+
integer_value: 5
52+
>
53+
values: <
54+
integer_value: 6
55+
>
56+
>
57+
>
58+
>
59+
>
60+
>
61+
>
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# DO NOT MODIFY. This file was generated by
2+
# github.com/GoogleCloudPlatform/google-cloud-common/testing/firestore/cmd/generate-firestore-tests/generate-firestore-tests.go.
3+
4+
# An ArrayUnion value can occur at any depth. In this case, the transform applies
5+
# to the field path "b.c". Since "c" is removed from the update, "b" becomes
6+
# empty, so it is also removed from the update.
7+
8+
description: "create: nested ArrayUnion field"
9+
create: <
10+
doc_ref_path: "projects/projectID/databases/(default)/documents/C/d"
11+
json_data: "{\"a\": 1, \"b\": {\"c\": [\"ArrayUnion\", 1, 2, 3]}}"
12+
request: <
13+
database: "projects/projectID/databases/(default)"
14+
writes: <
15+
update: <
16+
name: "projects/projectID/databases/(default)/documents/C/d"
17+
fields: <
18+
key: "a"
19+
value: <
20+
integer_value: 1
21+
>
22+
>
23+
>
24+
current_document: <
25+
exists: false
26+
>
27+
>
28+
writes: <
29+
transform: <
30+
document: "projects/projectID/databases/(default)/documents/C/d"
31+
field_transforms: <
32+
field_path: "b.c"
33+
append_missing_elements: <
34+
values: <
35+
integer_value: 1
36+
>
37+
values: <
38+
integer_value: 2
39+
>
40+
values: <
41+
integer_value: 3
42+
>
43+
>
44+
>
45+
>
46+
>
47+
>
48+
>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# DO NOT MODIFY. This file was generated by
2+
# github.com/GoogleCloudPlatform/google-cloud-common/testing/firestore/cmd/generate-firestore-tests/generate-firestore-tests.go.
3+
4+
# There cannot be an array value anywhere on the path from the document root to
5+
# the ArrayUnion. Firestore transforms don't support array indexing.
6+
7+
description: "create: ArrayUnion cannot be anywhere inside an array value"
8+
create: <
9+
doc_ref_path: "projects/projectID/databases/(default)/documents/C/d"
10+
json_data: "{\"a\": [1, {\"b\": [\"ArrayUnion\", 1, 2, 3]}]}"
11+
is_error: true
12+
>

0 commit comments

Comments
 (0)