@@ -1182,6 +1182,56 @@ TEST_F(ProjMgrRpcTests, RpcGetPacksInfoLayer) {
11821182}
11831183
11841184
1185+ TEST_F (ProjMgrRpcTests, RpcGetPacksInfoLocal) {
1186+ string context = " incompatible.Debug+CM0" ;
1187+ vector<string> contextList = {
1188+ context
1189+ };
1190+
1191+ auto requests = CreateLoadRequests (" /TestSolution/PackRequirements/incompatible.csolution.yml" , " " , contextList);
1192+ requests += FormatRequest (3 , " GetUsedItems" , json ({{ " context" , context }}));
1193+ requests += FormatRequest (4 , " GetPacksInfo" , json ({{ " context" , context }, {" all" , false }}));
1194+
1195+ const auto & responses = RunRpcMethods (requests);
1196+
1197+ EXPECT_TRUE (responses[2 ][" result" ][" success" ]);
1198+ auto packs = responses[2 ][" result" ][" packs" ];
1199+ EXPECT_EQ (packs.size (), 2 );
1200+ EXPECT_EQ (packs[0 ][" pack" ], " ARM::RteTestRequired" );
1201+ EXPECT_EQ (packs[0 ][" resolvedPack" ], " ARM::RteTestRequired" );
1202+
1203+ string path = packs[0 ][" path" ];
1204+ RteUtils::ReplaceAll (path, testinput_folder, " TEST" ); ;
1205+ EXPECT_EQ (path, " TEST/TestSolution/PackRequirements/packs/required" );
1206+ EXPECT_EQ (RteUtils::ExtractFileName (packs[0 ][" origin" ]), " incompatible.csolution.yml" );
1207+
1208+ EXPECT_EQ (packs[1 ][" pack" ], " ARM::RteTest_DFP@0.2.0" );
1209+ EXPECT_EQ (packs[1 ][" resolvedPack" ], " ARM::RteTest_DFP@0.2.0" );
1210+ EXPECT_EQ (RteUtils::ExtractFileName (packs[1 ][" origin" ]), " incompatible.csolution.yml" );
1211+
1212+ EXPECT_TRUE (responses[3 ][" result" ][" success" ]); // get pack infos
1213+ auto packInfos = responses[3 ][" result" ][" packs" ];
1214+ EXPECT_EQ (packInfos.size (), 2 );
1215+
1216+ EXPECT_EQ (packInfos[0 ][" id" ], " ARM::RteTestRequired@1.0.0" );
1217+ EXPECT_FALSE (packInfos[0 ].contains (" used" ));
1218+ auto refs = packInfos[0 ][" references" ];
1219+ EXPECT_EQ (refs.size (), 1 );
1220+ EXPECT_TRUE (refs[0 ].contains (" path" ));
1221+
1222+ path = refs[0 ][" path" ];
1223+ RteUtils::ReplaceAll (path, testinput_folder, " TEST" );
1224+
1225+ EXPECT_EQ (refs[0 ][" pack" ], " ARM::RteTestRequired" );
1226+ EXPECT_EQ (refs[0 ][" resolvedPack" ], " ARM::RteTestRequired" );
1227+ EXPECT_EQ (path, " TEST/TestSolution/PackRequirements/packs/required" );
1228+
1229+ EXPECT_EQ (packInfos[1 ][" id" ], " ARM::RteTest_DFP@0.2.0" );
1230+ EXPECT_TRUE (packInfos[1 ].contains (" used" ));
1231+ refs = packInfos[1 ][" references" ];
1232+ EXPECT_EQ (refs.size (),1 );
1233+ EXPECT_FALSE (refs[1 ].contains (" path" ));
1234+ }
11851235
11861236TEST_F (ProjMgrRpcTests, RpcSelectPack) {
11871237 string context = " test1.Release+CM0" ;
0 commit comments