Org Wide Sharing Settings on Sandbox Creation
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
add a comment |
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
add a comment |
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
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
sandbox org-wide-defaults
asked Dec 26 '18 at 17:04
Bryan AndersonBryan Anderson
313
313
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
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 .
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
Dec 26 '18 at 17:27
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
Dec 26 '18 at 17:30
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
Dec 26 '18 at 17:32
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
Dec 26 '18 at 17:35
1
Agreed, as for the metadata, it is exactly the same (tracking via Git).
– Bryan Anderson
Dec 26 '18 at 17:36
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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 .
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
Dec 26 '18 at 17:27
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
Dec 26 '18 at 17:30
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
Dec 26 '18 at 17:32
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
Dec 26 '18 at 17:35
1
Agreed, as for the metadata, it is exactly the same (tracking via Git).
– Bryan Anderson
Dec 26 '18 at 17:36
add a comment |
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 .
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
Dec 26 '18 at 17:27
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
Dec 26 '18 at 17:30
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
Dec 26 '18 at 17:32
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
Dec 26 '18 at 17:35
1
Agreed, as for the metadata, it is exactly the same (tracking via Git).
– Bryan Anderson
Dec 26 '18 at 17:36
add a comment |
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 .
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 .
edited Dec 26 '18 at 17:36
answered Dec 26 '18 at 17:20
Mohith ShrivastavaMohith Shrivastava
61.3k7102145
61.3k7102145
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
Dec 26 '18 at 17:27
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
Dec 26 '18 at 17:30
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
Dec 26 '18 at 17:32
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
Dec 26 '18 at 17:35
1
Agreed, as for the metadata, it is exactly the same (tracking via Git).
– Bryan Anderson
Dec 26 '18 at 17:36
add a comment |
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
Dec 26 '18 at 17:27
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
Dec 26 '18 at 17:30
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
Dec 26 '18 at 17:32
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
Dec 26 '18 at 17:35
1
Agreed, as for the metadata, it is exactly the same (tracking via Git).
– Bryan Anderson
Dec 26 '18 at 17:36
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
Dec 26 '18 at 17:27
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
Dec 26 '18 at 17:27
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
Dec 26 '18 at 17:30
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
Dec 26 '18 at 17:30
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
Dec 26 '18 at 17:32
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
Dec 26 '18 at 17:32
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
Dec 26 '18 at 17:35
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
Dec 26 '18 at 17:35
1
1
Agreed, as for the metadata, it is exactly the same (tracking via Git).
– Bryan Anderson
Dec 26 '18 at 17:36
Agreed, as for the metadata, it is exactly the same (tracking via Git).
– Bryan Anderson
Dec 26 '18 at 17:36
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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