Org Wide Sharing Settings on Sandbox Creation












2














I have some Apex test methods that check creation of records in the ContactShare object. They work well in the Sandbox orgs that are already created. However, whenever I create a new Sandbox they always fail until I "switch on and off" private security model. Has anyone else seen this?










share|improve this question



























    2














    I have some Apex test methods that check creation of records in the ContactShare object. They work well in the Sandbox orgs that are already created. However, whenever I create a new Sandbox they always fail until I "switch on and off" private security model. Has anyone else seen this?










    share|improve this question

























      2












      2








      2


      1





      I have some Apex test methods that check creation of records in the ContactShare object. They work well in the Sandbox orgs that are already created. However, whenever I create a new Sandbox they always fail until I "switch on and off" private security model. Has anyone else seen this?










      share|improve this question













      I have some Apex test methods that check creation of records in the ContactShare object. They work well in the Sandbox orgs that are already created. However, whenever I create a new Sandbox they always fail until I "switch on and off" private security model. Has anyone else seen this?







      sandbox org-wide-defaults






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 6 hours ago









      Bryan Anderson

      313




      313






















          1 Answer
          1






          active

          oldest

          votes


















          3














          Some objects in salesforce are created only when few configurations exist .You are running into similar scenario . ContactShare exists only if you have the private sharing model turned on .



          To avoid failure of the test classes your code can check for its existence using the below method



          Type contactShare = Type.forName('ContactShare');
          if(contactShare != null){
          //contact share exists
          }


          Update



          It looks like record creation fails and switching from private to public and then to private again fixes the test classes .Sounds like a bug at first glance .






          share|improve this answer























          • Hey Mohith (hope all is going well at CS, miss you guys). This isn't about the object missing, the object is there, its about the creation of certain records in the actual object itself.
            – Bryan Anderson
            6 hours ago












          • Ah yes ! I see ok certain types of record will obviously fail because of the public model .The share records sometimes makes sense only on private sharing model. Best way is to add try and catch around record creation and do an error handling .
            – Mohith Shrivastava
            6 hours ago






          • 1




            It's not even that. So what happens is, I am expecting a certain UserOrGroupId, ContactId combination to be there in the test method. Again, this works in well established sandboxes. However, when I spin up a new one, the test fails. It only begins to work when I switch from Private to Public, and then back to Private.
            – Bryan Anderson
            6 hours ago










          • I see , sounds like a candidate for salesforce case .I would also take a metadata extract of new sandbox and then extract once you do switch (private to public to private) and compare them to see what extra gets added .
            – Mohith Shrivastava
            6 hours ago






          • 1




            Agreed, as for the metadata, it is exactly the same (tracking via Git).
            – Bryan Anderson
            6 hours ago











          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "459"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f244680%2forg-wide-sharing-settings-on-sandbox-creation%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          3














          Some objects in salesforce are created only when few configurations exist .You are running into similar scenario . ContactShare exists only if you have the private sharing model turned on .



          To avoid failure of the test classes your code can check for its existence using the below method



          Type contactShare = Type.forName('ContactShare');
          if(contactShare != null){
          //contact share exists
          }


          Update



          It looks like record creation fails and switching from private to public and then to private again fixes the test classes .Sounds like a bug at first glance .






          share|improve this answer























          • Hey Mohith (hope all is going well at CS, miss you guys). This isn't about the object missing, the object is there, its about the creation of certain records in the actual object itself.
            – Bryan Anderson
            6 hours ago












          • Ah yes ! I see ok certain types of record will obviously fail because of the public model .The share records sometimes makes sense only on private sharing model. Best way is to add try and catch around record creation and do an error handling .
            – Mohith Shrivastava
            6 hours ago






          • 1




            It's not even that. So what happens is, I am expecting a certain UserOrGroupId, ContactId combination to be there in the test method. Again, this works in well established sandboxes. However, when I spin up a new one, the test fails. It only begins to work when I switch from Private to Public, and then back to Private.
            – Bryan Anderson
            6 hours ago










          • I see , sounds like a candidate for salesforce case .I would also take a metadata extract of new sandbox and then extract once you do switch (private to public to private) and compare them to see what extra gets added .
            – Mohith Shrivastava
            6 hours ago






          • 1




            Agreed, as for the metadata, it is exactly the same (tracking via Git).
            – Bryan Anderson
            6 hours ago
















          3














          Some objects in salesforce are created only when few configurations exist .You are running into similar scenario . ContactShare exists only if you have the private sharing model turned on .



          To avoid failure of the test classes your code can check for its existence using the below method



          Type contactShare = Type.forName('ContactShare');
          if(contactShare != null){
          //contact share exists
          }


          Update



          It looks like record creation fails and switching from private to public and then to private again fixes the test classes .Sounds like a bug at first glance .






          share|improve this answer























          • Hey Mohith (hope all is going well at CS, miss you guys). This isn't about the object missing, the object is there, its about the creation of certain records in the actual object itself.
            – Bryan Anderson
            6 hours ago












          • Ah yes ! I see ok certain types of record will obviously fail because of the public model .The share records sometimes makes sense only on private sharing model. Best way is to add try and catch around record creation and do an error handling .
            – Mohith Shrivastava
            6 hours ago






          • 1




            It's not even that. So what happens is, I am expecting a certain UserOrGroupId, ContactId combination to be there in the test method. Again, this works in well established sandboxes. However, when I spin up a new one, the test fails. It only begins to work when I switch from Private to Public, and then back to Private.
            – Bryan Anderson
            6 hours ago










          • I see , sounds like a candidate for salesforce case .I would also take a metadata extract of new sandbox and then extract once you do switch (private to public to private) and compare them to see what extra gets added .
            – Mohith Shrivastava
            6 hours ago






          • 1




            Agreed, as for the metadata, it is exactly the same (tracking via Git).
            – Bryan Anderson
            6 hours ago














          3












          3








          3






          Some objects in salesforce are created only when few configurations exist .You are running into similar scenario . ContactShare exists only if you have the private sharing model turned on .



          To avoid failure of the test classes your code can check for its existence using the below method



          Type contactShare = Type.forName('ContactShare');
          if(contactShare != null){
          //contact share exists
          }


          Update



          It looks like record creation fails and switching from private to public and then to private again fixes the test classes .Sounds like a bug at first glance .






          share|improve this answer














          Some objects in salesforce are created only when few configurations exist .You are running into similar scenario . ContactShare exists only if you have the private sharing model turned on .



          To avoid failure of the test classes your code can check for its existence using the below method



          Type contactShare = Type.forName('ContactShare');
          if(contactShare != null){
          //contact share exists
          }


          Update



          It looks like record creation fails and switching from private to public and then to private again fixes the test classes .Sounds like a bug at first glance .







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 6 hours ago

























          answered 6 hours ago









          Mohith Shrivastava

          59.7k795137




          59.7k795137












          • Hey Mohith (hope all is going well at CS, miss you guys). This isn't about the object missing, the object is there, its about the creation of certain records in the actual object itself.
            – Bryan Anderson
            6 hours ago












          • Ah yes ! I see ok certain types of record will obviously fail because of the public model .The share records sometimes makes sense only on private sharing model. Best way is to add try and catch around record creation and do an error handling .
            – Mohith Shrivastava
            6 hours ago






          • 1




            It's not even that. So what happens is, I am expecting a certain UserOrGroupId, ContactId combination to be there in the test method. Again, this works in well established sandboxes. However, when I spin up a new one, the test fails. It only begins to work when I switch from Private to Public, and then back to Private.
            – Bryan Anderson
            6 hours ago










          • I see , sounds like a candidate for salesforce case .I would also take a metadata extract of new sandbox and then extract once you do switch (private to public to private) and compare them to see what extra gets added .
            – Mohith Shrivastava
            6 hours ago






          • 1




            Agreed, as for the metadata, it is exactly the same (tracking via Git).
            – Bryan Anderson
            6 hours ago


















          • Hey Mohith (hope all is going well at CS, miss you guys). This isn't about the object missing, the object is there, its about the creation of certain records in the actual object itself.
            – Bryan Anderson
            6 hours ago












          • Ah yes ! I see ok certain types of record will obviously fail because of the public model .The share records sometimes makes sense only on private sharing model. Best way is to add try and catch around record creation and do an error handling .
            – Mohith Shrivastava
            6 hours ago






          • 1




            It's not even that. So what happens is, I am expecting a certain UserOrGroupId, ContactId combination to be there in the test method. Again, this works in well established sandboxes. However, when I spin up a new one, the test fails. It only begins to work when I switch from Private to Public, and then back to Private.
            – Bryan Anderson
            6 hours ago










          • I see , sounds like a candidate for salesforce case .I would also take a metadata extract of new sandbox and then extract once you do switch (private to public to private) and compare them to see what extra gets added .
            – Mohith Shrivastava
            6 hours ago






          • 1




            Agreed, as for the metadata, it is exactly the same (tracking via Git).
            – Bryan Anderson
            6 hours ago
















          Hey Mohith (hope all is going well at CS, miss you guys). This isn't about the object missing, the object is there, its about the creation of certain records in the actual object itself.
          – Bryan Anderson
          6 hours ago






          Hey Mohith (hope all is going well at CS, miss you guys). This isn't about the object missing, the object is there, its about the creation of certain records in the actual object itself.
          – Bryan Anderson
          6 hours ago














          Ah yes ! I see ok certain types of record will obviously fail because of the public model .The share records sometimes makes sense only on private sharing model. Best way is to add try and catch around record creation and do an error handling .
          – Mohith Shrivastava
          6 hours ago




          Ah yes ! I see ok certain types of record will obviously fail because of the public model .The share records sometimes makes sense only on private sharing model. Best way is to add try and catch around record creation and do an error handling .
          – Mohith Shrivastava
          6 hours ago




          1




          1




          It's not even that. So what happens is, I am expecting a certain UserOrGroupId, ContactId combination to be there in the test method. Again, this works in well established sandboxes. However, when I spin up a new one, the test fails. It only begins to work when I switch from Private to Public, and then back to Private.
          – Bryan Anderson
          6 hours ago




          It's not even that. So what happens is, I am expecting a certain UserOrGroupId, ContactId combination to be there in the test method. Again, this works in well established sandboxes. However, when I spin up a new one, the test fails. It only begins to work when I switch from Private to Public, and then back to Private.
          – Bryan Anderson
          6 hours ago












          I see , sounds like a candidate for salesforce case .I would also take a metadata extract of new sandbox and then extract once you do switch (private to public to private) and compare them to see what extra gets added .
          – Mohith Shrivastava
          6 hours ago




          I see , sounds like a candidate for salesforce case .I would also take a metadata extract of new sandbox and then extract once you do switch (private to public to private) and compare them to see what extra gets added .
          – Mohith Shrivastava
          6 hours ago




          1




          1




          Agreed, as for the metadata, it is exactly the same (tracking via Git).
          – Bryan Anderson
          6 hours ago




          Agreed, as for the metadata, it is exactly the same (tracking via Git).
          – Bryan Anderson
          6 hours ago


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Salesforce Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f244680%2forg-wide-sharing-settings-on-sandbox-creation%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          What visual should I use to simply compare current year value vs last year in Power BI desktop

          How to ignore python UserWarning in pytest?

          Alexandru Averescu