From Fedora Project Wiki

Project Title : Unit Test SSSD

Contact Information

About Me

  • I am final year student currently pursuing my Bachelor's degree in Computer Science and Engineering from Amrita University, Amrita School of Engineering, Amritapuri, India.
  • I have a sound knowledge of C, C++, Python, Cmocka unit testing framwork. I have great passion for open source. I have been using open source software past four years. Later I got selected in Outreach Program for Women internship(Round 7) for Fedora project Unit test SSSD.
  • Out of my interest I did some open source contribution by fixing certain bugs in various organizations. To name some: Mozilla Firefox, Launchpad.net, Gnome and Fedora. The interest and continuous involvement helped me in getting selected as an OPW intern in Outreach Program for Womenfor round 7 in Fedora project unit test SSSD.


Why do you want to work with the Fedora Project?

I found it really appealing that Fedora provides a complete desktop operating system, including productivity applications, Internet utilities, and desktop tools. Playing around with user friendly GUI was fun. Recently I have worked on fedora:Unit Test SSSD project for twelve weeks. It was a great learning experience. I found my mentor Jakub Hrozek as well as complete fedora team to be really helpful and approachable. What I really liked was: fedora team is always ready to help you irrespective of your background knowledge, whether you are at zero level or have sound knowledge, they guide you with the same enthusiasm. The internship period helped me get familiar with many ways SSSD project works as well as gave me an opportunity to get in contact with many fedora folks. I found the a vibrant working environment in fedora community. I wish to continue the same and contribute more and more to the organization.

Do you have any past involvement with the Fedora project or another open source project as a contributor?

Yes, I have contributed to [1] project and some of my work can be found here [2].

Why should we choose you over other applicants?

I have sound knowledge of C, cmocka unit test framework and basic development skills (how to build a program) which is basic requirement of the project. Project Unit Test SSSD is an fair extension of OPW project I worked for fedora. As I have already worked on many basic modules of SSSD project I have better understanding of it and I am ready to work on more intricate modules with are a part currently proposed project Unit Test SSSD. Thus I believe this makes me a strong candidate for this project.

Did you participate with the past GSoC programs, if so which years, which organizations?

No.

Will you continue contributing/ supporting the Fedora project after the GSoC 2013 program, if yes, which team(s), you are interested with?

Yes, I wish to work with Fedora-SSSD team. I like the kind of work they have. It best suits my interest and knowledge. One factor could surely be my previous participation in SSSD project. I was working on Unit testing of SSSD which focused on the core SSSD features that are enabled in most of SSSD deployments. Thus this project will be my second contribution to fedora team and I wish to work for many more as well.

Will you have any other time commitments, such as school work, another job, planned vacation, etc., during the duration of the program?

My final year exam will get over near 15th of May 2014. I do not have commitments thereafter. As the internship period starts from June 19th I can devote my complete concentration to the project itself. I assure a commitment of at least 40-45 hours per week to the project.

Experience with any other FOSS projects

I started my contribution with launchpad.net where I learned how to use bazaar, creating ssh key, cloning, pushing, pulling and merging code to mail repository. Next, I worked with Mozilla Firefox organization. Resolving some of the initial bugs made me comfortable using various version control system. The process helped me to excel in various computer languages such as C++, C, Python, HTML, XML, Mallard. I had good experience in interacting with FOSS folks through IRC and mailing list. It was a good exposure for me. It has been really exciting and fun while coding, discussing and getting involved in the open source community. The feeling of being a part of organization has been my ever encouraging source.

Link to some of the contributions I made:

I am a member of AmFoss club of our college. There we enourage each other to participate in open source. We conduct seminars, lectures, coding events, trips and have our mailing list too. It is a very active and enthusiastic group.

OPW internship: Fedora-Unit Test SSSD

  • The unit testing framework focused on the core SSSD features that are enabled in most SSSD deployments.
  • The unit tests is to covered the two most important parts:
 1 retrieving user information.
 2 authenticating users.
  • This coverage would help raise confidence in SSSD, which is the central piece of modern enterprise authentication on Linux.

Links:

Abstract

Extend the test coverage of the SSSD so that code only reachable over the network is exercised as well. The result would be integrated to the SSSD source tree. Project will show how to create a fully isolated network environment for client and server testing on a single host, complete with synthetic account information, hostname resolution, and privilege separation.

Project Details


Deriverables

  • Script that would perform verification of the user that it can communicate with server even without network in an automated fashion.
  • Automate starting SSSD.
  • Enable the SSSD to be tested after being installed to a custom directory.
  • Enable SSSD to test access control for instance.

Timeline

Period Task
Estimate - 2 weeks Get familiar with the cwrap project using available documentation, tutorials and simple experiments.
Estimate - 3 weeks Set up an LDAP server, prefill the server with users and groups. Verify, that using socket_wrapper, the user can communicate with server even without network. Write a script that would perform the above in an automated fashion
Estimate - 2 weeks Using uid_wrapper, automate starting SSSD, which normally requires root privileges as a regular user.
Estimate - 4 weeks Using nss_wrapper, make it possible to test the nss_sss module without having to install the SSSD system-wide. Completing this task would enable the SSSD to be tested after being installed to a custom directory.
Estimate - 1 weeks Leverage nss_wrapper to connect to the LDAP server with a host name and provide a mocked host name for the client. This would enable us to test access control for instance. This is a stretch goal, not required to complete the project.