@@ -539,6 +539,28 @@ TEST_F(ProjMgrRpcTests, RpcResolveComponents) {
539539 EXPECT_FALSE (responses[4 ][" result" ].contains (" validation" ));
540540}
541541
542+ TEST_F (ProjMgrRpcTests, RpcGetComponentsTree) {
543+ string context = " selectable+CM0" ;
544+ vector<string> contextList = {
545+ context
546+ };
547+ string csolution = " /Validation/dependencies.csolution.yml" ;
548+ auto requests = CreateLoadRequests (csolution, " " , contextList);
549+ requests += FormatRequest (3 , " GetComponentsTree" , json ({{ " context" , context }, {" all" , true }}));
550+ requests += FormatRequest (4 , " GetComponentsTree" , json ({{ " context" , context }, {" all" , false }}));
551+ requests += FormatRequest (5 , " LoadSolution" , json ({{ " solution" , testinput_folder + csolution }, { " activeTarget" , " " }}));
552+ requests += FormatRequest (6 , " GetComponentsTree" , json ({{ " context" , context }, {" all" , true }}));
553+
554+ const auto & responses = RunRpcMethods (requests);
555+
556+ auto size3 = responses[2 ][" result" ][" classes" ].size ();
557+ auto size4 = responses[3 ][" result" ][" classes" ].size ();
558+ auto size6 = responses[5 ][" result" ][" classes" ].size ();
559+ EXPECT_TRUE (size3 > size4); // there are more components in all packs that in packs listed in solution
560+ EXPECT_EQ (size3, size6); // after solution reload, all components can be requested
561+ }
562+
563+
542564TEST_F (ProjMgrRpcTests, RpcSelectComponent) {
543565 string context = " selectable+CM0" ;
544566 vector<string> contextList = {
0 commit comments