diff options
author | Alberto Sartori <alberto.sartori@huawei.com> | 2023-11-08 17:38:00 +0100 |
---|---|---|
committer | Alberto Sartori <alberto.sartori@huawei.com> | 2023-11-15 20:19:18 +0100 |
commit | 3930fa41a1f43e90e2663d0ba40691647655ec6c (patch) | |
tree | e3a0b4fce8068fcc0d45e2d6873e52b04e874ab5 /test/buildtool/common/artifact_object_info.test.cpp | |
parent | f81bf5601b29e447613d8d365ca7cf55fab1b6c7 (diff) | |
download | justbuild-3930fa41a1f43e90e2663d0ba40691647655ec6c.tar.gz |
artifact.hpp: make ToJson and FromJson consistent
The function ToJson used `file_type` key to express the type of the
artifact, on the other hand, FromJson was expecting `type`.
This patch makes the two functions consistent, prefering `file_type`
for historical reasons.
Diffstat (limited to 'test/buildtool/common/artifact_object_info.test.cpp')
-rw-r--r-- | test/buildtool/common/artifact_object_info.test.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/test/buildtool/common/artifact_object_info.test.cpp b/test/buildtool/common/artifact_object_info.test.cpp new file mode 100644 index 00000000..fde2e506 --- /dev/null +++ b/test/buildtool/common/artifact_object_info.test.cpp @@ -0,0 +1,32 @@ +// Copyright 2022 Huawei Cloud Computing Technology Co., Ltd. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "catch2/catch_test_macros.hpp" +#include "src/buildtool/common/artifact.hpp" + +TEST_CASE("Consistency check for serialization and de-serialization", + "[object_info]") { + + auto empty_blob = Artifact::ObjectInfo{ + .digest = + ArtifactDigest{ + "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", 0, false}, + .type = ObjectType::File}; + + auto x = empty_blob.ToJson().dump(); + + auto read = Artifact::ObjectInfo::FromJson(nlohmann::json::parse(x)); + REQUIRE(read.has_value()); + CHECK(*read == empty_blob); +} |