79 lines
2.5 KiB
C++
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
|
|
|
|
};
|