@@ -590,6 +590,36 @@ TEST_F(ProjMgrRpcTests, RpcSelectVariant) {
590590 EXPECT_EQ (responses[5 ][" result" ][" message" ], " Variant 'undefined' is not found for component ARM::RteTest:Dependency:Variant" ); // variant not found
591591}
592592
593+ TEST_F (ProjMgrRpcTests, RpcSelectBundle) {
594+ string context = " selectable+CM0" ;
595+ vector<string> contextList = {
596+ context
597+ };
598+ json param;
599+ param[" context" ] = context;
600+ param[" cclass" ] = " RteTestBundle" ;
601+ param[" bundle" ] = " BundleTwo" ;
602+
603+ auto requests = CreateLoadRequests (" /Validation/dependencies.csolution.yml" , " " , contextList);
604+ requests += FormatRequest (3 , " SelectBundle" , param);
605+ requests += FormatRequest (4 , " SelectBundle" , param);
606+ param[" bundle" ] = " undefined" ;
607+ requests += FormatRequest (5 , " SelectBundle" , param);
608+ param[" bundle" ] = " " ;
609+ requests += FormatRequest (6 , " SelectBundle" , param);
610+ param[" cclass" ] = " UnknownCclass" ;
611+ requests += FormatRequest (7 , " SelectBundle" , param);
612+
613+ const auto & responses = RunRpcMethods (requests);
614+ EXPECT_TRUE (responses[2 ][" result" ][" success" ]); // bundle changed
615+ EXPECT_FALSE (responses[3 ][" result" ][" success" ]); // bundle not changed
616+ EXPECT_FALSE (responses[4 ][" result" ][" success" ]); // bundle not found
617+ EXPECT_EQ (responses[4 ][" result" ][" message" ], " Bundle 'undefined' is not found for component class 'RteTestBundle'" );
618+ EXPECT_TRUE (responses[5 ][" result" ][" success" ]); // bundle '' found
619+ EXPECT_EQ (responses[6 ][" error" ][" message" ], " UnknownCclass: component class not found" );
620+
621+ }
622+
593623
594624TEST_F (ProjMgrRpcTests, RpcGetUsedItems) {
595625 string context = " selectable+CM0" ;
@@ -732,7 +762,7 @@ TEST_F(ProjMgrRpcTests, RpcConvertSolution) {
732762 EXPECT_TRUE (RteFsUtils::Exists (testinput_folder + " /TestRpc/minimal.cbuild-pack.yml" ));
733763 EXPECT_TRUE (RteFsUtils::Exists (testinput_folder + " /TestRpc/out/minimal+TestHW.cbuild-run.yml" ));
734764 EXPECT_TRUE (RteFsUtils::Exists (testinput_folder + " /TestRpc/out/minimal/TestHW/minimal+TestHW.cbuild.yml" ));
735-
765+
736766 // convert fail
737767 csolutionPath = testinput_folder + " /TestRpc/unknown-component.csolution.yml" ;
738768 requests = FormatRequest (1 , " ConvertSolution" ,
0 commit comments