Skip to content

Commit eba7e22

Browse files
committed
tests: typed RecordID forms
1 parent afc4534 commit eba7e22

1 file changed

Lines changed: 32 additions & 30 deletions

File tree

test/test_methods.jl

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@ clean_table!(client, "test_crud")
77
@test result["name"] == "test"
88
@test result["value"] == 42
99

10-
result2 = SurrealDB.create(client, "test_crud:explicit_id",
10+
result2 = SurrealDB.create(client, rid"test_crud:explicit_id",
1111
Dict("key" => "val"))
1212
@test result2 isa AbstractDict
13-
@test result2["id"] == "test_crud:explicit_id"
13+
@test result2["id"] == rid"test_crud:explicit_id"
1414
end
1515

1616
@testset "Select" begin
1717
result = SurrealDB.select(client, "test_crud")
1818
@test result isa Vector
1919
@test length(result) >= 1
2020

21-
result2 = SurrealDB.select(client, "test_crud:explicit_id")
21+
result2 = SurrealDB.select(client, rid"test_crud:explicit_id")
2222
@test result2 isa AbstractDict
2323
end
2424

@@ -32,91 +32,93 @@ end
3232
end
3333

3434
@testset "Update" begin
35-
SurrealDB.create(client, "test_crud:update_me", Dict("val" => 1))
36-
result = SurrealDB.update(client, "test_crud:update_me", Dict("val" => 2))
35+
SurrealDB.create(client, rid"test_crud:update_me", Dict("val" => 1))
36+
result = SurrealDB.update(client, rid"test_crud:update_me", Dict("val" => 2))
3737
@test result isa AbstractDict
3838
@test get(result, "val", nothing) == 2
3939
end
4040

4141
@testset "Delete" begin
42-
SurrealDB.create(client, "test_crud:del_me", Dict("x" => 1))
43-
result = SurrealDB.delete(client, "test_crud:del_me")
42+
SurrealDB.create(client, rid"test_crud:del_me", Dict("x" => 1))
43+
result = SurrealDB.delete(client, rid"test_crud:del_me")
4444
@test result isa Any
4545
end
4646

4747
@testset "Upsert" begin
48-
result = SurrealDB.upsert(client, "test_crud:upsert_test", Dict("val" => 1))
48+
result = SurrealDB.upsert(client, rid"test_crud:upsert_test", Dict("val" => 1))
4949
@test result isa AbstractDict
5050
end
5151

5252
@testset "Merge" begin
53-
SurrealDB.create(client, "test_crud:merge_me", Dict("a" => 1, "b" => 2))
54-
result = SurrealDB.merge(client, "test_crud:merge_me", Dict("b" => 99))
53+
SurrealDB.create(client, rid"test_crud:merge_me", Dict("a" => 1, "b" => 2))
54+
result = SurrealDB.merge(client, rid"test_crud:merge_me", Dict("b" => 99))
5555
@test result isa AbstractDict
5656
end
5757

5858
@testset "Patch" begin
59-
SurrealDB.create(client, "test_crud:patch_me", Dict("tags" => []))
60-
result = SurrealDB.patch(client, "test_crud:patch_me", [
59+
SurrealDB.create(client, rid"test_crud:patch_me", Dict("tags" => []))
60+
result = SurrealDB.patch(client, rid"test_crud:patch_me", [
6161
Dict("op" => "add", "path" => "/tags/0", "value" => "new")
6262
])
6363
@test result isa Any
6464

65-
result2 = SurrealDB.patch_add(client, "test_crud:patch_me", "/tags/1", "another")
65+
result2 = SurrealDB.patch_add(client, rid"test_crud:patch_me", "/tags/1", "another")
6666
@test result2 isa Any
6767

68-
result3 = SurrealDB.patch_replace(client, "test_crud:patch_me", "/tags/0", "updated")
68+
result3 = SurrealDB.patch_replace(client, rid"test_crud:patch_me", "/tags/0", "updated")
6969
@test result3 isa Any
7070

71-
result4 = SurrealDB.patch_remove(client, "test_crud:patch_me", "/tags/1")
71+
result4 = SurrealDB.patch_remove(client, rid"test_crud:patch_me", "/tags/1")
7272
@test result4 isa Any
7373
end
7474

7575
@testset "Relate" begin
76-
SurrealDB.create(client, "person:rel_a", Dict("name" => "Alice"))
77-
SurrealDB.create(client, "person:rel_b", Dict("name" => "Bob"))
78-
rel = SurrealDB.Relationship("person:rel_a", SurrealDB.Table("knows"), "person:rel_b",
76+
SurrealDB.create(client, rid"person:rel_a", Dict("name" => "Alice"))
77+
SurrealDB.create(client, rid"person:rel_b", Dict("name" => "Bob"))
78+
rel = SurrealDB.Relationship(rid"person:rel_a", SurrealDB.Table("knows"), rid"person:rel_b",
7979
Dict("since" => "2024"))
8080
result = SurrealDB.relate(client, rel)
8181
@test result isa AbstractDict
8282
end
8383

8484
@testset "Insert relation" begin
85-
SurrealDB.create(client, "person:ir_a", Dict("name" => "C"))
86-
SurrealDB.create(client, "person:ir_b", Dict("name" => "D"))
87-
rel = SurrealDB.Relationship("person:ir_a", SurrealDB.Table("likes"), "person:ir_b",
85+
SurrealDB.create(client, rid"person:ir_a", Dict("name" => "C"))
86+
SurrealDB.create(client, rid"person:ir_b", Dict("name" => "D"))
87+
rel = SurrealDB.Relationship(rid"person:ir_a", SurrealDB.Table("likes"), rid"person:ir_b",
8888
Dict("score" => 10))
8989
result = SurrealDB.insert_relation(client, rel)
9090
@test result isa Union{AbstractDict, AbstractVector}
9191
end
9292

9393
@testset "Create duplicate id" begin
94-
SurrealDB.create(client, "test_crud:dup_id", Dict("v" => 1))
95-
@test_throws SurrealDB.SurrealError SurrealDB.create(client, "test_crud:dup_id", Dict("v" => 2))
94+
SurrealDB.create(client, rid"test_crud:dup_id", Dict("v" => 1))
95+
@test_throws SurrealDB.SurrealError SurrealDB.create(client, rid"test_crud:dup_id", Dict("v" => 2))
9696
end
9797

9898
@testset "Select nonexistent record" begin
99-
result = SurrealDB.select(client, "test_crud:does_not_exist_at_all")
100-
@test result isa Union{Vector, Nothing, Dict}
99+
result = SurrealDB.select(client, rid"test_crud:does_not_exist_at_all")
100+
# v3 returns NONE (decodes to `missing`) for a single missing record;
101+
# legacy / table-form returns an empty Vector.
102+
@test result isa Union{Vector, Nothing, Dict, Missing}
101103
end
102104

103105
@testset "Update nonexistent record" begin
104106
# v3: update on nonexistent does not throw
105-
result = SurrealDB.update(client, "test_crud:no_such_id", Dict("x" => 1))
107+
result = SurrealDB.update(client, rid"test_crud:no_such_id", Dict("x" => 1))
106108
@test true
107109
end
108110

109111
@testset "Merge preserves unmentioned fields" begin
110-
SurrealDB.create(client, "test_crud:merge_preserve", Dict("a" => 1, "b" => 2, "c" => 3))
111-
result = SurrealDB.merge(client, "test_crud:merge_preserve", Dict("b" => 99))
112+
SurrealDB.create(client, rid"test_crud:merge_preserve", Dict("a" => 1, "b" => 2, "c" => 3))
113+
result = SurrealDB.merge(client, rid"test_crud:merge_preserve", Dict("b" => 99))
112114
if result isa AbstractDict
113115
@test get(result, "b", nothing) == 99
114116
end
115117
end
116118

117119
@testset "Upsert update existing" begin
118-
SurrealDB.create(client, "test_crud:upsert_existing", Dict("val" => 1))
119-
result = SurrealDB.upsert(client, "test_crud:upsert_existing", Dict("val" => 999))
120+
SurrealDB.create(client, rid"test_crud:upsert_existing", Dict("val" => 1))
121+
result = SurrealDB.upsert(client, rid"test_crud:upsert_existing", Dict("val" => 999))
120122
if result isa AbstractDict
121123
@test get(result, "val", nothing) == 999
122124
end

0 commit comments

Comments
 (0)