Register
Submit a solution
The challenge is finished.

Challenge Overview

 

CHALLENGE OBJECTIVES

  • Write unit  tests for the SMS, Email and OTP microservices

 

TECHNOLOGY STACK

  • Java 11

  • Spring 5.2.8

  • Spring Boot 2.3.3

  • Spring Security 5.3.5

  • Spring GCP Cloud

  • Istio (Discovery Service)

  • APIGEE

  • Log4j/Slf4j

  • JSON (gzipped)

  • REST

  • Microservices

  • Docker

  • Kubernetes

  • Open Api Spec 3.0

  • SMTP

  • MySQL 8.0

  • JUnit

  • JPA

 

REQUIREMENTS

The provided code contains the following 4 projects:

  • A common library

  • The SMS microservice

  • The Email microservice

  • The OTP microservice

 

The purpose of this challenge is to add unit tests for these projects.

 

The following requirements are to be implemented:

  • Provide unit tests for each of the projects listed above.

  • Licenses to be followed in development:

    • Apache License 2.0

    • MIT License

    • Common Development and Distribution License

    • Eclipse Public License version 2.0

  • The same coding standards in the existing code must be followed, there should be no errors when run the code check with the maven command

  • Unit tests should not affect any existing functionality

  • In each project there needs to be a new command to run the unit tests and generate coverage report, similar to the one we have for code style check

  • We are aiming for at least 80% coverage. This is considered a major requirement in the scorecard since unit testing is all this challenge is about



Final Submission Guidelines

FINAL DELIVERABLES

  • Full code that covers all the requirements, including unit tests.

  • A detailed README file including information on how to configure, run, and verify your application.

  • Maven script(s) that at least cover the following:

    • Run the services locally

    • Build each project into separate packages that can be deployed independently

    • Build each project into separate docker images

    • Run unit tests and generate the coverage report

    • Generate a sitemap for the project using Maven Site Plugin (mvn site)

  • Postman collection file to properly test the API (covering positive and negative cases).

ELIGIBLE EVENTS:

2021 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30144407