@@ -100,6 +100,39 @@ private class CustomMetadataServiceTest {
100100 Assert .areEqual (1 , Limits .getDmlRows ());
101101 }
102102
103+ @IsTest
104+ static void testCreateServiceWithoutNamedCred () {
105+ MetadataService .MetadataPort svc = CustomMetadataService .createService ();
106+ Assert .areEqual (URL .getOrgDomainUrl ().toExternalForm (), svc .endpointUrl );
107+ Assert .isTrue (svc .SessionHeader .sessionId .endsWith (' !ApexTestSession' ));
108+ }
109+
110+ @IsTest
111+ static void testCreateServiceWithNullNamedCred () {
112+ DeclarativeLookupRollupSummaries__c settings = DeclarativeLookupRollupSummaries__c .getInstance ();
113+ settings .NamedCredentialForAPI__c = null ;
114+ insert settings ;
115+
116+ System .runAs (new User (Id = UserInfo .getUserId ())) {
117+ MetadataService .MetadataPort svc = CustomMetadataService .createService ();
118+ Assert .areEqual (URL .getOrgDomainUrl ().toExternalForm (), svc .endpointUrl );
119+ Assert .isTrue (svc .SessionHeader .sessionId .endsWith (' !ApexTestSession' ));
120+ }
121+ }
122+
123+ @IsTest
124+ static void testCreateServiceWithNamedCred () {
125+ DeclarativeLookupRollupSummaries__c settings = DeclarativeLookupRollupSummaries__c .getInstance ();
126+ settings .NamedCredentialForAPI__c = ' TestCred' ;
127+ insert settings ;
128+
129+ System .runAs (new User (Id = UserInfo .getUserId ())) {
130+ MetadataService .MetadataPort svc = CustomMetadataService .createService ();
131+ Assert .areEqual (' callout:TestCred' , svc .endpointUrl );
132+ Assert .areEqual (' {!$Credential.OAuthToken}' , svc .SessionHeader .sessionId );
133+ }
134+ }
135+
103136 public class MetadataServiceDeleteSuccessCalloutMock implements WebServiceMock {
104137 public void doInvoke (
105138 Object stub ,
0 commit comments