Skip to content

Commit f923d0d

Browse files
authored
Merge pull request #201 from supabase/chore/firebase-test-cases
chore(firebase_fdw): align firebase test cases with docs
2 parents 3e48373 + deced9c commit f923d0d

File tree

2 files changed

+34
-21
lines changed

2 files changed

+34
-21
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"kind":"identitytoolkit#DownloadAccountResponse","users":[{"localId":"JeXJ2gUHCpYSQV6zXlRYfRYHUfMl","createdAt":"1668488830314","lastLoginAt":"1668488830310","displayName":"Bo Lu","photoUrl":"","passwordHash":"fakeHash:salt=fakeSaltNZhRYxXIjWaiXB75SD8z:password=adsf123","salt":"fakeSaltNZhRYxXIjWaiXB75SD8z","passwordUpdatedAt":1701484518847,"providerUserInfo":[{"providerId":"password","email":"[email protected]","federatedId":"[email protected]","rawId":"[email protected]","displayName":"Bo Lu","photoUrl":""}],"validSince":"1701484518","email":"[email protected]","emailVerified":false,"disabled":false},{"localId":"eUHS9EaQS2lZO0zbyMq28m02SUGP","createdAt":"1668488839113","lastLoginAt":"1668488839111","displayName":"Copple","photoUrl":"","passwordHash":"fakeHash:salt=fakeSaltL62cBYW58puy9DarO9TO:password=asdf123","salt":"fakeSaltL62cBYW58puy9DarO9TO","passwordUpdatedAt":1701484518848,"providerUserInfo":[{"providerId":"password","email":"[email protected]","federatedId":"[email protected]","rawId":"[email protected]","displayName":"Copple","photoUrl":""}],"validSince":"1701484518","email":"[email protected]","emailVerified":false,"disabled":false}]}
1+
{"kind":"identitytoolkit#DownloadAccountResponse","users":[{"localId":"JeXJ2gUHCpYSQV6zXlRYfRYHUfMl","createdAt":"1668488830314","lastLoginAt":"1668488830310","displayName":"Yoda","photoUrl":"","passwordHash":"fakeHash:salt=fakeSaltNZhRYxXIjWaiXB75SD8z:password=adsf123","salt":"fakeSaltNZhRYxXIjWaiXB75SD8z","passwordUpdatedAt":1701484518847,"providerUserInfo":[{"providerId":"password","email":"[email protected]","federatedId":"[email protected]","rawId":"[email protected]","displayName":"Yoda","photoUrl":""}],"validSince":"1701484518","email":"[email protected]","emailVerified":false,"disabled":false},{"localId":"eUHS9EaQS2lZO0zbyMq28m02SUGP","createdAt":"1668488839113","lastLoginAt":"1668488839111","displayName":"Luck","photoUrl":"","passwordHash":"fakeHash:salt=fakeSaltL62cBYW58puy9DarO9TO:password=asdf123","salt":"fakeSaltL62cBYW58puy9DarO9TO","passwordUpdatedAt":1701484518848,"providerUserInfo":[{"providerId":"password","email":"[email protected]","federatedId":"[email protected]","rawId":"[email protected]","displayName":"Luke","photoUrl":""}],"validSince":"1701484518","email":"[email protected]","emailVerified":false,"disabled":false}]}

wrappers/src/fdw/firebase_fdw/tests.rs

Lines changed: 33 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,10 @@ mod tests {
3838
c.update(
3939
r#"
4040
CREATE FOREIGN TABLE firebase_users (
41-
local_id text,
41+
uid text,
4242
email text,
43-
fields jsonb
43+
created_at timestamp,
44+
attrs jsonb
4445
)
4546
SERVER my_firebase_server
4647
OPTIONS (
@@ -54,20 +55,24 @@ mod tests {
5455
.unwrap();
5556

5657
let results = c
57-
.select("SELECT email FROM firebase_users", None, None)
58+
.select(
59+
"SELECT email FROM firebase_users order by email",
60+
None,
61+
None,
62+
)
5863
.unwrap()
5964
.filter_map(|r| r.get_by_name::<&str, _>("email").unwrap())
6065
.collect::<Vec<_>>();
6166

62-
assert_eq!(results, vec!["[email protected]", "[email protected]"]);
67+
assert_eq!(results, vec!["[email protected]", "[email protected]"]);
6368

6469
c.update(
6570
r#"
6671
CREATE FOREIGN TABLE firebase_docs (
6772
name text,
68-
fields jsonb,
69-
create_time timestamp,
70-
update_time timestamp
73+
created_at timestamp,
74+
updated_at timestamp,
75+
attrs jsonb
7176
)
7277
SERVER my_firebase_server
7378
OPTIONS (
@@ -81,28 +86,34 @@ mod tests {
8186
.unwrap();
8287

8388
let results = c
84-
.select("SELECT name,fields FROM firebase_docs", None, None)
89+
.select("SELECT name,attrs FROM firebase_docs", None, None)
8590
.unwrap()
8691
.filter_map(|r| {
87-
r.get_by_name::<&str, _>("name")
88-
.unwrap()
89-
.zip(r.get_by_name::<JsonB, _>("fields").unwrap().map(|j| j.0))
92+
r.get_by_name::<&str, _>("name").unwrap().zip(
93+
r.get_by_name::<JsonB, _>("attrs")
94+
.unwrap()
95+
.map(|j| j.0.get("fields").unwrap().clone()),
96+
)
9097
})
9198
.collect::<Vec<_>>();
9299

93100
assert_eq!(
94101
results,
95102
vec![
96103
("projects/supa/databases/(default)/documents/my-collection/bSMScXpZHMJe9ilE9Yqs",
97-
serde_json::json!({"id": {"integerValue": "1"}, "name": {"stringValue": "hello"}}))]);
104+
serde_json::json!({
105+
"id": { "integerValue": "1" },
106+
"name": { "stringValue": "hello" }
107+
}))]
108+
);
98109

99110
c.update(
100111
r#"
101112
CREATE FOREIGN TABLE firebase_docs_nested (
102113
name text,
103-
fields jsonb,
104-
create_time timestamp,
105-
update_time timestamp
114+
created_at timestamp,
115+
updated_at timestamp,
116+
attrs jsonb
106117
)
107118
SERVER my_firebase_server
108119
OPTIONS (
@@ -116,20 +127,22 @@ mod tests {
116127
.unwrap();
117128

118129
let results = c
119-
.select("SELECT name,fields FROM firebase_docs_nested", None, None)
130+
.select("SELECT name,attrs FROM firebase_docs_nested", None, None)
120131
.unwrap()
121132
.filter_map(|r| {
122-
r.get_by_name::<&str, _>("name")
123-
.unwrap()
124-
.zip(r.get_by_name::<JsonB, _>("fields").unwrap().map(|j| j.0))
133+
r.get_by_name::<&str, _>("name").unwrap().zip(
134+
r.get_by_name::<JsonB, _>("attrs")
135+
.unwrap()
136+
.map(|j| j.0.get("fields").unwrap().clone()),
137+
)
125138
})
126139
.collect::<Vec<_>>();
127140

128141
assert_eq!(
129142
results,
130143
vec![
131144
("projects/supa/databases/(default)/documents/my-collection/bSMScXpZHMJe9ilE9Yqs/my-collection2/fkSWL4hNJ3lRc1ZIorPm",
132-
serde_json::json!({"foo": {"stringValue": "bar"}}))]);
145+
serde_json::json!({ "foo": { "stringValue": "bar" } }))]);
133146
});
134147
}
135148
}

0 commit comments

Comments
 (0)