Sling
  1. Sling
  2. SLING-1437

GSoC project: create more unit and integration tests for Sling and expand test coverage information

    Details

      Description

      Sling already has fairly good test coverage, but there's always room for improvement.

      The goal of this Google Summer of Code project is to create more unit and integration tests for Sling, as well as measure the test coverage that the combination of unit and integration tests provide.

      Interested students are welcome to get in touch with the Sling community via its developers mailing list to discuss the project, see http://sling.apache.org/project-information.html#mailing-lists

      The student will have to get familiar with the Sling codebase, identify areas where tests are missing, write unit and integration tests and submit the results as patches that the Sling committers can verify and hopefully apply.

        Activity

        Hide
        Carsten Ziegeler added a comment -

        In general a gread idea.

        For measuring code coverage in integration tests, it would be cool to have some Sonar integration - the same goes for coverage of script code.

        Show
        Carsten Ziegeler added a comment - In general a gread idea. For measuring code coverage in integration tests, it would be cool to have some Sonar integration - the same goes for coverage of script code.
        Hide
        Ishan somasiri added a comment -

        Hi,
        Is this still available as a GSoC project..?

        Show
        Ishan somasiri added a comment - Hi, Is this still available as a GSoC project..?
        Hide
        Bertrand Delacretaz added a comment -

        If a student has specific skills/interests that match this project we might be able to make it happen in 2012 - best is to contact us via the Sling developer's mailing list, http://sling.apache.org/site/project-information.html#ProjectInformation-lists

        Show
        Bertrand Delacretaz added a comment - If a student has specific skills/interests that match this project we might be able to make it happen in 2012 - best is to contact us via the Sling developer's mailing list, http://sling.apache.org/site/project-information.html#ProjectInformation-lists
        Hide
        Bertrand Delacretaz added a comment -

        I have now added the gsoc2015 label to indicate that this project is available for the 2015 edition.

        Show
        Bertrand Delacretaz added a comment - I have now added the gsoc2015 label to indicate that this project is available for the 2015 edition.
        Hide
        Petr Shypila added a comment - - edited

        Very interested in this task as a part of GSoC.
        Have more than a year experience with Sling+Sling models in Adobe Experience Manager 6(and Sling+Slice models in Adobe CQ 5.5). Also have an experience of writing unit tests for aem6 using wcm.io test framework. So it's not new for me.

        Could you please tell me this ticket priority relative to the others(As I understand not all projects will be applied)

        Show
        Petr Shypila added a comment - - edited Very interested in this task as a part of GSoC. Have more than a year experience with Sling+Sling models in Adobe Experience Manager 6(and Sling+Slice models in Adobe CQ 5.5). Also have an experience of writing unit tests for aem6 using wcm.io test framework. So it's not new for me. Could you please tell me this ticket priority relative to the others(As I understand not all projects will be applied)
        Hide
        Bertrand Delacretaz added a comment -

        There are no specific priorities between the GSoC projects that I'm looking to mentor, the decisions will be based mostly on the student's potential. Having prior experience with Sling is a plus, so I think it makes sense for you to apply. If you are able to start getting involved in Sling before the GSoC selection starts that's even better.

        Show
        Bertrand Delacretaz added a comment - There are no specific priorities between the GSoC projects that I'm looking to mentor, the decisions will be based mostly on the student's potential. Having prior experience with Sling is a plus, so I think it makes sense for you to apply. If you are able to start getting involved in Sling before the GSoC selection starts that's even better.
        Hide
        Petr Shypila added a comment - - edited

        Bertrand,

        Thank you for your reply. Of course I'm ready to start before GSoC selection starts to show you some examples of my work. I've just forked Sling on Github and have a few questions:
        1. Are there some components on which I should concentrate and investigate more than on other?
        2. Few weeks ago I found a problem with Adaptable.adaptTo() method in a test scope. For example:

        ResourceResolver r = MockSling.newResourceResolver();
        com.adobe.granite.asset.AssetManager a = r.adaptTo(AssetManager.class); //Returns null
        

        And I have same problem with wcm.io library:

        io.wcm.testing.mock.aem.junit.AemContext context = new AemContext();
        ResourceResolver r = context.resourceResolver();
        com.adobe.granite.asset.AssetManager a = r.adaptTo(AssetManager.class); //Also returns null
        

        And I have the pretty same problems with adapting of resources in a test scope. I didn't investigate why yet, but probably I also can do some stuff here?

        Best,
        Petr

        Show
        Petr Shypila added a comment - - edited Bertrand, Thank you for your reply. Of course I'm ready to start before GSoC selection starts to show you some examples of my work. I've just forked Sling on Github and have a few questions: 1. Are there some components on which I should concentrate and investigate more than on other? 2. Few weeks ago I found a problem with Adaptable.adaptTo() method in a test scope. For example: ResourceResolver r = MockSling.newResourceResolver(); com.adobe.granite.asset.AssetManager a = r.adaptTo(AssetManager.class); //Returns null And I have same problem with wcm.io library: io.wcm.testing.mock.aem.junit.AemContext context = new AemContext(); ResourceResolver r = context.resourceResolver(); com.adobe.granite.asset.AssetManager a = r.adaptTo(AssetManager.class); //Also returns null And I have the pretty same problems with adapting of resources in a test scope. I didn't investigate why yet, but probably I also can do some stuff here? Best, Petr
        Hide
        Bertrand Delacretaz added a comment -

        Please ask on our dev list about those things, preferable one thread per question.

        Show
        Bertrand Delacretaz added a comment - Please ask on our dev list about those things, preferable one thread per question.
        Hide
        Petr Shypila added a comment -

        The second question, which I've wrote above, is no longer needed.
        As I understand, the implementations of these interfaces are provided by AEM. So on a test phase these classes are not available.

        Show
        Petr Shypila added a comment - The second question, which I've wrote above, is no longer needed. As I understand, the implementations of these interfaces are provided by AEM. So on a test phase these classes are not available.

          People

          • Assignee:
            Unassigned
            Reporter:
            Bertrand Delacretaz
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:

              Development