Where or how can I find what interfaces an out of the box Apex class implements?Test Queueable Apex: Methods defined as TestMethod do not support Web service callouts, test skippedHitting system limits with my testClassThe Apex class 'ParkLocator' does not appear to be calling the SOAP endpointREST integration and testTest class is creating ApexAsyncJob recordsattempt to de-reference null object in test classTesting future callout methodHow to deserialize into interface type when concrete type is unknownUsing ApexMocks for a class that implements Queueable InterfaceHow to test Database.Error piece code in the Scheduled job (Apex class implements Schedulable)

Why does the autopilot disengage even when it does not receive pilot input?

Do native speakers use ZVE or CPU?

What's a moment that's more impactful on a reread called?

Is Arc Length always irrational between two rational points?

During copyediting, journal disagrees about spelling of paper's main topic

What is temperature on a quantum level

The monorail explodes before I can get on it

Correct use of ergeben?

Keep milk (or milk alternative) for a day without a fridge

Why are Hobbits so fond of mushrooms?

Would letting a multiclass character rebuild their character to be single-classed be game-breaking?

Why do players in the past play much longer tournaments than today's top players?

Credit union holding car note, refuses to provide details of how payments have been applied

Dropping outliers based on "2.5 times the RMSE"

Repeating redundant information after dialogues, to avoid or not?

If a specific mass of air is polluted, will the pollution stick with it?

<schwitz>, <zwinker> etc. Does German always use 2nd Person Singular Imperative verbs for emoticons? If so, why?

How the name "craqueuhhe" is read

Is `curl something | sudo bash -` a reasonably safe installation method?

diff shows a file that does not exist

Optimising Table wrapping over a Select

Does Google Maps take into account hills/inclines for route times?

As the Dungeon Master, how do I handle a player that insists on a specific class when I already know that choice will cause issues?

I have a ruthless DM and I'm considering leaving the party. What are my options to minimize the negative impact to the rest of the group?



Where or how can I find what interfaces an out of the box Apex class implements?


Test Queueable Apex: Methods defined as TestMethod do not support Web service callouts, test skippedHitting system limits with my testClassThe Apex class 'ParkLocator' does not appear to be calling the SOAP endpointREST integration and testTest class is creating ApexAsyncJob recordsattempt to de-reference null object in test classTesting future callout methodHow to deserialize into interface type when concrete type is unknownUsing ApexMocks for a class that implements Queueable InterfaceHow to test Database.Error piece code in the Scheduled job (Apex class implements Schedulable)






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








2















Is there a method of discovering (or a place to look up) all of the interfaces that an out of the box Salesforce class (Like LoginHistory) implements?



The reason I ask:
I'm attempting to test a method which interacts with a LoginHistory object that's passed in as a parameter. The method accesses the UserId and LoginTime fields on the object. Salesforce won't allow me to new up this object and assign values to these properties for my test. If the object's class implements an interface, I think I could create a mock object from it use it instead for this testing.



Is there a better solution to my problem?










share|improve this question




























    2















    Is there a method of discovering (or a place to look up) all of the interfaces that an out of the box Salesforce class (Like LoginHistory) implements?



    The reason I ask:
    I'm attempting to test a method which interacts with a LoginHistory object that's passed in as a parameter. The method accesses the UserId and LoginTime fields on the object. Salesforce won't allow me to new up this object and assign values to these properties for my test. If the object's class implements an interface, I think I could create a mock object from it use it instead for this testing.



    Is there a better solution to my problem?










    share|improve this question
























      2












      2








      2








      Is there a method of discovering (or a place to look up) all of the interfaces that an out of the box Salesforce class (Like LoginHistory) implements?



      The reason I ask:
      I'm attempting to test a method which interacts with a LoginHistory object that's passed in as a parameter. The method accesses the UserId and LoginTime fields on the object. Salesforce won't allow me to new up this object and assign values to these properties for my test. If the object's class implements an interface, I think I could create a mock object from it use it instead for this testing.



      Is there a better solution to my problem?










      share|improve this question














      Is there a method of discovering (or a place to look up) all of the interfaces that an out of the box Salesforce class (Like LoginHistory) implements?



      The reason I ask:
      I'm attempting to test a method which interacts with a LoginHistory object that's passed in as a parameter. The method accesses the UserId and LoginTime fields on the object. Salesforce won't allow me to new up this object and assign values to these properties for my test. If the object's class implements an interface, I think I could create a mock object from it use it instead for this testing.



      Is there a better solution to my problem?







      apex unit-test class interface apexmock






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 10 hours ago









      SF1DevSF1Dev

      4535 silver badges19 bronze badges




      4535 silver badges19 bronze badges




















          1 Answer
          1






          active

          oldest

          votes


















          7














          sObject classes don't implement interfaces at all. Unfortunately, that won't be a viable solution here.



          One very common solution to this issue (needing to create an object and populate non-writeable fields) is JSON deserialization. It's viable here; an example:



          LoginHistory l;

          l = (LoginHistory)JSON.deserialize(
          '"UserId": "'+UserInfo.getUserId()+'", "LoginTime": ' + JSON.serialize(DateTime.now()) + '',
          LoginHistory.class
          );

          System.debug(l);


          This works for a wide variety of objects you cannot otherwise construct or populate, although it might require some experimentation to get it just right. The pattern is the same: you construct some JSON string representing the object's properties and deserialize it, giving the class of the desired object.






          share|improve this answer

























            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%2f269293%2fwhere-or-how-can-i-find-what-interfaces-an-out-of-the-box-apex-class-implements%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









            7














            sObject classes don't implement interfaces at all. Unfortunately, that won't be a viable solution here.



            One very common solution to this issue (needing to create an object and populate non-writeable fields) is JSON deserialization. It's viable here; an example:



            LoginHistory l;

            l = (LoginHistory)JSON.deserialize(
            '"UserId": "'+UserInfo.getUserId()+'", "LoginTime": ' + JSON.serialize(DateTime.now()) + '',
            LoginHistory.class
            );

            System.debug(l);


            This works for a wide variety of objects you cannot otherwise construct or populate, although it might require some experimentation to get it just right. The pattern is the same: you construct some JSON string representing the object's properties and deserialize it, giving the class of the desired object.






            share|improve this answer



























              7














              sObject classes don't implement interfaces at all. Unfortunately, that won't be a viable solution here.



              One very common solution to this issue (needing to create an object and populate non-writeable fields) is JSON deserialization. It's viable here; an example:



              LoginHistory l;

              l = (LoginHistory)JSON.deserialize(
              '"UserId": "'+UserInfo.getUserId()+'", "LoginTime": ' + JSON.serialize(DateTime.now()) + '',
              LoginHistory.class
              );

              System.debug(l);


              This works for a wide variety of objects you cannot otherwise construct or populate, although it might require some experimentation to get it just right. The pattern is the same: you construct some JSON string representing the object's properties and deserialize it, giving the class of the desired object.






              share|improve this answer

























                7












                7








                7







                sObject classes don't implement interfaces at all. Unfortunately, that won't be a viable solution here.



                One very common solution to this issue (needing to create an object and populate non-writeable fields) is JSON deserialization. It's viable here; an example:



                LoginHistory l;

                l = (LoginHistory)JSON.deserialize(
                '"UserId": "'+UserInfo.getUserId()+'", "LoginTime": ' + JSON.serialize(DateTime.now()) + '',
                LoginHistory.class
                );

                System.debug(l);


                This works for a wide variety of objects you cannot otherwise construct or populate, although it might require some experimentation to get it just right. The pattern is the same: you construct some JSON string representing the object's properties and deserialize it, giving the class of the desired object.






                share|improve this answer













                sObject classes don't implement interfaces at all. Unfortunately, that won't be a viable solution here.



                One very common solution to this issue (needing to create an object and populate non-writeable fields) is JSON deserialization. It's viable here; an example:



                LoginHistory l;

                l = (LoginHistory)JSON.deserialize(
                '"UserId": "'+UserInfo.getUserId()+'", "LoginTime": ' + JSON.serialize(DateTime.now()) + '',
                LoginHistory.class
                );

                System.debug(l);


                This works for a wide variety of objects you cannot otherwise construct or populate, although it might require some experimentation to get it just right. The pattern is the same: you construct some JSON string representing the object's properties and deserialize it, giving the class of the desired object.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 9 hours ago









                David ReedDavid Reed

                47.2k8 gold badges27 silver badges65 bronze badges




                47.2k8 gold badges27 silver badges65 bronze badges



























                    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.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f269293%2fwhere-or-how-can-i-find-what-interfaces-an-out-of-the-box-apex-class-implements%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

                    Invision Community Contents History See also References External links Navigation menuProprietaryinvisioncommunity.comIPS Community ForumsIPS Community Forumsthis blog entry"License Changes, IP.Board 3.4, and the Future""Interview -- Matt Mecham of Ibforums""CEO Invision Power Board, Matt Mecham Is a Liar, Thief!"IPB License Explanation 1.3, 1.3.1, 2.0, and 2.1ArchivedSecurity Fixes, Updates And Enhancements For IPB 1.3.1Archived"New Demo Accounts - Invision Power Services"the original"New Default Skin"the original"Invision Power Board 3.0.0 and Applications Released"the original"Archived copy"the original"Perpetual licenses being done away with""Release Notes - Invision Power Services""Introducing: IPS Community Suite 4!"Invision Community Release Notes

                    Canceling a color specificationRandomly assigning color to Graphics3D objects?Default color for Filling in Mathematica 9Coloring specific elements of sets with a prime modified order in an array plotHow to pick a color differing significantly from the colors already in a given color list?Detection of the text colorColor numbers based on their valueCan color schemes for use with ColorData include opacity specification?My dynamic color schemes

                    Ласкавець круглолистий Зміст Опис | Поширення | Галерея | Примітки | Посилання | Навігаційне меню58171138361-22960890446Bupleurum rotundifoliumEuro+Med PlantbasePlants of the World Online — Kew ScienceGermplasm Resources Information Network (GRIN)Ласкавецькн. VI : Літери Ком — Левиправивши або дописавши її