GCC Code Coverage Report


Directory: src/gate/
File: src/gate/tech/tests/gatetech_cpp_test/test_webapis.cpp
Date: 2026-08-06 22:46:24
Exec Total Coverage
Lines: 127 127 100.0%
Functions: 13 13 100.0%
Branches: 273 768 35.5%

Line Branch Exec Source
1 #include "gate/tests.hpp"
2 #include "gate/tech/webapis.hpp"
3 #include "gate/mathematics.hpp"
4 #include "gate/times.hpp"
5
6 using namespace gate;
7 using namespace gate::tech;
8
9
2/7
✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
6 GATEXX_TEST_UNIT(WebapiIpwhois)
10 {
11
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 WebApi::Context ctx;
12
13
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 WebApi::IpwhoisRequest req;
14
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 WebApi::IpwhoisResponse resp;
15
16
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 req.IpAddress("8.8.8.8");
17
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(WebApi::loadIpwhois(ctx, req, resp));
18
19
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(resp.InetCountry());
20
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(resp.InetCreated());
21
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(resp.InetDescr());
22
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(resp.InetModified());
23
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(resp.InetNetname());
24
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(resp.InetOrg());
25
26
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(resp.IpAddress());
27
28
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(resp.OrgAddress());
29
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(resp.OrgCountry());
30
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(resp.OrgMail());
31
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(resp.OrgName());
32
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(resp.OrgPhone());
33
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(resp.OrgType());
34
35
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(resp.Range());
36
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(resp.RoleAddress());
37
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(resp.RoleAdminC());
38
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(resp.RoleMail());
39
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(resp.RoleName());
40
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(resp.RoleTechC());
41
42
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(resp.RouteDescr());
43
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(resp.RouteName());
44 2 }
45
46 static gate_real32_t const vienna_latitude = 48.208518f;
47 static gate_real32_t const vienna_longitude = 16.372263f;
48
49
2/7
✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
6 GATEXX_TEST_UNIT(WebapiGeomaps)
50 {
51
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 WebApi::Context ctx;
52
53
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 WebApi::GeomapRequest req;
54
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 req.CenterLatitude(vienna_latitude);
55
6/16
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✓ Branch 15 taken 1 times.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
2 GATEXX_TEST_CHECK(math::isZero(req.CenterLatitude() - vienna_latitude));
56
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 req.CenterLongitude(vienna_longitude);
57
6/16
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✓ Branch 15 taken 1 times.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
2 GATEXX_TEST_CHECK(math::isZero(req.CenterLongitude() - vienna_longitude));
58
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 req.RadiusMeters(100.0f);
59
6/16
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✓ Branch 15 taken 1 times.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
2 GATEXX_TEST_CHECK(math::isZero(req.RadiusMeters() - 100.0f));
60
61
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 req.ImageWidth(800);
62
5/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
2 GATEXX_TEST_CHECK_EQUAL(req.ImageWidth(), 800);
63
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 req.ImageHeight(600);
64
5/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
2 GATEXX_TEST_CHECK_EQUAL(req.ImageHeight(), 600);
65
66
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 req.ImageType(WebApi::ImageType_SatelliteMap);
67
5/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
2 GATEXX_TEST_CHECK_EQUAL(req.ImageType(), WebApi::ImageType_SatelliteMap);
68
69
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 WebApi::GeomapResponse resp;
70
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(WebApi::loadGeoMap(ctx, req, resp));
71
72 // just check member-access:
73
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 resp.CenterLatitude(resp.CenterLatitude());
74
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 resp.CenterLongitude(resp.CenterLongitude());
75
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 resp.ImageWidth(resp.ImageWidth());
76
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 resp.ImageHeight(resp.ImageHeight());
77
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 resp.ImageType(resp.ImageType());
78
79
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 resp.MinLatitude(resp.MinLatitude());
80
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 resp.MinLongitude(resp.MinLongitude());
81
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 resp.MaxLatitude(resp.MaxLatitude());
82
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 resp.MaxLongitude(resp.MaxLongitude());
83
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 resp.MinLatitude(resp.MinLatitude());
84
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 resp.MinLatitude(resp.MinLatitude());
85
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 resp.MinLatitude(resp.MinLatitude());
86
87
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 resp.ImageFormat(resp.ImageFormat());
88
89
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 Blob imagedata;
90
5/16
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(imagedata = resp.ImageData());
91
4/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
2 GATEXX_TEST_CHECK(!imagedata.empty());
92 2 }
93
94 9 void run_weather_api_tests(WebApi::Context& ctx, const real32_t longitude, const real32_t latitude)
95 {
96
1/2
✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
18 WebApi::WeatherRequest req;
97
2/4
✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 5 not taken.
9 req.Provider(req.Provider());
98
99
1/2
✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
9 req.Latitude(latitude);
100
6/16
✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 9 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 9 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 9 times.
✗ Branch 13 not taken.
✓ Branch 15 taken 9 times.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
9 GATEXX_TEST_CHECK(math::isZero(req.Latitude() - latitude));
101
102
1/2
✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
9 req.Longitude(longitude);
103
6/16
✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 9 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 9 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 9 times.
✗ Branch 13 not taken.
✓ Branch 15 taken 9 times.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
9 GATEXX_TEST_CHECK(math::isZero(req.Longitude() - longitude));
104
105
2/4
✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 5 not taken.
9 req.Location(req.Location());
106
107
2/4
✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 5 not taken.
9 req.RecordTime(Time::now());
108
1/2
✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
9 req.RecordTime();
109
110
1/2
✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
18 WebApi::WeatherResponse resp;
111
4/14
✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 9 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 9 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
9 GATEXX_TEST_CHECK_NOTHROW(WebApi::loadWeatherRecord(ctx, req, resp));
112
113
1/2
✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
9 resp.Latitude();
114
1/2
✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
9 resp.Longitude();
115
1/2
✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
9 resp.Location();
116
117 18 Array<WebApi::WeatherRecord> records;
118
4/14
✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 9 times.
✗ Branch 8 not taken.
✓ Branch 12 taken 9 times.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
9 GATEXX_TEST_CHECK_NOTHROW(records = resp.Records());
119
4/12
✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 9 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 9 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
9 GATEXX_TEST_REQUIRE(!records.empty());
120
121 9 WebApi::WeatherRecord rec = records.at(0);
122
5/16
✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 9 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 9 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 13 taken 9 times.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
9 GATEXX_TEST_CHECK((rec.record_time != 0) || (rec.record_value != 0) || (rec.record_type != 0));
123 9 }
124
125
2/7
✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
6 GATEXX_TEST_UNIT(WebapiWeather)
126 {
127
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 WebApi::Context ctx;
128
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 run_weather_api_tests(ctx, vienna_longitude, vienna_latitude);
129
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 run_weather_api_tests(ctx, -73.9855, 40.7580); // New York
130
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 run_weather_api_tests(ctx, -16.9241, 32.6669); // Funchal
131
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 run_weather_api_tests(ctx, -0.1278, 51.5074); // London
132
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 run_weather_api_tests(ctx, 37.6173, 55.7558); // Moscow
133
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 run_weather_api_tests(ctx, 139.6917, 35.6895); // Tokyo
134
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 run_weather_api_tests(ctx, 151.2093, -33.8688); // Sydney
135
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 run_weather_api_tests(ctx, -47.8828, -15.7939); // Brasilia
136
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 run_weather_api_tests(ctx, -68.125, -67.568); // Antarctica Rothera Research Station (UK)
137 2 }
138
139
2/7
✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
6 GATEXX_TEST_UNIT(WebapiNewsFeed)
140 {
141
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
2 static StaticString const rssUrl = "https://fosstodon.org/@gatelinker.rss";
142
143
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 WebApi::Context ctx;
144
145
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 WebApi::NewsfeedRequest req;
146
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 WebApi::NewsfeedResponse resp;
147
148
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 req.RequestUrl(rssUrl);
149
5/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
2 GATEXX_TEST_CHECK_EQUAL(rssUrl, req.RequestUrl());
150
151
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 WebApi::loadNewsfeed(ctx, req, resp);
152
153
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 resp.RequestUrl();
154
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 resp.Uid();
155
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 resp.Title();
156
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 resp.Link();
157
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 resp.UpdateTime();
158
159
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 resp.Description();
160
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 resp.Language();
161
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 resp.Publisher();
162
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 resp.Contact();
163
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 resp.Image();
164
165 4 Array<WebApi::NewsfeedEntry> entries;
166
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(entries = resp.Entries());
167
168 2 Enumerator<const WebApi::NewsfeedEntry> e = entries.enumerate();
169
2/2
✓ Branch 1 taken 20 times.
✓ Branch 2 taken 1 times.
42 for (; e.valid(); e.next())
170 {
171
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
40 WebApi::NewsfeedEntry const& entry = *e;
172
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
40 entry.Uid();
173
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
40 entry.Title();
174
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
40 entry.Link();
175
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
40 entry.UpdateTime();
176
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
40 entry.Author();
177
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
40 entry.Category();
178
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
40 entry.Summary();
179
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
40 entry.Content();
180 }
181 2 }
182