Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
B
Base Worker
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository 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
Workers
Base Worker
Commits
0d0fdcca
Commit
0d0fdcca
authored
1 year ago
by
Manon Blanco
Browse files
Options
Downloads
Patches
Plain Diff
Replace metadatas typo
parent
31a9f9e0
No related branches found
Branches containing commit
No related tags found
Tags containing commit
1 merge request
!449
Replace metadatas typo
Pipeline
#144382
passed
1 year ago
Stage: test
Stage: build
Stage: release
Stage: deploy
Changes
3
Pipelines
2
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
arkindex_worker/worker/metadata.py
+3
-3
3 additions, 3 deletions
arkindex_worker/worker/metadata.py
docs/releases.md
+1
-1
1 addition, 1 deletion
docs/releases.md
tests/test_elements_worker/test_metadata.py
+49
-45
49 additions, 45 deletions
tests/test_elements_worker/test_metadata.py
with
53 additions
and
49 deletions
arkindex_worker/worker/metadata.py
+
3
−
3
View file @
0d0fdcca
...
...
@@ -118,7 +118,7 @@ class MetaDataMixin(object):
],
)
->
List
[
Dict
[
str
,
str
]]:
"""
Create multiple metadata
s
on an existing element.
Create multiple metadata on an existing element.
This method does not support cache.
:param element: The element to create multiple metadata on.
...
...
@@ -172,7 +172,7 @@ class MetaDataMixin(object):
logger
.
warning
(
"
Cannot create metadata as this worker is in read-only mode
"
)
return
created_metadata
s
=
self
.
request
(
created_metadata
_list
=
self
.
request
(
"
CreateMetaDataBulk
"
,
id
=
element
.
id
,
body
=
{
...
...
@@ -181,7 +181,7 @@ class MetaDataMixin(object):
},
)[
"
metadata_list
"
]
return
created_metadata
s
return
created_metadata
_list
def
list_element_metadata
(
self
,
element
:
Union
[
Element
,
CachedElement
]
...
...
This diff is collapsed.
Click to expand it.
docs/releases.md
+
1
−
1
View file @
0d0fdcca
...
...
@@ -115,7 +115,7 @@ Released on **8 November 2022** • View on [Gitlab](https://gitlab.teklia.co
-
A new version of the cache was released with the updated Django models.
-
Improvements to our Machine Learning training API to allow workers to use models published on Arkindex.
-
Support workers that have no configuration.
-
Allow publishing metadata
s
with falsy but non-null values.
-
Allow publishing metadata with falsy but non-null values.
-
Add
`.polygon`
attribute shortcut on
`Element`
.
-
Add a major test speedup on our worker template.
-
Support cache usage on our metadata API endpoint helpers.
...
...
This diff is collapsed.
Click to expand it.
tests/test_elements_worker/test_metadata.py
+
49
−
45
View file @
0d0fdcca
...
...
@@ -247,7 +247,7 @@ def test_create_metadata_cached_element(responses, mock_elements_worker_with_cac
@pytest.mark.parametrize
(
"
metadata
s
"
,
"
metadata
_list
"
,
[
([{
"
type
"
:
MetaType
.
Text
,
"
name
"
:
"
fake_name
"
,
"
value
"
:
"
fake_value
"
}]),
(
...
...
@@ -262,7 +262,7 @@ def test_create_metadata_cached_element(responses, mock_elements_worker_with_cac
),
],
)
def
test_create_metadatas
(
responses
,
mock_elements_worker
,
metadata
s
):
def
test_create_metadatas
(
responses
,
mock_elements_worker
,
metadata
_list
):
element
=
Element
({
"
id
"
:
"
12341234-1234-1234-1234-123412341234
"
})
responses
.
add
(
responses
.
POST
,
...
...
@@ -273,17 +273,19 @@ def test_create_metadatas(responses, mock_elements_worker, metadatas):
"
metadata_list
"
:
[
{
"
id
"
:
"
fake_metadata_id
"
,
"
type
"
:
metadata
s
[
0
][
"
type
"
].
value
,
"
name
"
:
metadata
s
[
0
][
"
name
"
],
"
value
"
:
metadata
s
[
0
][
"
value
"
],
"
type
"
:
metadata
_list
[
0
][
"
type
"
].
value
,
"
name
"
:
metadata
_list
[
0
][
"
name
"
],
"
value
"
:
metadata
_list
[
0
][
"
value
"
],
"
dates
"
:
[],
"
entity_id
"
:
metadata
s
[
0
].
get
(
"
entity_id
"
),
"
entity_id
"
:
metadata
_list
[
0
].
get
(
"
entity_id
"
),
}
],
},
)
created_metadatas
=
mock_elements_worker
.
create_metadatas
(
element
,
metadatas
)
created_metadata_list
=
mock_elements_worker
.
create_metadatas
(
element
,
metadata_list
)
assert
len
(
responses
.
calls
)
==
len
(
BASE_API_CALLS
)
+
1
assert
[
...
...
@@ -296,26 +298,26 @@ def test_create_metadatas(responses, mock_elements_worker, metadatas):
]
assert
json
.
loads
(
responses
.
calls
[
-
1
].
request
.
body
)[
"
metadata_list
"
]
==
[
{
"
type
"
:
metadata
s
[
0
][
"
type
"
].
value
,
"
name
"
:
metadata
s
[
0
][
"
name
"
],
"
value
"
:
metadata
s
[
0
][
"
value
"
],
"
entity_id
"
:
metadata
s
[
0
].
get
(
"
entity_id
"
),
"
type
"
:
metadata
_list
[
0
][
"
type
"
].
value
,
"
name
"
:
metadata
_list
[
0
][
"
name
"
],
"
value
"
:
metadata
_list
[
0
][
"
value
"
],
"
entity_id
"
:
metadata
_list
[
0
].
get
(
"
entity_id
"
),
}
]
assert
created_metadata
s
==
[
assert
created_metadata
_list
==
[
{
"
id
"
:
"
fake_metadata_id
"
,
"
type
"
:
metadata
s
[
0
][
"
type
"
].
value
,
"
name
"
:
metadata
s
[
0
][
"
name
"
],
"
value
"
:
metadata
s
[
0
][
"
value
"
],
"
type
"
:
metadata
_list
[
0
][
"
type
"
].
value
,
"
name
"
:
metadata
_list
[
0
][
"
name
"
],
"
value
"
:
metadata
_list
[
0
][
"
value
"
],
"
dates
"
:
[],
"
entity_id
"
:
metadata
s
[
0
].
get
(
"
entity_id
"
),
"
entity_id
"
:
metadata
_list
[
0
].
get
(
"
entity_id
"
),
}
]
@pytest.mark.parametrize
(
"
metadata
s
"
,
"
metadata
_list
"
,
[
([{
"
type
"
:
MetaType
.
Text
,
"
name
"
:
"
fake_name
"
,
"
value
"
:
"
fake_value
"
}]),
(
...
...
@@ -331,7 +333,7 @@ def test_create_metadatas(responses, mock_elements_worker, metadatas):
],
)
def
test_create_metadatas_cached_element
(
responses
,
mock_elements_worker_with_cache
,
metadata
s
responses
,
mock_elements_worker_with_cache
,
metadata
_list
):
element
=
CachedElement
.
create
(
id
=
"
12341234-1234-1234-1234-123412341234
"
,
type
=
"
thing
"
...
...
@@ -345,18 +347,18 @@ def test_create_metadatas_cached_element(
"
metadata_list
"
:
[
{
"
id
"
:
"
fake_metadata_id
"
,
"
type
"
:
metadata
s
[
0
][
"
type
"
].
value
,
"
name
"
:
metadata
s
[
0
][
"
name
"
],
"
value
"
:
metadata
s
[
0
][
"
value
"
],
"
type
"
:
metadata
_list
[
0
][
"
type
"
].
value
,
"
name
"
:
metadata
_list
[
0
][
"
name
"
],
"
value
"
:
metadata
_list
[
0
][
"
value
"
],
"
dates
"
:
[],
"
entity_id
"
:
metadata
s
[
0
].
get
(
"
entity_id
"
),
"
entity_id
"
:
metadata
_list
[
0
].
get
(
"
entity_id
"
),
}
],
},
)
created_metadata
s
=
mock_elements_worker_with_cache
.
create_metadatas
(
element
,
metadata
s
created_metadata
_list
=
mock_elements_worker_with_cache
.
create_metadatas
(
element
,
metadata
_list
)
assert
len
(
responses
.
calls
)
==
len
(
BASE_API_CALLS
)
+
1
...
...
@@ -370,20 +372,20 @@ def test_create_metadatas_cached_element(
]
assert
json
.
loads
(
responses
.
calls
[
-
1
].
request
.
body
)[
"
metadata_list
"
]
==
[
{
"
type
"
:
metadata
s
[
0
][
"
type
"
].
value
,
"
name
"
:
metadata
s
[
0
][
"
name
"
],
"
value
"
:
metadata
s
[
0
][
"
value
"
],
"
entity_id
"
:
metadata
s
[
0
].
get
(
"
entity_id
"
),
"
type
"
:
metadata
_list
[
0
][
"
type
"
].
value
,
"
name
"
:
metadata
_list
[
0
][
"
name
"
],
"
value
"
:
metadata
_list
[
0
][
"
value
"
],
"
entity_id
"
:
metadata
_list
[
0
].
get
(
"
entity_id
"
),
}
]
assert
created_metadata
s
==
[
assert
created_metadata
_list
==
[
{
"
id
"
:
"
fake_metadata_id
"
,
"
type
"
:
metadata
s
[
0
][
"
type
"
].
value
,
"
name
"
:
metadata
s
[
0
][
"
name
"
],
"
value
"
:
metadata
s
[
0
][
"
value
"
],
"
type
"
:
metadata
_list
[
0
][
"
type
"
].
value
,
"
name
"
:
metadata
_list
[
0
][
"
name
"
],
"
value
"
:
metadata
_list
[
0
][
"
value
"
],
"
dates
"
:
[],
"
entity_id
"
:
metadata
s
[
0
].
get
(
"
entity_id
"
),
"
entity_id
"
:
metadata
_list
[
0
].
get
(
"
entity_id
"
),
}
]
...
...
@@ -398,7 +400,7 @@ def test_create_metadatas_cached_element(
],
)
def
test_create_metadatas_wrong_element
(
mock_elements_worker
,
wrong_element
):
wrong_metadata
s
=
[
wrong_metadata
_list
=
[
{
"
type
"
:
MetaType
.
Text
,
"
name
"
:
"
fake_name
"
,
"
value
"
:
"
fake_value
"
}
]
with
pytest
.
raises
(
...
...
@@ -406,7 +408,7 @@ def test_create_metadatas_wrong_element(mock_elements_worker, wrong_element):
match
=
"
element shouldn
'
t be null and should be of type Element or CachedElement
"
,
):
mock_elements_worker
.
create_metadatas
(
element
=
wrong_element
,
metadatas
=
wrong_metadata
s
element
=
wrong_element
,
metadatas
=
wrong_metadata
_list
)
...
...
@@ -421,33 +423,35 @@ def test_create_metadatas_wrong_element(mock_elements_worker, wrong_element):
)
def
test_create_metadatas_wrong_type
(
mock_elements_worker
,
wrong_type
):
element
=
Element
({
"
id
"
:
"
12341234-1234-1234-1234-123412341234
"
})
wrong_metadatas
=
[{
"
type
"
:
wrong_type
,
"
name
"
:
"
fake_name
"
,
"
value
"
:
"
fake_value
"
}]
wrong_metadata_list
=
[
{
"
type
"
:
wrong_type
,
"
name
"
:
"
fake_name
"
,
"
value
"
:
"
fake_value
"
}
]
with
pytest
.
raises
(
AssertionError
,
match
=
"
type shouldn
'
t be null and should be of type MetaType
"
):
mock_elements_worker
.
create_metadatas
(
element
=
element
,
metadatas
=
wrong_metadata
s
element
=
element
,
metadatas
=
wrong_metadata
_list
)
@pytest.mark.parametrize
(
"
wrong_name
"
,
[(
None
),
(
1234
),
(
12.5
),
([
1
,
2
,
3
,
4
])])
def
test_create_metadatas_wrong_name
(
mock_elements_worker
,
wrong_name
):
element
=
Element
({
"
id
"
:
"
fake_element_id
"
})
wrong_metadata
s
=
[
wrong_metadata
_list
=
[
{
"
type
"
:
MetaType
.
Text
,
"
name
"
:
wrong_name
,
"
value
"
:
"
fake_value
"
}
]
with
pytest
.
raises
(
AssertionError
,
match
=
"
name shouldn
'
t be null and should be of type str
"
):
mock_elements_worker
.
create_metadatas
(
element
=
element
,
metadatas
=
wrong_metadata
s
element
=
element
,
metadatas
=
wrong_metadata
_list
)
@pytest.mark.parametrize
(
"
wrong_value
"
,
[(
None
),
([
1
,
2
,
3
,
4
])])
def
test_create_metadatas_wrong_value
(
mock_elements_worker
,
wrong_value
):
element
=
Element
({
"
id
"
:
"
fake_element_id
"
})
wrong_metadata
s
=
[
wrong_metadata
_list
=
[
{
"
type
"
:
MetaType
.
Text
,
"
name
"
:
"
fake_name
"
,
"
value
"
:
wrong_value
}
]
with
pytest
.
raises
(
...
...
@@ -457,7 +461,7 @@ def test_create_metadatas_wrong_value(mock_elements_worker, wrong_value):
),
):
mock_elements_worker
.
create_metadatas
(
element
=
element
,
metadatas
=
wrong_metadata
s
element
=
element
,
metadatas
=
wrong_metadata
_list
)
...
...
@@ -471,7 +475,7 @@ def test_create_metadatas_wrong_value(mock_elements_worker, wrong_value):
)
def
test_create_metadatas_wrong_entity
(
mock_elements_worker
,
wrong_entity
):
element
=
Element
({
"
id
"
:
"
fake_element_id
"
})
wrong_metadata
s
=
[
wrong_metadata
_list
=
[
{
"
type
"
:
MetaType
.
Text
,
"
name
"
:
"
fake_name
"
,
...
...
@@ -481,13 +485,13 @@ def test_create_metadatas_wrong_entity(mock_elements_worker, wrong_entity):
]
with
pytest
.
raises
(
AssertionError
,
match
=
"
entity_id should be None or a str
"
):
mock_elements_worker
.
create_metadatas
(
element
=
element
,
metadatas
=
wrong_metadata
s
element
=
element
,
metadatas
=
wrong_metadata
_list
)
def
test_create_metadatas_api_error
(
responses
,
mock_elements_worker
):
element
=
Element
({
"
id
"
:
"
12341234-1234-1234-1234-123412341234
"
})
metadata
s
=
[
metadata
_list
=
[
{
"
type
"
:
MetaType
.
Text
,
"
name
"
:
"
fake_name
"
,
...
...
@@ -502,7 +506,7 @@ def test_create_metadatas_api_error(responses, mock_elements_worker):
)
with
pytest
.
raises
(
ErrorResponse
):
mock_elements_worker
.
create_metadatas
(
element
,
metadata
s
)
mock_elements_worker
.
create_metadatas
(
element
,
metadata
_list
)
assert
len
(
responses
.
calls
)
==
len
(
BASE_API_CALLS
)
+
5
assert
[
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment