summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago Marcos P. Santos <tmpsantos@gmail.com>2019-12-21 01:48:04 +0200
committerThiago Marcos P. Santos <tmpsantos@gmail.com>2020-01-08 13:07:12 +0200
commit26cfddaf47bfeacc2ef739c32c9de2eae94af787 (patch)
treee9bf20a943d3231e4bf0e684f7f17257ba58f9a9
parent4d815d83060bbf96e88022d685227b3363c557e0 (diff)
downloadqtlocation-mapboxgl-26cfddaf47bfeacc2ef739c32c9de2eae94af787.tar.gz
[render-test] Add access token to the test manifest
Needed if we want to run tests online. Will default to the MAPBOX_ACCESS_TOKEN environment value.
-rw-r--r--render-test/manifest_parser.cpp25
-rw-r--r--render-test/manifest_parser.hpp3
2 files changed, 27 insertions, 1 deletions
diff --git a/render-test/manifest_parser.cpp b/render-test/manifest_parser.cpp
index 6aec4b3593..e0e4946215 100644
--- a/render-test/manifest_parser.cpp
+++ b/render-test/manifest_parser.cpp
@@ -22,7 +22,13 @@ std::string prependFileScheme(const std::string& url) {
}
} // namespace
-Manifest::Manifest() = default;
+Manifest::Manifest() {
+ const char* envToken = getenv("MAPBOX_ACCESS_TOKEN");
+ if (envToken != nullptr) {
+ accessToken = envToken;
+ }
+}
+
Manifest::~Manifest() = default;
const std::vector<TestPaths>& Manifest::getTestPaths() const {
@@ -48,6 +54,10 @@ const std::string& Manifest::getCachePath() const {
return cachePath;
}
+const std::string& Manifest::getAccessToken() const {
+ return accessToken;
+}
+
const std::set<std::string>& Manifest::getProbes() const {
return probes;
}
@@ -321,6 +331,19 @@ mbgl::optional<Manifest> ManifestParser::parseManifest(const std::string& manife
return mbgl::nullopt;
}
}
+ if (document.HasMember("access_token")) {
+ const auto& accessTokenValue = document["access_token"];
+ if (!accessTokenValue.IsString()) {
+ mbgl::Log::Warning(mbgl::Event::General,
+ "Invalid access_token is provided inside the manifest file: %s",
+ filePath.c_str());
+ return mbgl::nullopt;
+ }
+ manifest.accessToken = accessTokenValue.GetString();
+ if (manifest.accessToken.empty()) {
+ return mbgl::nullopt;
+ }
+ }
mbgl::filesystem::path baseTestPath;
if (document.HasMember("base_test_path")) {
const auto& testPathValue = document["base_test_path"];
diff --git a/render-test/manifest_parser.hpp b/render-test/manifest_parser.hpp
index 55249896cb..120fb9a2bd 100644
--- a/render-test/manifest_parser.hpp
+++ b/render-test/manifest_parser.hpp
@@ -5,6 +5,7 @@
#include <mbgl/util/optional.hpp>
#include <mbgl/util/rapidjson.hpp>
+#include <cstdlib>
#include <regex>
#include <string>
#include <utility>
@@ -21,6 +22,7 @@ public:
const std::string& getManifestPath() const;
const std::string& getResultPath() const;
const std::string& getCachePath() const;
+ const std::string& getAccessToken() const;
const std::set<std::string>& getProbes() const;
void doShuffle(uint32_t seed);
@@ -49,6 +51,7 @@ private:
std::string assetPath;
std::string resultPath;
std::string cachePath;
+ std::string accessToken;
std::vector<std::pair<std::string, std::string>> ignores;
std::vector<TestPaths> testPaths;
std::set<std::string> probes;