java-sdk icon indicating copy to clipboard operation
java-sdk copied to clipboard

feat: add deduplication in java according to v2

Open Sarthak160 opened this issue 1 year ago • 0 comments

Related Issue

  • Info about Issue or bug

Closes: #[issue number that will be closed through this PR]

Describe the changes you've made

  • This PR also contains changes in Junit test file. Earlier there were lot of functions which can be hidden from the user. But now we have to call only one function inside the keploy test file -
import com.example.demo.SamplesJavaApplication;
import com.example.demo.controller.EmployeeController;
import com.example.demo.exception.ResourceNotFoundException;
import com.example.demo.model.Employee;
import com.example.demo.repository.EmployeeRepository;

import io.keploy.cli.KeployCLI;
import io.keploy.cli.KeployCLI.TestRunStatus;

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.springframework.http.ResponseEntity;
import org.junit.jupiter.api.Order;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.http.HttpClient;
import java.util.Arrays;

import java.util.List;
import java.util.Optional;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;

class SamplesJavaApplication_Test {
    
    @Test
    @Order(Integer.MAX_VALUE)
    public void testKeploy() throws IOException, InterruptedException {
        String jarPath = "target/springbootapp-0.0.1-SNAPSHOT.jar";
        String[] testSets = KeployCLI.FetchTestSets();

        if (testSets == null) {
            System.err.println("Test sets are null ");
            return;
        }

        System.out.println("TestSets: " + Arrays.asList(testSets));

        KeployCLI.runTestsAndCoverage(jarPath, testSets);
    }

}
  • Command use to run the tests along with coverage is -
sudo -E env PATH=$PATH enterprise test -c "mvn test"  --coverage --delay 20
  • After the successful build of mvn and if all keploy tests pass we can see the coverage report to be created at target/site folder . Here you can analyse through coverage reports present at target/site/e2e-ut-aggregate/index.html in the form of HTML .

Type of change

  • [ ] Bug fix (non-breaking change which fixes an issue)
  • [ ] New feature (non-breaking change which adds functionality)
  • [ ] Code style update (formatting, local variables)
  • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • [ ] This change requires a documentation update

How did you test your code changes?

Please describe the tests(if any). Provide instructions how its affecting the coverage.

Describe if there is any unusual behaviour of your code(Write NA if there isn't)

A clear and concise description of it.

Checklist:

  • [ ] My code follows the style guidelines of this project.
  • [ ] I have performed a self-review of my own code.
  • [ ] I have commented my code, particularly in hard-to-understand areas and used java doc.
  • [ ] I have made corresponding changes to the documentation.
  • [ ] My changes generate no new warnings.
  • [ ] I have added tests that prove my fix is effective or that my feature works.
  • [ ] New and existing unit tests pass locally with my changes.

Screenshots (if any)

Original Updated
original screenshot updated screenshot

Sarthak160 avatar Feb 01 '24 05:02 Sarthak160