Internship Diaries: 1st contribution to Wso2 Identity Server
I had a dream to work for a company like Wso2 and learn a many things and improve my professional skills. Fortunately I have been working as an intern for the past 2 weeks now. I had to start work from home because of the Covid-19 pandemic situation. I was little sad of missing the company premises , But work from home also a really good experience for me. After a week-long orientation program, I had to choose a project and I got two mentors who really supportive. In the 2nd week I went through the Wso2 IS product and learned it. I’m now in the 3rd week of my internship. Before making contributions I had to understand the current product architectures and frameworks. It was a little hard for me. but with the support of my mentors, I was able to understand those things.
Then I was assigned to an issue in the product-is. Initially I got fully confused because I never work with such enterprise level products. But I got to understand the issue with the guidance and directions of mentors.
The Issue I was assigned was to write test cases for SCIM2 pagination tests. The SCIM API can be called in order to perform various tasks in the WSO2 Identity Server. For simplicity, cURL commands are used to send CRUD requests to the REST endpoints of Identity Server. WSO2 Identity server supports inbound provisioning based on both SCIM 1.1 and SCIM 2.0. Inbound provisioning means provisions users or groups into the WSO2 Identity Server by an external application. These external applications are referred to as service providers. WSO2 Identity Server supports the SCIM API and SOAP-based Web service APIstandards for inbound provisioning.First I gone through the SCIM2 documentation and tested SCIM2 REST APIs to get an understanding. (https://is.docs.wso2.com/en/5.11.0/develop/scim2-rest-apis/)
I have gone through the current test implementations and tried to implement new test cases. I had only a simple understanding about test frameworks but I learned a lot from exploring and referring the implementation of those tests. I learned to work with testng and implement better test cases. One time I blocked with an error and I asked from the mentors and my intern colleagues for help. They were so kind enough to spend their time for helping me. The errors I got because of mistakenly added multiple admin configurations for the data provider .So that I couldn’t able to pass my test cases. I finally figured out it and successfully build with test cases. Today I have commit new test cases and send a pull request to product-is. Although this is a small contribution, I am happy to contribute to it and it’s a really amazing experience for me. Again I would like to thank the mentors and my intern colleges, and hope to continue to share my experience as a blog during the 6 months of internship.