From 3930fa41a1f43e90e2663d0ba40691647655ec6c Mon Sep 17 00:00:00 2001 From: Alberto Sartori Date: Wed, 8 Nov 2023 17:38:00 +0100 Subject: 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. --- .../buildtool/common/artifact_object_info.test.cpp | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 test/buildtool/common/artifact_object_info.test.cpp (limited to 'test/buildtool/common/artifact_object_info.test.cpp') 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); +} -- cgit v1.2.3