35 #include <boost/test/unit_test.hpp> 46 std::string dataDir = TERRALIB_DATA_DIR;
49 std::string url =
"http://demo.geo-solutions.it/geoserver/ows";
52 std::string version =
"1.3.0";
63 std::vector<te::ws::ogc::wms::Layer> layers = capability.
m_layer.
m_layers;
65 BOOST_CHECK(layers.size() > 0);
76 std::string dataDir = TERRALIB_DATA_DIR;
79 std::string url =
"http://wrongaddress.org/geoserver/ows";
82 std::string version =
"1.3.0";
98 std::string dataDir = TERRALIB_DATA_DIR;
101 std::string url =
"http://demo.geo-solutions.it/geoserver/ows";
104 std::string version =
"1.0.0";
118 std::string dataDir = TERRALIB_DATA_DIR;
121 std::string url =
"http://demo.geo-solutions.it/geoserver/ows";
123 std::string version =
"1.3.0";
133 std::vector<te::ws::ogc::wms::Layer> layers = capability.
m_layer.
m_layers;
137 for(
size_t i = 0; i < layers.size(); i++)
139 if(layers[i].m_name ==
"tasmania")
141 request.
m_layers.push_back(layers[i].m_name);
143 if(layers[i].m_styles.size() > 0)
145 request.
m_styles.push_back(layers[i].m_styles[0].m_name);
148 request.
m_srs =
"EPSG:4326";
152 bbox.
m_maxX = layers[i].m_geoBoundingBox.m_eastBoundLongitude;
153 bbox.
m_maxY = layers[i].m_geoBoundingBox.m_northBoundLatitude;
154 bbox.
m_minX = layers[i].m_geoBoundingBox.m_westBoundLongitude;
155 bbox.
m_minY = layers[i].m_geoBoundingBox.m_southBoundLatitude;
163 BOOST_CHECK(request.
m_layers.size() == 1);
167 BOOST_CHECK(response.m_buffer.empty() ==
false);
168 BOOST_CHECK(response.m_size > 0);
169 BOOST_CHECK(response.m_format ==
"image/png");
180 std::string dataDir = TERRALIB_DATA_DIR;
183 std::string url =
"http://demo.geo-solutions.it/geoserver/ows";
185 std::string version =
"1.3.0";
195 std::vector<te::ws::ogc::wms::Layer> layers = capability.
m_layer.
m_layers;
199 for(
size_t i = 0; i < layers.size(); i++)
201 if(layers[i].m_name ==
"tasmania")
203 request.
m_layers.push_back(layers[i].m_name);
205 if(layers[i].m_styles.size() > 0)
207 request.
m_styles.push_back(layers[i].m_styles[0].m_name);
210 request.
m_srs =
"EPSG:4326";
214 bbox.
m_maxX = layers[i].m_geoBoundingBox.m_eastBoundLongitude;
215 bbox.
m_maxY = layers[i].m_geoBoundingBox.m_northBoundLatitude;
216 bbox.
m_minX = layers[i].m_geoBoundingBox.m_westBoundLongitude;
217 bbox.
m_minY = layers[i].m_geoBoundingBox.m_southBoundLatitude;
225 BOOST_CHECK(request.
m_layers.size() == 1);
227 std::string imageDiskPath = client.
saveGetMap(request,
"test_image.png");
229 std::string expectedResult = dataDir + std::string(
"/wms/") +
"test_image.png";
231 BOOST_CHECK(imageDiskPath == expectedResult);
BOOST_AUTO_TEST_CASE(getcapabilities_test)
std::vector< std::string > m_layers
const te::ws::ogc::wms::WMSGetMapResponse getMap(const te::ws::ogc::wms::WMSGetMapRequest &request) const
Return the WMSGetMapResponse member.
const te::ws::ogc::wms::WMSCapabilities & getCapabilities() const
Return the WMSCapabilities member.
This XML Schema Document named xlinks xsd has been stored here based on the change request
The Capability WMS 1.3.0 struct.
std::vector< Layer > m_layers
The Capability WMS 1.3.0 struct.
static ApplicationController & getInstance()
It returns a reference to the singleton instance.
std::vector< std::string > m_styles
BoundingBox m_boundingBox
te::da::DataSourceCapabilities capabilities
The WMSGetMapResponse WMS 1.3.0 struct.
const std::string saveGetMap(const te::ws::ogc::wms::WMSGetMapRequest &request, const std::string &filename)
It execute a WMS GetMap and save the result image on disk. The request will be based on WMSGetMapRequ...
Base exception class for WS Core Runtime Library.
Exception classes for the WS Core Runtime Library.
void updateCapabilities()
Method to get the capabilities from a WMS server and store in m_capabilities member.
Specifies containers for WMS data types.
A class to retrieve information and data from a Web Map Service.
The base API for controllers of TerraLib applications.
The WMSGetMapRequest WMS 1.3.0 struct.
The BoundingBox WMS 1.3.0 struct.