32TEST(ResourceCatalogTest, RomSchemaExposesActionsAndMetadata) {
34 auto rom_schema = catalog.GetResource(
"rom");
35 ASSERT_TRUE(rom_schema.ok());
37 const auto& actions = rom_schema->actions;
38 ASSERT_EQ(actions.size(), 3);
39 EXPECT_EQ(actions[0].name,
"validate");
40 EXPECT_FALSE(actions[0].effects.empty());
41 EXPECT_FALSE(actions[0].returns.empty());
42 EXPECT_EQ(actions[1].name,
"diff");
43 EXPECT_EQ(actions[2].name,
"generate-golden");
46TEST(ResourceCatalogTest, PatchSchemaIncludesAsarAndCreateActions) {
48 auto patch_schema = catalog.GetResource(
"patch");
49 ASSERT_TRUE(patch_schema.ok());
51 const auto& actions = patch_schema->actions;
52 ASSERT_GE(actions.size(), 3);
53 EXPECT_EQ(actions[0].name,
"apply");
54 EXPECT_FALSE(actions[0].returns.empty());
56 auto has_asar = std::find_if(actions.begin(), actions.end(), [](
const auto& action) {
57 return action.name ==
"apply-asar";
59 EXPECT_NE(has_asar, actions.end());
61 auto has_create = std::find_if(actions.begin(), actions.end(), [](
const auto& action) {
62 return action.name ==
"create";
64 EXPECT_NE(has_create, actions.end());
67TEST(ResourceCatalogTest, DungeonSchemaListsMetadataAndObjectsReturns) {
69 auto dungeon_schema = catalog.GetResource(
"dungeon");
70 ASSERT_TRUE(dungeon_schema.ok());
72 const auto& actions = dungeon_schema->actions;
73 ASSERT_EQ(actions.size(), 2);
74 EXPECT_EQ(actions[0].name,
"export");
75 EXPECT_FALSE(actions[0].returns.empty());
76 EXPECT_EQ(actions[1].name,
"list-objects");
77 EXPECT_FALSE(actions[1].returns.empty());