JD2022-TU1/main/extern/UbiServices/custom/testsUnit/services/testApplication.cpp

79 lines
2.5 KiB
C++

////////////////////////////////////////////////////////////////////////////////
// (c) Copyright, Ubisoft Entertainment Inc. || Created by Harbour //
////////////////////////////////////////////////////////////////////////////////
#include "tests/config.h"
#if defined(US_SDK_LIGHT_MOBILE)
#error This file shall not be part of the solution
#endif
#include "tests/fixture/memoryCheckFixture.h"
#include <ubiservices/core/JSON/jsonWriter.h>
#include <ubiservices/services/application/applicationInfo.h>
namespace US_NS {;
US_DEFINE_TEST(TestApplication);
typedef LeakChecker UNIT_APPLICATION_METADATA;
#if !defined(US_DLL)
namespace ApplicationInfoPrivate
{
bool extractData(const Json& json, ApplicationInfo& target);
}
TEST_F(UNIT_APPLICATION_METADATA, LOCAL_JsonParsingApplicationInfo)
{
JsonWriter writer;
{
writer["applicationId"] = "11111111-2222-3333-4444-555566667777";
writer["name"] = "dummyName";
writer["platform"] = "dummyPlatform";
writer["spaceId"] = "22222222-3333-4444-5555-666677778888";
writer["overrideResponse"] = "";
}
//Parsing mandatory fields
{
ApplicationInfo appInfo;
EXPECT_TRUE(ApplicationInfoPrivate::extractData(Json(writer.renderContent()), appInfo));
}
//Adding extra fields Optional fields
writer["genre"] = "Genre";
writer["displayName"] = "Display Name";
writer["description"] = "Text Description";
{
ApplicationInfo appInfo;
EXPECT_TRUE(ApplicationInfoPrivate::extractData(Json(writer.renderContent()), appInfo));
}
//Images
JsonWriter imageWritter(JsonWriterType::Object);
imageWritter["lowThumbnail"] = "URL-lowThumbnail";
imageWritter["highThumbnail"] = "URL-highThumbnail";
writer["images"] = imageWritter.getJson();
{
ApplicationInfo appInfo;
EXPECT_TRUE(ApplicationInfoPrivate::extractData(Json(writer.renderContent()), appInfo));
}
//AgeRating
JsonWriter ageRatingWritter(JsonWriterType::Object);
ageRatingWritter["RatingSystem"] = "BBFC";
ageRatingWritter["RatingImage"] = "URL-ratingImage";
JsonWriter descriptorList(JsonWriterType::Array);
descriptorList.addItemToArray("URL-Description-1");
descriptorList.addItemToArray("URL-Description-2");
ageRatingWritter["descriptors"] = descriptorList.getJson();
writer["ageRating"] = ageRatingWritter.getJson();
{
ApplicationInfo appInfo;
EXPECT_TRUE(ApplicationInfoPrivate::extractData(Json(writer.renderContent()), appInfo));
}
}
#endif // US_DLL
};