Bitcoin Core
31.0.0
P2P Digital Currency
Loading...
Searching...
No Matches
src
test
rest_tests.cpp
Go to the documentation of this file.
1
// Copyright (c) 2012-present The Bitcoin Core developers
2
// Distributed under the MIT software license, see the accompanying
3
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5
#include <
rest.h
>
6
#include <
test/util/common.h
>
7
#include <
test/util/setup_common.h
>
8
9
#include <boost/test/unit_test.hpp>
10
11
#include <string>
12
13
BOOST_FIXTURE_TEST_SUITE
(rest_tests,
BasicTestingSetup
)
14
15
BOOST_AUTO_TEST_CASE
(test_query_string)
16
{
17
std::string param;
18
RESTResponseFormat
rf
;
19
// No query string
20
rf
=
ParseDataFormat
(param,
"/rest/endpoint/someresource.json"
);
21
BOOST_CHECK_EQUAL
(param,
"/rest/endpoint/someresource"
);
22
BOOST_CHECK_EQUAL
(
rf
,
RESTResponseFormat::JSON
);
23
24
// Query string with single parameter
25
rf
=
ParseDataFormat
(param,
"/rest/endpoint/someresource.bin?p1=v1"
);
26
BOOST_CHECK_EQUAL
(param,
"/rest/endpoint/someresource"
);
27
BOOST_CHECK_EQUAL
(
rf
,
RESTResponseFormat::BINARY
);
28
29
// Query string with multiple parameters
30
rf
=
ParseDataFormat
(param,
"/rest/endpoint/someresource.hex?p1=v1&p2=v2"
);
31
BOOST_CHECK_EQUAL
(param,
"/rest/endpoint/someresource"
);
32
BOOST_CHECK_EQUAL
(
rf
,
RESTResponseFormat::HEX
);
33
34
// Incorrectly formed query string will not be handled
35
rf
=
ParseDataFormat
(param,
"/rest/endpoint/someresource.json&p1=v1"
);
36
BOOST_CHECK_EQUAL
(param,
"/rest/endpoint/someresource.json&p1=v1"
);
37
BOOST_CHECK_EQUAL
(
rf
,
RESTResponseFormat::UNDEF
);
38
39
// Omitted data format with query string should return UNDEF and hide query string
40
rf
=
ParseDataFormat
(param,
"/rest/endpoint/someresource?p1=v1"
);
41
BOOST_CHECK_EQUAL
(param,
"/rest/endpoint/someresource"
);
42
BOOST_CHECK_EQUAL
(
rf
,
RESTResponseFormat::UNDEF
);
43
44
// Data format specified after query string
45
rf
=
ParseDataFormat
(param,
"/rest/endpoint/someresource?p1=v1.json"
);
46
BOOST_CHECK_EQUAL
(param,
"/rest/endpoint/someresource"
);
47
BOOST_CHECK_EQUAL
(
rf
,
RESTResponseFormat::UNDEF
);
48
}
49
BOOST_AUTO_TEST_SUITE_END
()
BOOST_FIXTURE_TEST_SUITE
BOOST_FIXTURE_TEST_SUITE(cuckoocache_tests, BasicTestingSetup)
Test Suite for CuckooCache.
BOOST_AUTO_TEST_SUITE_END
BOOST_AUTO_TEST_SUITE_END()
BOOST_AUTO_TEST_CASE
BOOST_AUTO_TEST_CASE(ipc_tests)
Definition
ipc_tests.cpp:13
BOOST_CHECK_EQUAL
#define BOOST_CHECK_EQUAL(v1, v2)
Definition
object.cpp:17
rf
RESTResponseFormat rf
Definition
rest.cpp:47
ParseDataFormat
RESTResponseFormat ParseDataFormat(std::string ¶m, const std::string &strReq)
Parse a URI to get the data format and URI without data format and query string.
Definition
rest.cpp:128
rest.h
RESTResponseFormat
RESTResponseFormat
Definition
rest.h:10
RESTResponseFormat::JSON
@ JSON
Definition
rest.h:14
RESTResponseFormat::HEX
@ HEX
Definition
rest.h:13
RESTResponseFormat::BINARY
@ BINARY
Definition
rest.h:12
RESTResponseFormat::UNDEF
@ UNDEF
Definition
rest.h:11
setup_common.h
BasicTestingSetup
Basic testing setup.
Definition
setup_common.h:64
common.h
Generated on
for Bitcoin Core by
1.16.1