Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
C
CaosDB Python Integration Tests
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
caosdb
Software
CaosDB Python Integration Tests
Merge requests
!13
Tests for
caosdb-server#154
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
Tests for
caosdb-server#154
f-server-154
into
dev
Overview
0
Commits
7
Pipelines
10
Changes
3
Merged
Timm Fitschen
requested to merge
f-server-154
into
dev
3 years ago
Overview
0
Commits
7
Pipelines
10
Changes
3
Expand
Tests for
caosdb-mysqlbackend!5 (merged)
which fixes
caosdb-server#154 (closed)
Edited
3 years ago
by
Timm Fitschen
0
0
Merge request reports
Compare
dev
version 3
ab5ca635
3 years ago
version 2
a5a00ac5
3 years ago
version 1
6eed35db
3 years ago
dev (base)
and
latest version
latest version
a201186f
7 commits,
3 years ago
version 3
ab5ca635
5 commits,
3 years ago
version 2
a5a00ac5
4 commits,
3 years ago
version 1
6eed35db
3 commits,
3 years ago
3 files
+
124
−
2
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
Files
3
Search (e.g. *.vue) (Ctrl+P)
tests/test_issues_server.py
+
122
−
0
Options
@@ -48,6 +48,7 @@ def setup():
def
teardown
():
"""
Deleting entities again.
"""
setup_module
()
pass
# ########################### Issue tests start here #####################
@@ -259,6 +260,127 @@ def test_issue_131():
assert
rec
.
id
in
result_ids
def
test_issue_154_no_versioning
():
"""
FIND MusicalInstrument WITH Manufacturer =
"
Antonio Stradivari
"
and
FIND MusicalInstrument WITH Manufacturer !=
"
Antonio Stradivari
"
"""
rt_man
=
db
.
RecordType
(
"
Manufacturer
"
)
rt_inst
=
db
.
RecordType
(
"
MusicalInstrument
"
).
add_property
(
rt_man
)
rec_man
=
db
.
Record
(
"
Antonio Stradivari
"
).
add_parent
(
"
Manufacturer
"
)
rec_man2
=
db
.
Record
(
"
The other guy
"
).
add_parent
(
"
Manufacturer
"
)
rec_inst
=
db
.
Record
(
"
Violin
"
).
add_parent
(
"
MusicalInstrument
"
).
add_property
(
"
Manufacturer
"
,
rec_man
)
rec_inst2
=
db
.
Record
(
"
Guitar
"
).
add_parent
(
"
MusicalInstrument
"
).
add_property
(
"
Manufacturer
"
,
rec_man2
)
rec_inst3
=
db
.
Record
(
"
Broken Record
"
).
add_parent
(
"
MusicalInstrument
"
)
c
=
db
.
Container
().
extend
([
rt_man
,
rt_inst
,
rec_man
,
rec_inst
,
rec_man2
,
rec_inst2
,
rec_inst3
]).
insert
()
assert
"
Violin
"
not
in
[
e
.
name
for
e
in
db
.
execute_query
(
"
FIND RECORD MusicalInstrument WITH Manufacturer !=
'
Antonio Stradivari
'"
)]
assert
"
Violin
"
not
in
[
e
.
name
for
e
in
db
.
execute_query
(
"
FIND RECORD MusicalInstrument WITH NOT Manufacturer =
'
Antonio Stradivari
'"
)]
assert
len
(
db
.
execute_query
(
"
FIND MusicalInstrument
"
))
==
4
assert
len
(
db
.
execute_query
(
"
FIND RECORD MusicalInstrument
"
))
==
3
assert
len
(
db
.
execute_query
(
"
FIND MusicalInstrument WITH Manufacturer
"
))
==
3
assert
len
(
db
.
execute_query
(
"
FIND RECORD MusicalInstrument WITH Manufacturer
"
))
==
2
assert
rec_inst
.
id
==
db
.
execute_query
(
"
FIND MusicalInstrument WITH Manufacturer =
'
Antonio Stradivari
'"
,
unique
=
True
).
id
assert
len
(
db
.
execute_query
(
"
FIND MusicalInstrument WITH NOT Manufacturer =
'
Antonio Stradivari
'"
))
==
3
assert
len
(
db
.
execute_query
(
"
FIND RECORD MusicalInstrument WITH NOT Manufacturer =
'
Antonio Stradivari
'"
))
==
2
assert
len
(
db
.
execute_query
(
"
FIND MusicalInstrument WITH Manufacturer !=
'
Antonio Stradivari
'"
))
==
1
assert
len
(
db
.
execute_query
(
"
FIND RECORD MusicalInstrument WITH Manufacturer !=
'
Antonio Stradivari
'"
))
==
1
def
test_issue_154_with_versioning
():
"""
FIND MusicalInstrument WITH Manufacturer =
"
Antonio Stradivari
"
and
FIND MusicalInstrument WITH Manufacturer !=
"
Antonio Stradivari
"
"""
rt_man
=
db
.
RecordType
(
"
Manufacturer
"
)
rt_inst
=
db
.
RecordType
(
"
MusicalInstrument
"
).
add_property
(
rt_man
)
rec_man
=
db
.
Record
(
"
Antonio Stradivari
"
).
add_parent
(
"
Manufacturer
"
)
rec_man2
=
db
.
Record
(
"
The other guy
"
).
add_parent
(
"
Manufacturer
"
)
rec_inst
=
db
.
Record
(
"
Violin
"
).
add_parent
(
"
MusicalInstrument
"
).
add_property
(
"
Manufacturer
"
,
rec_man
)
rec_inst2
=
db
.
Record
(
"
Guitar
"
).
add_parent
(
"
MusicalInstrument
"
).
add_property
(
"
Manufacturer
"
,
rec_man2
)
rec_inst3
=
db
.
Record
(
"
Broken Record
"
).
add_parent
(
"
MusicalInstrument
"
)
db
.
Container
().
extend
([
rt_man
,
rt_inst
,
rec_man
,
rec_inst
,
rec_man2
,
rec_inst2
,
rec_inst3
]).
insert
()
assert
"
Violin
"
not
in
[
e
.
name
for
e
in
db
.
execute_query
(
"
FIND ANY VERSION OF RECORD MusicalInstrument WITH Manufacturer !=
'
Antonio Stradivari
'"
)]
assert
"
Violin
"
not
in
[
e
.
name
for
e
in
db
.
execute_query
(
"
FIND ANY VERSION OF RECORD MusicalInstrument WITH NOT Manufacturer =
'
Antonio Stradivari
'"
)]
assert
len
(
db
.
execute_query
(
"
FIND ANY VERSION OF MusicalInstrument
"
))
==
4
assert
len
(
db
.
execute_query
(
"
FIND ANY VERSION OF RECORD MusicalInstrument
"
))
==
3
assert
len
(
db
.
execute_query
(
"
FIND ANY VERSION OF MusicalInstrument WITH Manufacturer
"
))
==
3
assert
len
(
db
.
execute_query
(
"
FIND ANY VERSION OF RECORD MusicalInstrument WITH Manufacturer
"
))
==
2
assert
rec_inst
.
id
==
db
.
execute_query
(
"
FIND ANY VERSION OF MusicalInstrument WITH Manufacturer =
'
Antonio Stradivari
'"
,
unique
=
True
).
id
assert
len
(
db
.
execute_query
(
"
FIND ANY VERSION OF MusicalInstrument WITH NOT Manufacturer =
'
Antonio Stradivari
'"
))
==
3
assert
len
(
db
.
execute_query
(
"
FIND ANY VERSION OF RECORD MusicalInstrument WITH NOT Manufacturer =
'
Antonio Stradivari
'"
))
==
2
assert
len
(
db
.
execute_query
(
"
FIND ANY VERSION OF MusicalInstrument WITH Manufacturer !=
'
Antonio Stradivari
'"
))
==
1
assert
len
(
db
.
execute_query
(
"
FIND ANY VERSION OF RECORD MusicalInstrument WITH Manufacturer !=
'
Antonio Stradivari
'"
))
==
1
# now, some updates
rt_man
.
description
=
"
Updated Description
"
rt_inst
.
description
=
"
Updated Description
"
rec_man
.
description
=
"
Updated Description
"
rec_man2
.
description
=
"
Updated Description
"
rec_inst
.
description
=
"
Updated Description
"
rec_inst2
.
description
=
"
Updated Description
"
rec_inst3
.
description
=
"
Updated Description
"
db
.
Container
().
extend
([
rt_man
,
rt_inst
,
rec_man
,
rec_inst
,
rec_man2
,
rec_inst2
,
rec_inst3
]).
update
()
assert
"
Violin
"
not
in
[
e
.
name
for
e
in
db
.
execute_query
(
"
FIND ANY VERSION OF RECORD MusicalInstrument WITH Manufacturer !=
'
Antonio Stradivari
'"
)]
assert
"
Violin
"
not
in
[
e
.
name
for
e
in
db
.
execute_query
(
"
FIND ANY VERSION OF RECORD MusicalInstrument WITH NOT Manufacturer =
'
Antonio Stradivari
'"
)]
assert
len
(
db
.
execute_query
(
"
FIND ANY VERSION OF MusicalInstrument
"
))
==
8
assert
len
(
db
.
execute_query
(
"
FIND ANY VERSION OF RECORD MusicalInstrument
"
))
==
6
assert
len
(
db
.
execute_query
(
"
FIND ANY VERSION OF MusicalInstrument WITH Manufacturer
"
))
==
6
assert
len
(
db
.
execute_query
(
"
FIND ANY VERSION OF RECORD MusicalInstrument WITH Manufacturer
"
))
==
4
assert
len
(
db
.
execute_query
(
"
FIND ANY VERSION OF MusicalInstrument WITH Manufacturer =
'
Antonio Stradivari
'"
))
==
2
assert
len
(
db
.
execute_query
(
"
FIND ANY VERSION OF MusicalInstrument WITH NOT Manufacturer =
'
Antonio Stradivari
'"
))
==
6
assert
len
(
db
.
execute_query
(
"
FIND ANY VERSION OF RECORD MusicalInstrument WITH NOT Manufacturer =
'
Antonio Stradivari
'"
))
==
4
assert
len
(
db
.
execute_query
(
"
FIND ANY VERSION OF MusicalInstrument WITH Manufacturer !=
'
Antonio Stradivari
'"
))
==
2
assert
len
(
db
.
execute_query
(
"
FIND ANY VERSION OF RECORD MusicalInstrument WITH Manufacturer !=
'
Antonio Stradivari
'"
))
==
2
def
test_issue_127
():
"""
https://gitlab.com/caosdb/caosdb-server/-/issues/127
"""
p
=
db
.
Property
(
"
TestProp
"
,
datatype
=
db
.
LIST
(
db
.
DOUBLE
)).
insert
()
rt
=
db
.
RecordType
(
"
TestRT
"
).
add_property
(
"
TestProp
"
,
[
"
NaN
"
]).
insert
()
def
test_issue_170
():
"""
update scalar data type to list data type
"""
p
=
db
.
Property
(
name
=
"
TestProp1
"
,
datatype
=
db
.
LIST
(
db
.
INTEGER
))
Loading