planetmint/tests/web/test_blocks.py
Jürgen Eckel 7823195911
added api to get the latest block /api/v1/blocks/latest (#88)
* added api to get the latest block /api/v1/blocks/latest

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>

* git fixed flake8 whitespace warnings

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>

* fixed flake8 warnings: removed too many newline

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>

* added missing deps in the testing docker files

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>

* install meson prior to the rest to have it availabe and fix the issue of missing depenceny declarations within zenroom

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>

* added missing ninja dependency

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>

* fixed zenroom dependency

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2022-04-26 11:21:04 +02:00

62 lines
1.8 KiB
Python

# Copyright © 2020 Interplanetary Database Association e.V.,
# Planetmint and IPDB software contributors.
# SPDX-License-Identifier: (Apache-2.0 AND CC-BY-4.0)
# Code is Apache-2.0 and docs are CC-BY-4.0
import pytest
BLOCKS_ENDPOINT = '/api/v1/blocks/'
@pytest.mark.bdb
@pytest.mark.usefixtures('inputs')
def test_get_block_returns_404_if_not_found(client):
res = client.get(BLOCKS_ENDPOINT + '123')
assert res.status_code == 404
res = client.get(BLOCKS_ENDPOINT + '123/')
assert res.status_code == 404
res = client.get(BLOCKS_ENDPOINT + 'latest')
assert res.status_code == 200
res = client.get(BLOCKS_ENDPOINT + 'latest/')
assert res.status_code == 200
@pytest.mark.bdb
def test_get_blocks_by_txid_endpoint_returns_empty_list_not_found(client):
res = client.get(BLOCKS_ENDPOINT + '?transaction_id=')
assert res.status_code == 200
assert len(res.json) == 0
res = client.get(BLOCKS_ENDPOINT + '?transaction_id=123')
assert res.status_code == 200
assert len(res.json) == 0
@pytest.mark.bdb
def test_get_blocks_by_txid_endpoint_returns_400_bad_query_params(client):
res = client.get(BLOCKS_ENDPOINT)
assert res.status_code == 400
res = client.get(BLOCKS_ENDPOINT + '?ts_id=123')
assert res.status_code == 400
assert res.json == {
'message': {
'transaction_id': 'Missing required parameter in the JSON body or the post body or the query string'
}
}
res = client.get(BLOCKS_ENDPOINT + '?transaction_id=123&foo=123')
assert res.status_code == 400
assert res.json == {
'message': 'Unknown arguments: foo'
}
res = client.get(BLOCKS_ENDPOINT + '?transaction_id=123&status=123')
assert res.status_code == 400
assert res.json == {
'message': 'Unknown arguments: status'
}