Quantcast
Channel: Backstage - Medium
Viewing all articles
Browse latest Browse all 103

Internship Journey With Goibibo

$
0
0

“The expert in anything was once a beginner”

Finally it’s the end of my 2 months internship with the best Tech Travel Aggregator brand — GoIbibo and I’m taking so many memories along that will be long lasted. The real value of college education comes when you apply what you learn and I got this perfect opportunity with GoIbibo.

I was the happiest when I received the intern confirmation E-mail and started brushing up my basics of python language I thought I’ll be working on for the next two months. But to my surprise python was just the center piece to the puzzle I had to complete in the coming months. I am grateful to my GoCash team members & the DevOps team who helped me and guided me throughout the project and special thanks to Phani Sir and Manasa Ma’am for mentoring me.

On the very first day I was late to the office thanks to Bangalore traffic and my anxiety levels rose with every passing minute. Finally, I reported at the office reception and my reporting HR Harshal Sir received me and introduced me to my team. At first I was nervous as I had a little performance pressure but it didn’t take me long to settle and I started enjoying my work. Our team had daily stand-ups for analyzing the work progress of every member and handling issues in our subjects of interest collectively.

The main work that I was assigned was to write the unit test cases for GoCash. During the unit testing itself I learnt about how and what response do we receive on hitting an API and used Postman application for the same. So, to validate the test cases we made a test database in the local itself and passed some input which was fed to the test database and every time when an API was hit, we asserted the API response with the test database.

I wrote two or more test cases for every API.

1. Successful Response: The appropriate input gave the positive response on hitting the API.

2. Internal server error: When either the user id or email id was missing from the input.

3. Invalid Request: Incorrect parameter passed as an input.

4. Cap restriction: When a fixed upper limit amount has been reached.

We dockerized the whole process by running the test in containers. We used Docker as a part of our process so that there remains no database dependency outside the test environment. So, what we did first was we built docker images for 2 containers through docker-compose file. First is the test container in which we will run the tests (gocash:latest) and the other is the database container (test_gocash_db) which will host the database for running the tests. A schema file was used to add all the create queries of all mandatory tables of GoCash.

For making this entire process efficient a docker-compose-test file was created which was configured in such a way to keep the testing container running and the database container can be created any number of times depending on the changes made to database . I also created a shell script which had all the commands for docker running automatically.I used pytest for testing as its more compact and clearer.

Sequence in which test cases were executed in docker:

  1. Create the docker images.
  2. Build the docker containers for the desired docker images.
  3. Enter the testing container and run the test cases using pytest.
  4. Remove the containers.

The second piece of work I worked on was GIT Hooks. GIT hooks are scripts that GIT executes before or after events such as: commit, push, and receive. My main motive was to build a .pre-commit-config.yaml including all the pre-commit hooks which I was asked to include so that no modified file can be committed containing errors to the remote repository.

Also I created a commit-msg hook which kept note that no file can be committed without JIRA issue key.

Summing up everything I’d like to thank the entire GoIbibo family , my GoCash team — Phani Sir , Abhirama Sir , Manasa ma’am ,Tushar sir and everyone . I had the best time here, learnt a lot and enjoyed a lot as well . And how can I stop myself from mentioning the GO-MMT Town Hall Meet (THM) where the Tech Talks were really informative and danced my heart out on the DJ later that day . These two months were the most memorable ones of my life and if given a chance to join back again I won’t think twice before rejoining the GO-MMT family.

Thank you GO-MMT : D


Internship Journey With Goibibo was originally published in Backstage on Medium, where people are continuing the conversation by highlighting and responding to this story.


Viewing all articles
Browse latest Browse all 103

Trending Articles